aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.gitignore1
-rw-r--r--.htaccess1
-rw-r--r--README.md4
-rw-r--r--assets/diamondlattice.pngbin0 -> 534585 bytes
-rw-r--r--assets/home.html206
-rw-r--r--assets/logo_antiprism.pngbin0 -> 62321 bytes
-rw-r--r--assets/narrow.css218
-rw-r--r--assets/redmatrixlogo.pngbin0 -> 105403 bytes
-rw-r--r--assets/wide.css396
-rwxr-xr-xboot.php90
-rw-r--r--doc/Cloud.md36
-rw-r--r--doc/External-Resources.md26
-rw-r--r--doc/Home.md4
-rw-r--r--doc/Install.md4
-rw-r--r--doc/Tags-and-Mentions.md12
-rw-r--r--doc/TermsOfService.md4
-rw-r--r--doc/To-Do-Code.md24
-rw-r--r--doc/Translations.md6
-rw-r--r--doc/bbcode.html68
-rw-r--r--doc/html/Contact_8php.html8
-rw-r--r--doc/html/achievements_8php.html137
-rw-r--r--doc/html/achievements_8php.js4
-rw-r--r--doc/html/acl__selectors_8php.html4
-rw-r--r--doc/html/annotated.html6
-rw-r--r--doc/html/annotated.js2
-rw-r--r--doc/html/apw_2php_2style_8php.html2
-rw-r--r--doc/html/bbcode_8php.html74
-rw-r--r--doc/html/bbcode_8php.js6
-rw-r--r--doc/html/boot_8php.html255
-rw-r--r--doc/html/boot_8php.js7
-rw-r--r--doc/html/channel_8php.html18
-rw-r--r--doc/html/channel_8php.js1
-rw-r--r--doc/html/classApp-members.html101
-rw-r--r--doc/html/classApp.html14
-rw-r--r--doc/html/classApp.js1
-rw-r--r--doc/html/classItem-members.html1
-rw-r--r--doc/html/classItem.html26
-rw-r--r--doc/html/classItem.js1
-rw-r--r--doc/html/classRedBasicAuth-members.html10
-rw-r--r--doc/html/classRedBasicAuth.html161
-rw-r--r--doc/html/classRedBasicAuth.js12
-rw-r--r--doc/html/classRedBrowser-members.html122
-rw-r--r--doc/html/classRedBrowser.html244
-rw-r--r--doc/html/classRedBrowser.js8
-rw-r--r--doc/html/classRedBrowser.pngbin0 -> 418 bytes
-rw-r--r--doc/html/classRedDirectory-members.html14
-rw-r--r--doc/html/classRedDirectory.html144
-rw-r--r--doc/html/classRedDirectory.js14
-rw-r--r--doc/html/classRedDirectory.pngbin615 -> 773 bytes
-rw-r--r--doc/html/classRedFile-members.html20
-rw-r--r--doc/html/classRedFile.html143
-rw-r--r--doc/html/classRedFile.js10
-rw-r--r--doc/html/classes.html6
-rw-r--r--doc/html/cloud_8php.html18
-rw-r--r--doc/html/cloud_8php.js3
-rw-r--r--doc/html/comanche_8php.html2
-rw-r--r--doc/html/common_8php.html18
-rw-r--r--doc/html/common_8php.js1
-rw-r--r--doc/html/connections_8php.html20
-rw-r--r--doc/html/connections_8php.js1
-rw-r--r--doc/html/connedit_8php.html193
-rw-r--r--doc/html/connedit_8php.js7
-rw-r--r--doc/html/contact__selectors_8php.html4
-rw-r--r--doc/html/contact__widgets_8php.html27
-rw-r--r--doc/html/contact__widgets_8php.js3
-rw-r--r--doc/html/conversation_8php.html10
-rw-r--r--doc/html/crypto_8php.html6
-rw-r--r--doc/html/datetime_8php.html6
-rw-r--r--doc/html/dba__driver_8php.html6
-rw-r--r--doc/html/dir_817f6d302394b98e59575acdb59998bc.html4
-rw-r--r--doc/html/dir_817f6d302394b98e59575acdb59998bc.js2
-rw-r--r--doc/html/dir__fns_8php.html6
-rw-r--r--doc/html/dir_d41ce877eb409a4791b288730010abe2.html28
-rw-r--r--doc/html/dir_d41ce877eb409a4791b288730010abe2.js16
-rw-r--r--doc/html/dir_d44c64559bbebec7f509842c48db8b23.js6
-rw-r--r--doc/html/dirprofile_8php.html137
-rw-r--r--doc/html/dirprofile_8php.js4
-rw-r--r--doc/html/extract_8php.html6
-rw-r--r--doc/html/features_8php.html2
-rw-r--r--doc/html/files.html172
-rw-r--r--doc/html/filestorage_8php.html18
-rw-r--r--doc/html/filestorage_8php.js3
-rw-r--r--doc/html/full_8php.html4
-rw-r--r--doc/html/functions.html47
-rw-r--r--doc/html/functions_0x5f.html6
-rw-r--r--doc/html/functions_0x64.html2
-rw-r--r--doc/html/functions_0x67.html21
-rw-r--r--doc/html/functions_0x68.html3
-rw-r--r--doc/html/functions_0x73.html18
-rw-r--r--doc/html/functions_func.html6
-rw-r--r--doc/html/functions_func_0x64.html2
-rw-r--r--doc/html/functions_func_0x67.html21
-rw-r--r--doc/html/functions_func_0x68.html3
-rw-r--r--doc/html/functions_func_0x73.html18
-rw-r--r--doc/html/functions_vars.html47
-rw-r--r--doc/html/globals_0x61.html15
-rw-r--r--doc/html/globals_0x62.html11
-rw-r--r--doc/html/globals_0x63.html39
-rw-r--r--doc/html/globals_0x64.html6
-rw-r--r--doc/html/globals_0x66.html6
-rw-r--r--doc/html/globals_0x67.html19
-rw-r--r--doc/html/globals_0x68.html20
-rw-r--r--doc/html/globals_0x69.html20
-rw-r--r--doc/html/globals_0x6c.html9
-rw-r--r--doc/html/globals_0x6d.html18
-rw-r--r--doc/html/globals_0x6e.html3
-rw-r--r--doc/html/globals_0x6f.html2
-rw-r--r--doc/html/globals_0x70.html20
-rw-r--r--doc/html/globals_0x71.html3
-rw-r--r--doc/html/globals_0x72.html10
-rw-r--r--doc/html/globals_0x73.html25
-rw-r--r--doc/html/globals_0x74.html8
-rw-r--r--doc/html/globals_0x75.html3
-rw-r--r--doc/html/globals_0x76.html3
-rw-r--r--doc/html/globals_0x77.html63
-rw-r--r--doc/html/globals_0x78.html9
-rw-r--r--doc/html/globals_func_0x61.html12
-rw-r--r--doc/html/globals_func_0x62.html11
-rw-r--r--doc/html/globals_func_0x63.html39
-rw-r--r--doc/html/globals_func_0x64.html6
-rw-r--r--doc/html/globals_func_0x66.html6
-rw-r--r--doc/html/globals_func_0x67.html19
-rw-r--r--doc/html/globals_func_0x68.html20
-rw-r--r--doc/html/globals_func_0x69.html17
-rw-r--r--doc/html/globals_func_0x6c.html9
-rw-r--r--doc/html/globals_func_0x6d.html14
-rw-r--r--doc/html/globals_func_0x6e.html3
-rw-r--r--doc/html/globals_func_0x6f.html2
-rw-r--r--doc/html/globals_func_0x70.html15
-rw-r--r--doc/html/globals_func_0x71.html3
-rw-r--r--doc/html/globals_func_0x72.html10
-rw-r--r--doc/html/globals_func_0x73.html25
-rw-r--r--doc/html/globals_func_0x74.html8
-rw-r--r--doc/html/globals_func_0x75.html3
-rw-r--r--doc/html/globals_func_0x76.html3
-rw-r--r--doc/html/globals_func_0x77.html63
-rw-r--r--doc/html/globals_func_0x78.html3
-rw-r--r--doc/html/globals_vars_0x61.html3
-rw-r--r--doc/html/globals_vars_0x69.html3
-rw-r--r--doc/html/globals_vars_0x6d.html6
-rw-r--r--doc/html/globals_vars_0x70.html5
-rw-r--r--doc/html/globals_vars_0x78.html6
-rw-r--r--doc/html/hierarchy.html14
-rw-r--r--doc/html/hierarchy.js7
-rw-r--r--doc/html/home_8php.html43
-rw-r--r--doc/html/home_8php.js5
-rw-r--r--doc/html/identity_8php.html148
-rw-r--r--doc/html/identity_8php.js6
-rw-r--r--doc/html/include_2attach_8php.html144
-rw-r--r--doc/html/include_2attach_8php.js4
-rw-r--r--doc/html/include_2config_8php.html8
-rw-r--r--doc/html/include_2group_8php.html26
-rw-r--r--doc/html/include_2group_8php.js2
-rw-r--r--doc/html/include_2menu_8php.html36
-rw-r--r--doc/html/include_2menu_8php.js1
-rw-r--r--doc/html/include_2message_8php.html8
-rw-r--r--doc/html/include_2network_8php.html8
-rw-r--r--doc/html/include_2photos_8php.html4
-rw-r--r--doc/html/item_8php.html12
-rw-r--r--doc/html/item_8php.js2
-rw-r--r--doc/html/items_8php.html72
-rw-r--r--doc/html/items_8php.js1
-rw-r--r--doc/html/language_8php.html2
-rw-r--r--doc/html/mail_8php.html155
-rw-r--r--doc/html/mail_8php.js5
-rw-r--r--doc/html/minimalisticdarkness_8php.html2
-rw-r--r--doc/html/mod_2directory_8php.html18
-rw-r--r--doc/html/mod_2directory_8php.js1
-rw-r--r--doc/html/mod_2group_8php.html18
-rw-r--r--doc/html/mod_2group_8php.js1
-rw-r--r--doc/html/mod_2message_8php.html45
-rw-r--r--doc/html/mod_2message_8php.js4
-rw-r--r--doc/html/mod_2network_8php.html20
-rw-r--r--doc/html/mod_2network_8php.js3
-rw-r--r--doc/html/nav_8php.html2
-rw-r--r--doc/html/navtree.js16
-rw-r--r--doc/html/navtreeindex0.js306
-rw-r--r--doc/html/navtreeindex1.js248
-rw-r--r--doc/html/navtreeindex2.js156
-rw-r--r--doc/html/navtreeindex3.js142
-rw-r--r--doc/html/navtreeindex4.js144
-rw-r--r--doc/html/navtreeindex5.js218
-rw-r--r--doc/html/navtreeindex6.js218
-rw-r--r--doc/html/navtreeindex7.js230
-rw-r--r--doc/html/navtreeindex8.js53
-rw-r--r--doc/html/notes_8php.html137
-rw-r--r--doc/html/notes_8php.js4
-rw-r--r--doc/html/permissions_8php.html6
-rw-r--r--doc/html/photo__driver_8php.html20
-rw-r--r--doc/html/photo__driver_8php.js2
-rw-r--r--doc/html/php2po_8php.html4
-rw-r--r--doc/html/php_2default_8php.html4
-rw-r--r--doc/html/php_2theme__init_8php.html2
-rw-r--r--doc/html/plugin_8php.html73
-rw-r--r--doc/html/plugin_8php.js3
-rw-r--r--doc/html/post_8php.html2
-rw-r--r--doc/html/profile_8php.html18
-rw-r--r--doc/html/profile_8php.js1
-rw-r--r--doc/html/profile__photo_8php.html18
-rw-r--r--doc/html/profile__photo_8php.js1
-rw-r--r--doc/html/profiles_8php.html18
-rw-r--r--doc/html/profiles_8php.js1
-rw-r--r--doc/html/profperm_8php.html18
-rw-r--r--doc/html/profperm_8php.js1
-rw-r--r--doc/html/pubsites_8php.html2
-rw-r--r--doc/html/reddav_8php.html99
-rw-r--r--doc/html/reddav_8php.js10
-rw-r--r--doc/html/search/all_24.js22
-rw-r--r--doc/html/search/all_5f.js2
-rw-r--r--doc/html/search/all_61.js9
-rw-r--r--doc/html/search/all_62.js3
-rw-r--r--doc/html/search/all_63.js17
-rw-r--r--doc/html/search/all_64.js5
-rw-r--r--doc/html/search/all_66.js2
-rw-r--r--doc/html/search/all_67.js16
-rw-r--r--doc/html/search/all_68.js10
-rw-r--r--doc/html/search/all_69.js9
-rw-r--r--doc/html/search/all_6c.js4
-rw-r--r--doc/html/search/all_6d.js13
-rw-r--r--doc/html/search/all_6e.js4
-rw-r--r--doc/html/search/all_6f.js2
-rw-r--r--doc/html/search/all_70.js8
-rw-r--r--doc/html/search/all_71.js2
-rw-r--r--doc/html/search/all_72.js7
-rw-r--r--doc/html/search/all_73.js18
-rw-r--r--doc/html/search/all_74.js2
-rw-r--r--doc/html/search/all_75.js1
-rw-r--r--doc/html/search/all_76.js1
-rw-r--r--doc/html/search/all_77.js21
-rw-r--r--doc/html/search/all_78.js6
-rw-r--r--doc/html/search/classes_72.js4
-rw-r--r--doc/html/search/files_61.js4
-rw-r--r--doc/html/search/files_63.js2
-rw-r--r--doc/html/search/files_64.js1
-rw-r--r--doc/html/search/files_68.js1
-rw-r--r--doc/html/search/files_69.js1
-rw-r--r--doc/html/search/files_6c.js1
-rw-r--r--doc/html/search/files_6d.js5
-rw-r--r--doc/html/search/files_6e.js1
-rw-r--r--doc/html/search/files_71.js1
-rw-r--r--doc/html/search/files_72.js1
-rw-r--r--doc/html/search/files_73.js1
-rw-r--r--doc/html/search/files_78.js3
-rw-r--r--doc/html/search/functions_5f.js2
-rw-r--r--doc/html/search/functions_61.js4
-rw-r--r--doc/html/search/functions_62.js3
-rw-r--r--doc/html/search/functions_63.js15
-rw-r--r--doc/html/search/functions_64.js4
-rw-r--r--doc/html/search/functions_66.js2
-rw-r--r--doc/html/search/functions_67.js16
-rw-r--r--doc/html/search/functions_68.js9
-rw-r--r--doc/html/search/functions_69.js7
-rw-r--r--doc/html/search/functions_6c.js3
-rw-r--r--doc/html/search/functions_6d.js6
-rw-r--r--doc/html/search/functions_6e.js1
-rw-r--r--doc/html/search/functions_6f.js2
-rw-r--r--doc/html/search/functions_70.js5
-rw-r--r--doc/html/search/functions_71.js1
-rw-r--r--doc/html/search/functions_72.js4
-rw-r--r--doc/html/search/functions_73.js15
-rw-r--r--doc/html/search/functions_74.js2
-rw-r--r--doc/html/search/functions_75.js1
-rw-r--r--doc/html/search/functions_76.js1
-rw-r--r--doc/html/search/functions_77.js21
-rw-r--r--doc/html/search/functions_78.js3
-rw-r--r--doc/html/search/variables_24.js22
-rw-r--r--doc/html/search/variables_61.js1
-rw-r--r--doc/html/search/variables_69.js1
-rw-r--r--doc/html/search/variables_6d.js4
-rw-r--r--doc/html/search/variables_70.js3
-rw-r--r--doc/html/search/variables_78.js4
-rw-r--r--doc/html/search_8php.html37
-rw-r--r--doc/html/search_8php.js4
-rw-r--r--doc/html/security_8php.html6
-rw-r--r--doc/html/settings_8php.html18
-rw-r--r--doc/html/settings_8php.js1
-rw-r--r--doc/html/setup_8php.html22
-rw-r--r--doc/html/setup_8php.js1
-rw-r--r--doc/html/socgraph_8php.html4
-rw-r--r--doc/html/sslify_8php.html137
-rw-r--r--doc/html/sslify_8php.js4
-rw-r--r--doc/html/suggest_8php.html18
-rw-r--r--doc/html/suggest_8php.js1
-rw-r--r--doc/html/taxonomy_8php.html47
-rw-r--r--doc/html/taxonomy_8php.js3
-rw-r--r--doc/html/text_8php.html136
-rw-r--r--doc/html/text_8php.js4
-rw-r--r--doc/html/typo_8php.html2
-rw-r--r--doc/html/viewconnections_8php.html18
-rw-r--r--doc/html/viewconnections_8php.js1
-rw-r--r--doc/html/widgets_8php.html379
-rw-r--r--doc/html/widgets_8php.js23
-rw-r--r--doc/html/xref_8php.html137
-rw-r--r--doc/html/xref_8php.js4
-rw-r--r--doc/html/zfinger_8php.html2
-rw-r--r--doc/html/zot_8php.html8
-rw-r--r--doc/install/sample-lighttpd.conf2
-rw-r--r--doc/install/sample-nginx.conf8
-rw-r--r--images/default_profile_photos/blank/175.jpgbin0 -> 910 bytes
-rw-r--r--images/default_profile_photos/blank/48.jpgbin0 -> 566 bytes
-rw-r--r--images/default_profile_photos/blank/80.jpgbin0 -> 614 bytes
-rw-r--r--images/default_profile_photos/red_koala/175.jpgbin0 -> 22969 bytes
-rw-r--r--images/default_profile_photos/red_koala/48.jpgbin0 -> 4856 bytes
-rw-r--r--images/default_profile_photos/red_koala/80.jpgbin0 -> 9105 bytes
-rw-r--r--include/Contact.php19
-rw-r--r--include/ItemObject.php9
-rw-r--r--include/account.php5
-rw-r--r--include/acl_selectors.php2
-rw-r--r--include/activities.php2
-rw-r--r--include/api.php58
-rw-r--r--include/attach.php220
-rw-r--r--include/auth.php17
-rw-r--r--include/bbcode.php94
-rw-r--r--include/chat.php148
-rw-r--r--include/contact_widgets.php3
-rw-r--r--include/conversation.php75
-rw-r--r--include/crypto.php4
-rw-r--r--include/deliver.php1
-rw-r--r--include/dir_fns.php11
-rw-r--r--include/enotify.php13
-rw-r--r--include/event.php22
-rw-r--r--include/features.php11
-rw-r--r--include/group.php28
-rw-r--r--include/identity.php186
-rwxr-xr-xinclude/items.php211
-rw-r--r--include/menu.php39
-rw-r--r--include/nav.php4
-rw-r--r--include/network.php4
-rw-r--r--include/notifier.php24
-rwxr-xr-xinclude/oembed.php31
-rw-r--r--include/photo/photo_driver.php56
-rw-r--r--include/photos.php37
-rwxr-xr-xinclude/plugin.php42
-rw-r--r--include/reddav.php1015
-rw-r--r--include/security.php94
-rw-r--r--include/session.php9
-rw-r--r--include/taxonomy.php95
-rwxr-xr-xinclude/text.php67
-rw-r--r--include/widgets.php290
-rw-r--r--include/zot.php60
-rwxr-xr-xindex.php8
-rw-r--r--install/INSTALL.txt4
-rw-r--r--install/database.sql90
-rwxr-xr-xinstall/htconfig.sample.php2
-rw-r--r--install/update.php143
-rwxr-xr-xlibrary/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css174
-rwxr-xr-xlibrary/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css8
-rwxr-xr-xlibrary/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js28
-rw-r--r--library/bootstrap-datetimepicker/js/moment.js7063
-rw-r--r--library/bootstrap/css/bootstrap.min.css2
-rw-r--r--library/jqupload/.gitignore3
-rw-r--r--library/jqupload/.jshintrc81
-rw-r--r--library/jqupload/CONTRIBUTING.md42
-rw-r--r--library/jqupload/Gruntfile.js37
-rw-r--r--library/jqupload/README.md123
-rw-r--r--library/jqupload/angularjs.html211
-rw-r--r--library/jqupload/basic-plus.html226
-rw-r--r--library/jqupload/basic.html136
-rw-r--r--library/jqupload/blueimp-file-upload.jquery.json50
-rw-r--r--library/jqupload/bower.json85
-rw-r--r--library/jqupload/cors/postmessage.html75
-rw-r--r--library/jqupload/cors/result.html24
-rw-r--r--library/jqupload/css/demo-ie8.css21
-rw-r--r--library/jqupload/css/demo.css67
-rw-r--r--library/jqupload/css/jquery.fileupload-noscript.css22
-rw-r--r--library/jqupload/css/jquery.fileupload-ui-noscript.css17
-rw-r--r--library/jqupload/css/jquery.fileupload-ui.css57
-rw-r--r--library/jqupload/css/jquery.fileupload.css36
-rw-r--r--library/jqupload/css/style.css15
-rw-r--r--library/jqupload/img/loading.gifbin0 -> 3897 bytes
-rw-r--r--library/jqupload/img/progressbar.gifbin0 -> 3323 bytes
-rw-r--r--library/jqupload/index.html255
-rw-r--r--library/jqupload/jquery-ui.html250
-rw-r--r--library/jqupload/js/app.js101
-rw-r--r--library/jqupload/js/cors/jquery.postmessage-transport.js117
-rw-r--r--library/jqupload/js/cors/jquery.xdr-transport.js86
-rw-r--r--library/jqupload/js/jquery.fileupload-angular.js428
-rw-r--r--library/jqupload/js/jquery.fileupload-audio.js106
-rw-r--r--library/jqupload/js/jquery.fileupload-image.js309
-rwxr-xr-xlibrary/jqupload/js/jquery.fileupload-jquery-ui.js144
-rw-r--r--library/jqupload/js/jquery.fileupload-process.js172
-rw-r--r--library/jqupload/js/jquery.fileupload-ui.js701
-rw-r--r--library/jqupload/js/jquery.fileupload-validate.js119
-rw-r--r--library/jqupload/js/jquery.fileupload-video.js106
-rw-r--r--library/jqupload/js/jquery.fileupload.js1420
-rw-r--r--library/jqupload/js/jquery.iframe-transport.js214
-rw-r--r--library/jqupload/js/main.js75
-rw-r--r--library/jqupload/js/vendor/jquery.ui.widget.js530
-rw-r--r--library/jqupload/package.json54
-rw-r--r--library/jqupload/server/gae-go/app.yaml12
-rw-r--r--library/jqupload/server/gae-go/app/main.go296
-rw-r--r--library/jqupload/server/gae-go/static/robots.txt2
-rw-r--r--library/jqupload/server/gae-python/app.yaml16
-rw-r--r--library/jqupload/server/gae-python/main.py170
-rw-r--r--library/jqupload/server/gae-python/static/robots.txt2
-rw-r--r--library/jqupload/server/node/.gitignore2
-rw-r--r--library/jqupload/server/node/package.json41
-rw-r--r--library/jqupload/server/node/public/files/.gitignore2
-rwxr-xr-xlibrary/jqupload/server/node/server.js292
-rw-r--r--library/jqupload/server/node/tmp/.gitignore0
-rw-r--r--library/jqupload/server/php/UploadHandler.php1329
-rw-r--r--library/jqupload/server/php/files/.gitignore3
-rw-r--r--library/jqupload/server/php/files/.htaccess18
-rw-r--r--library/jqupload/server/php/index.php19
-rw-r--r--library/jqupload/test/index.html166
-rw-r--r--library/jqupload/test/test.js1288
-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.pngbin0 -> 126 bytes
-rw-r--r--library/phpqrcode/cache/frame_10.datbin0 -> 204 bytes
-rw-r--r--library/phpqrcode/cache/frame_10.pngbin0 -> 202 bytes
-rw-r--r--library/phpqrcode/cache/frame_11.datbin0 -> 210 bytes
-rw-r--r--library/phpqrcode/cache/frame_11.pngbin0 -> 205 bytes
-rw-r--r--library/phpqrcode/cache/frame_12.datbin0 -> 222 bytes
-rw-r--r--library/phpqrcode/cache/frame_12.pngbin0 -> 216 bytes
-rw-r--r--library/phpqrcode/cache/frame_13.datbin0 -> 223 bytes
-rw-r--r--library/phpqrcode/cache/frame_13.pngbin0 -> 210 bytes
-rw-r--r--library/phpqrcode/cache/frame_14.datbin0 -> 227 bytes
-rw-r--r--library/phpqrcode/cache/frame_14.pngbin0 -> 213 bytes
-rw-r--r--library/phpqrcode/cache/frame_15.datbin0 -> 242 bytes
-rw-r--r--library/phpqrcode/cache/frame_15.pngbin0 -> 219 bytes
-rw-r--r--library/phpqrcode/cache/frame_16.dat1
-rw-r--r--library/phpqrcode/cache/frame_16.pngbin0 -> 211 bytes
-rw-r--r--library/phpqrcode/cache/frame_17.datbin0 -> 237 bytes
-rw-r--r--library/phpqrcode/cache/frame_17.pngbin0 -> 211 bytes
-rw-r--r--library/phpqrcode/cache/frame_18.dat2
-rw-r--r--library/phpqrcode/cache/frame_18.pngbin0 -> 228 bytes
-rw-r--r--library/phpqrcode/cache/frame_19.dat3
-rw-r--r--library/phpqrcode/cache/frame_19.pngbin0 -> 225 bytes
-rw-r--r--library/phpqrcode/cache/frame_2.dat1
-rw-r--r--library/phpqrcode/cache/frame_2.pngbin0 -> 144 bytes
-rw-r--r--library/phpqrcode/cache/frame_20.datbin0 -> 250 bytes
-rw-r--r--library/phpqrcode/cache/frame_20.pngbin0 -> 225 bytes
-rw-r--r--library/phpqrcode/cache/frame_21.dat1
-rw-r--r--library/phpqrcode/cache/frame_21.pngbin0 -> 235 bytes
-rw-r--r--library/phpqrcode/cache/frame_22.dat3
-rw-r--r--library/phpqrcode/cache/frame_22.pngbin0 -> 226 bytes
-rw-r--r--library/phpqrcode/cache/frame_23.dat3
-rw-r--r--library/phpqrcode/cache/frame_23.pngbin0 -> 220 bytes
-rw-r--r--library/phpqrcode/cache/frame_24.dat1
-rw-r--r--library/phpqrcode/cache/frame_24.pngbin0 -> 242 bytes
-rw-r--r--library/phpqrcode/cache/frame_25.dat3
-rw-r--r--library/phpqrcode/cache/frame_25.pngbin0 -> 242 bytes
-rw-r--r--library/phpqrcode/cache/frame_26.dat2
-rw-r--r--library/phpqrcode/cache/frame_26.pngbin0 -> 244 bytes
-rw-r--r--library/phpqrcode/cache/frame_27.datbin0 -> 284 bytes
-rw-r--r--library/phpqrcode/cache/frame_27.pngbin0 -> 237 bytes
-rw-r--r--library/phpqrcode/cache/frame_28.datbin0 -> 318 bytes
-rw-r--r--library/phpqrcode/cache/frame_28.pngbin0 -> 234 bytes
-rw-r--r--library/phpqrcode/cache/frame_29.dat2
-rw-r--r--library/phpqrcode/cache/frame_29.pngbin0 -> 232 bytes
-rw-r--r--library/phpqrcode/cache/frame_3.dat1
-rw-r--r--library/phpqrcode/cache/frame_3.pngbin0 -> 147 bytes
-rw-r--r--library/phpqrcode/cache/frame_30.datbin0 -> 324 bytes
-rw-r--r--library/phpqrcode/cache/frame_30.pngbin0 -> 255 bytes
-rw-r--r--library/phpqrcode/cache/frame_31.dat1
-rw-r--r--library/phpqrcode/cache/frame_31.pngbin0 -> 260 bytes
-rw-r--r--library/phpqrcode/cache/frame_32.dat2
-rw-r--r--library/phpqrcode/cache/frame_32.pngbin0 -> 262 bytes
-rw-r--r--library/phpqrcode/cache/frame_33.dat14
-rw-r--r--library/phpqrcode/cache/frame_33.pngbin0 -> 253 bytes
-rw-r--r--library/phpqrcode/cache/frame_34.datbin0 -> 331 bytes
-rw-r--r--library/phpqrcode/cache/frame_34.pngbin0 -> 256 bytes
-rw-r--r--library/phpqrcode/cache/frame_35.datbin0 -> 342 bytes
-rw-r--r--library/phpqrcode/cache/frame_35.pngbin0 -> 243 bytes
-rw-r--r--library/phpqrcode/cache/frame_36.datbin0 -> 370 bytes
-rw-r--r--library/phpqrcode/cache/frame_36.pngbin0 -> 272 bytes
-rw-r--r--library/phpqrcode/cache/frame_37.datbin0 -> 376 bytes
-rw-r--r--library/phpqrcode/cache/frame_37.pngbin0 -> 279 bytes
-rw-r--r--library/phpqrcode/cache/frame_38.dat1
-rw-r--r--library/phpqrcode/cache/frame_38.pngbin0 -> 279 bytes
-rw-r--r--library/phpqrcode/cache/frame_39.datbin0 -> 404 bytes
-rw-r--r--library/phpqrcode/cache/frame_39.pngbin0 -> 264 bytes
-rw-r--r--library/phpqrcode/cache/frame_4.dat1
-rw-r--r--library/phpqrcode/cache/frame_4.pngbin0 -> 149 bytes
-rw-r--r--library/phpqrcode/cache/frame_40.dat2
-rw-r--r--library/phpqrcode/cache/frame_40.pngbin0 -> 267 bytes
-rw-r--r--library/phpqrcode/cache/frame_5.dat1
-rw-r--r--library/phpqrcode/cache/frame_5.pngbin0 -> 150 bytes
-rw-r--r--library/phpqrcode/cache/frame_6.datbin0 -> 132 bytes
-rw-r--r--library/phpqrcode/cache/frame_6.pngbin0 -> 151 bytes
-rw-r--r--library/phpqrcode/cache/frame_7.datbin0 -> 196 bytes
-rw-r--r--library/phpqrcode/cache/frame_7.pngbin0 -> 189 bytes
-rw-r--r--library/phpqrcode/cache/frame_8.datbin0 -> 201 bytes
-rw-r--r--library/phpqrcode/cache/frame_8.pngbin0 -> 204 bytes
-rw-r--r--library/phpqrcode/cache/frame_9.datbin0 -> 206 bytes
-rw-r--r--library/phpqrcode/cache/frame_9.pngbin0 -> 199 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_101_0.datbin0 -> 157 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_105_0.datbin0 -> 162 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.datbin0 -> 241 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.datbin0 -> 48 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_25_0.datbin0 -> 57 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_29_0.datbin0 -> 59 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_33_0.datbin0 -> 62 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_37_0.datbin0 -> 65 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_41_0.datbin0 -> 68 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_45_0.datbin0 -> 106 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.datbin0 -> 119 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_65_0.datbin0 -> 123 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.datbin0 -> 150 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.datbin0 -> 164 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.datbin0 -> 42 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_25_1.datbin0 -> 48 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_29_1.datbin0 -> 50 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_33_1.datbin0 -> 53 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_37_1.datbin0 -> 56 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_41_1.datbin0 -> 58 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_45_1.datbin0 -> 82 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_49_1.datbin0 -> 84 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_53_1.datbin0 -> 87 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_57_1.datbin0 -> 92 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_61_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_65_1.datbin0 -> 99 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_69_1.datbin0 -> 102 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_73_1.datbin0 -> 104 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_77_1.datbin0 -> 110 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_81_1.datbin0 -> 114 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.datbin0 -> 127 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.datbin0 -> 190 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_165_2.dat2
-rw-r--r--library/phpqrcode/cache/mask_2/mask_169_2.datbin0 -> 196 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.datbin0 -> 35 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_25_2.datbin0 -> 41 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_29_2.datbin0 -> 45 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_33_2.datbin0 -> 47 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_37_2.datbin0 -> 47 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_41_2.dat1
-rw-r--r--library/phpqrcode/cache/mask_2/mask_45_2.datbin0 -> 68 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_49_2.datbin0 -> 70 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_53_2.datbin0 -> 73 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_57_2.datbin0 -> 76 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_61_2.datbin0 -> 78 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_65_2.datbin0 -> 89 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_69_2.datbin0 -> 88 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_73_2.datbin0 -> 94 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.datbin0 -> 103 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.datbin0 -> 212 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.datbin0 -> 216 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.datbin0 -> 248 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.datbin0 -> 312 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_21_3.datbin0 -> 60 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_25_3.datbin0 -> 75 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_29_3.datbin0 -> 75 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_33_3.datbin0 -> 79 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_37_3.datbin0 -> 83 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_41_3.datbin0 -> 85 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_45_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_49_3.datbin0 -> 127 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_53_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_57_3.datbin0 -> 126 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.datbin0 -> 160 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.datbin0 -> 175 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.datbin0 -> 182 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.datbin0 -> 208 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_125_4.datbin0 -> 213 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_129_4.datbin0 -> 220 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_133_4.dat3
-rw-r--r--library/phpqrcode/cache/mask_4/mask_137_4.datbin0 -> 248 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_141_4.datbin0 -> 254 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_145_4.datbin0 -> 255 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.datbin0 -> 297 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.datbin0 -> 57 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_25_4.datbin0 -> 76 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_29_4.datbin0 -> 78 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_33_4.datbin0 -> 89 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_37_4.datbin0 -> 86 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_41_4.datbin0 -> 89 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_45_4.datbin0 -> 120 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_49_4.datbin0 -> 124 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_53_4.datbin0 -> 128 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_57_4.datbin0 -> 130 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_61_4.datbin0 -> 132 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.datbin0 -> 154 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.datbin0 -> 176 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_101_5.dat2
-rw-r--r--library/phpqrcode/cache/mask_5/mask_105_5.datbin0 -> 224 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_109_5.datbin0 -> 211 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.datbin0 -> 256 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_125_5.dat2
-rw-r--r--library/phpqrcode/cache/mask_5/mask_129_5.datbin0 -> 259 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.datbin0 -> 297 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_145_5.datbin0 -> 300 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.datbin0 -> 332 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.datbin0 -> 74 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.datbin0 -> 106 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_37_5.datbin0 -> 103 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.datbin0 -> 146 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.datbin0 -> 163 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_69_5.datbin0 -> 167 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_73_5.datbin0 -> 184 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.datbin0 -> 186 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.datbin0 -> 309 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_125_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_129_6.datbin0 -> 310 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_133_6.datbin0 -> 296 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.datbin0 -> 357 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_149_6.dat2
-rw-r--r--library/phpqrcode/cache/mask_6/mask_153_6.datbin0 -> 367 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_157_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_161_6.datbin0 -> 399 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_165_6.datbin0 -> 400 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.datbin0 -> 124 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_37_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_41_6.datbin0 -> 132 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_45_6.datbin0 -> 189 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_49_6.dat2
-rw-r--r--library/phpqrcode/cache/mask_6/mask_53_6.datbin0 -> 195 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.datbin0 -> 230 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.datbin0 -> 229 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_89_6.datbin0 -> 263 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_93_6.datbin0 -> 276 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.datbin0 -> 288 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_129_7.datbin0 -> 282 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_133_7.datbin0 -> 281 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.datbin0 -> 383 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_173_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_177_7.datbin0 -> 407 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.datbin0 -> 122 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_41_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_45_7.datbin0 -> 173 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.datbin0 -> 202 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_73_7.datbin0 -> 221 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_77_7.datbin0 -> 226 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_81_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_85_7.datbin0 -> 213 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_89_7.datbin0 -> 244 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_93_7.datbin0 -> 248 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
-rwxr-xr-xlibrary/prettyphoto/README30
-rw-r--r--library/prettyphoto/css/prettyPhoto.css170
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_rounded/btnNext.pngbin1411 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_rounded/btnPrevious.pngbin1442 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_rounded/contentPattern.pngbin130 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_rounded/default_thumbnail.gifbin227 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_rounded/loader.gifbin2545 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_rounded/sprite.pngbin4076 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_square/btnNext.pngbin1411 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_square/btnPrevious.pngbin1442 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_square/contentPattern.pngbin121 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_square/default_thumbnail.gifbin227 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_square/loader.gifbin2545 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_square/sprite.pngbin3507 -> 0 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/default_thumb.pngbin1537 -> 0 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/loader.gifbin6331 -> 0 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/sprite.pngbin6682 -> 0 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/sprite_next.pngbin1358 -> 0 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/sprite_prev.pngbin1376 -> 0 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/sprite_x.pngbin1097 -> 0 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/sprite_y.pngbin1162 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/btnNext.pngbin845 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/btnPrevious.pngbin828 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/contentPatternBottom.pngbin142 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/contentPatternLeft.pngbin137 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/contentPatternRight.pngbin136 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/contentPatternTop.pngbin142 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/default_thumbnail.gifbin227 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/loader.gifbin2545 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/sprite.pngbin4227 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_rounded/btnNext.pngbin1411 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_rounded/btnPrevious.pngbin1442 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_rounded/default_thumbnail.gifbin227 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_rounded/loader.gifbin2545 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_rounded/sprite.pngbin4099 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_square/btnNext.pngbin1411 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_square/btnPrevious.pngbin1442 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_square/default_thumbnail.gifbin227 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_square/loader.gifbin2545 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_square/sprite.pngbin3507 -> 0 bytes
-rwxr-xr-xlibrary/prettyphoto/js/jquery-1.3.2.min.js19
-rw-r--r--library/prettyphoto/js/jquery-1.4.4.min.js167
-rw-r--r--library/prettyphoto/js/jquery-1.6.1.min.js18
-rw-r--r--library/prettyphoto/js/jquery.prettyPhoto.js7
-rw-r--r--mod/achievements.php84
-rw-r--r--mod/acl.php49
-rw-r--r--mod/admin.php55
-rw-r--r--mod/allfriends.php60
-rw-r--r--mod/attach.php18
-rw-r--r--mod/authtest.php7
-rw-r--r--mod/blocks.php6
-rw-r--r--mod/channel.php87
-rw-r--r--mod/chanview.php23
-rw-r--r--mod/cloud.php151
-rw-r--r--mod/common.php8
-rw-r--r--mod/connect.php4
-rw-r--r--mod/connections.php357
-rw-r--r--mod/connedit.php497
-rw-r--r--mod/contactgroup.php2
-rw-r--r--mod/crepair.php171
-rw-r--r--mod/directory.php26
-rw-r--r--mod/dirprofile.php190
-rw-r--r--mod/dirsearch.php26
-rw-r--r--mod/display.php12
-rw-r--r--mod/editblock.php15
-rw-r--r--mod/editlayout.php17
-rw-r--r--mod/editpost.php17
-rw-r--r--mod/editwebpage.php13
-rwxr-xr-xmod/events.php5
-rw-r--r--mod/fbrowser.php2
-rw-r--r--mod/filestorage.php171
-rw-r--r--mod/follow.php2
-rw-r--r--mod/group.php14
-rw-r--r--mod/hcard.php53
-rw-r--r--mod/help.php28
-rw-r--r--mod/home.php100
-rw-r--r--mod/import.php2
-rw-r--r--mod/invite.php2
-rw-r--r--mod/item.php243
-rw-r--r--mod/layouts.php6
-rwxr-xr-xmod/like.php1
-rw-r--r--mod/lockview.php4
-rw-r--r--mod/magic.php37
-rw-r--r--mod/mail.php349
-rw-r--r--mod/menu.php2
-rw-r--r--mod/message.php454
-rw-r--r--mod/mitem.php5
-rwxr-xr-xmod/mood.php7
-rw-r--r--mod/network.php30
-rw-r--r--mod/notes.php4
-rw-r--r--mod/online.php11
-rw-r--r--mod/page.php4
-rw-r--r--mod/photo.php20
-rw-r--r--mod/photos.php334
-rw-r--r--mod/ping.php33
-rw-r--r--mod/post.php7
-rw-r--r--mod/profile_photo.php10
-rw-r--r--mod/profiles.php53
-rw-r--r--mod/profperm.php72
-rw-r--r--mod/pubsites.php6
-rw-r--r--mod/qsearch.php50
-rw-r--r--mod/redir.php60
-rw-r--r--mod/register.php15
-rw-r--r--mod/removeme.php2
-rw-r--r--mod/rpost.php6
-rw-r--r--mod/search.php136
-rw-r--r--mod/settings.php117
-rwxr-xr-xmod/setup.php24
-rw-r--r--mod/siteinfo.php24
-rw-r--r--mod/sources.php21
-rw-r--r--mod/sslify.php24
-rw-r--r--mod/suggest.php7
-rw-r--r--mod/thing.php158
-rw-r--r--mod/toggle_safesearch.php2
-rw-r--r--mod/viewconnections.php22
-rw-r--r--mod/webpages.php6
-rw-r--r--mod/xref.php20
-rw-r--r--mod/zfinger.php38
-rw-r--r--util/messages.po5916
-rwxr-xr-xutil/run_xgettext.sh15
-rw-r--r--version.inc2
-rw-r--r--view/css/conversation.css17
-rw-r--r--view/css/mod_connections.css81
-rw-r--r--view/css/mod_connedit.css137
-rw-r--r--view/css/mod_directory.css5
-rw-r--r--view/css/mod_filestorage.css11
-rw-r--r--view/css/mod_mail.css100
-rw-r--r--view/css/mod_profiles.css16
-rw-r--r--view/css/mod_register.css7
-rw-r--r--view/css/widgets.css123
-rw-r--r--view/de/messages.po6943
-rw-r--r--view/de/strings.php1426
-rw-r--r--view/js/acl.js (renamed from js/acl.js)4
-rw-r--r--view/js/ajaxupload.js (renamed from js/ajaxupload.js)0
-rw-r--r--view/js/autocomplete.js (renamed from js/fk.autocomplete.js)4
-rw-r--r--view/js/crypto.js (renamed from js/crypto.js)10
-rw-r--r--view/js/icon_translate.js (renamed from js/icon_translate.js)1
-rw-r--r--view/js/jquery-compat.js (renamed from js/jquery-compat.js)0
-rw-r--r--view/js/jquery-migrate-1.1.1.js (renamed from js/jquery-migrate-1.1.1.js)0
-rw-r--r--view/js/jquery.htmlstream.js (renamed from js/jquery.htmlstream.js)0
-rw-r--r--view/js/jquery.js (renamed from js/jquery.js)0
-rw-r--r--view/js/jquery.spin.js (renamed from js/jquery.spin.js)0
-rw-r--r--view/js/jquery.textinputs.js (renamed from js/jquery.textinputs.js)0
-rw-r--r--view/js/main.js (renamed from js/main.js)9
-rw-r--r--view/js/mod_connections.js82
-rw-r--r--view/js/mod_connedit.js82
-rw-r--r--view/js/mod_directory.js8
-rw-r--r--view/js/mod_mail.js13
-rw-r--r--view/js/mod_settings.js6
-rw-r--r--view/js/mod_sources.js4
-rw-r--r--view/js/spin.js (renamed from js/spin.js)0
-rw-r--r--view/js/webtoolkit.base64.js (renamed from js/webtoolkit.base64.js)0
-rw-r--r--view/pdl/mod_blocks.pdl3
-rw-r--r--view/pdl/mod_chanview.pdl3
-rw-r--r--view/pdl/mod_cloud.pdl3
-rw-r--r--view/pdl/mod_common.pdl3
-rw-r--r--view/pdl/mod_connect.pdl3
-rw-r--r--view/pdl/mod_connections.pdl5
-rw-r--r--view/pdl/mod_connedit.pdl6
-rw-r--r--view/pdl/mod_directory.pdl7
-rw-r--r--view/pdl/mod_group.pdl3
-rw-r--r--view/pdl/mod_layouts.pdl3
-rw-r--r--view/pdl/mod_mail.pdl3
-rw-r--r--view/pdl/mod_menu.pdl3
-rw-r--r--view/pdl/mod_message.pdl3
-rw-r--r--view/pdl/mod_mitem.pdl4
-rw-r--r--view/pdl/mod_network.pdl7
-rw-r--r--view/pdl/mod_new_channel.pdl1
-rw-r--r--view/pdl/mod_photos.pdl4
-rw-r--r--view/pdl/mod_profile_photo.pdl3
-rw-r--r--view/pdl/mod_profiles.pdl3
-rw-r--r--view/pdl/mod_profperm.pdl3
-rw-r--r--view/pdl/mod_register.pdl1
-rw-r--r--view/pdl/mod_search.pdl3
-rw-r--r--view/pdl/mod_settings.pdl4
-rw-r--r--view/pdl/mod_suggest.pdl4
-rw-r--r--view/pdl/mod_viewconnections.pdl3
-rw-r--r--view/pdl/mod_webpages.pdl3
-rw-r--r--view/php/mod_new_channel.php3
-rw-r--r--view/php/mod_register.php3
-rw-r--r--view/php/theme_init.php30
-rw-r--r--view/ru/messages.po7757
-rw-r--r--view/ru/strings.php1862
-rw-r--r--view/theme/redbasic/css/dark.css186
-rw-r--r--view/theme/redbasic/css/fancy.css107
-rw-r--r--view/theme/redbasic/css/style.css219
-rw-r--r--view/theme/redbasic/js/redbasic.js12
-rwxr-xr-xview/tpl/abook_edit.tpl6
-rwxr-xr-xview/tpl/admin_hubloc.tpl10
-rwxr-xr-xview/tpl/admin_site.tpl1
-rwxr-xr-xview/tpl/admin_users.tpl5
-rw-r--r--view/tpl/attach_edit.tpl39
-rwxr-xr-xview/tpl/build_query.tpl2
-rw-r--r--view/tpl/chatroomlist.tpl11
-rwxr-xr-xview/tpl/conv_item.tpl6
-rw-r--r--view/tpl/design_tools.tpl2
-rwxr-xr-xview/tpl/direntry.tpl2
-rwxr-xr-xview/tpl/direntry_large.tpl43
-rwxr-xr-xview/tpl/field_combobox.tpl2
-rw-r--r--view/tpl/filestorage.tpl8
-rwxr-xr-xview/tpl/jot-header.tpl30
-rwxr-xr-xview/tpl/jot.tpl45
-rw-r--r--view/tpl/list_things.tpl13
-rwxr-xr-xview/tpl/mail_conv.tpl4
-rwxr-xr-xview/tpl/mail_list.tpl2
-rwxr-xr-xview/tpl/msg-header.tpl2
-rw-r--r--view/tpl/notes.tpl9
-rwxr-xr-xview/tpl/oembed_video.tpl6
-rwxr-xr-xview/tpl/page_display.tpl2
-rwxr-xr-xview/tpl/peoplefind.tpl4
-rwxr-xr-xview/tpl/photo_album.tpl1
-rwxr-xr-xview/tpl/photo_view.tpl6
-rw-r--r--view/tpl/prettyphoto.tpl6
-rwxr-xr-xview/tpl/profile_advanced.tpl7
-rwxr-xr-xview/tpl/profile_edit.tpl2
-rwxr-xr-xview/tpl/profile_listing_header.tpl5
-rwxr-xr-xview/tpl/profile_vcard.tpl2
-rwxr-xr-xview/tpl/prv_message.tpl2
-rwxr-xr-xview/tpl/pwdreset.tpl4
-rwxr-xr-xview/tpl/register.tpl10
-rw-r--r--view/tpl/saved_searches.tpl2
-rwxr-xr-xview/tpl/search_item.tpl8
-rwxr-xr-xview/tpl/settings.tpl3
-rw-r--r--view/tpl/show_thing.tpl16
-rwxr-xr-xview/tpl/siteinfo.tpl4
-rw-r--r--view/tpl/sources_edit.tpl2
-rw-r--r--view/tpl/sources_new.tpl2
-rw-r--r--view/tpl/thing_edit.tpl29
-rw-r--r--view/tpl/webpagelist.tpl4
1060 files changed, 52594 insertions, 17923 deletions
diff --git a/.gitignore b/.gitignore
index 77cc26aab..21f90f09a 100755
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@ home.html
addon
*~
compiled/
+custom/
# patch attempts
*.orig
diff --git a/.htaccess b/.htaccess
index 2f4fb1381..52eb5d6c0 100644
--- a/.htaccess
+++ b/.htaccess
@@ -11,6 +11,7 @@ Deny from all
RewriteEngine on
# Protect repository directory from browsing
RewriteRule "(^|/)\.git" - [F]
+ RewriteRule "(^|/)store" - [F]
# Rewrite current-style URLs of the form 'index.php?q=x'.
diff --git a/README.md b/README.md
index 8bc45e55e..93dad882b 100644
--- a/README.md
+++ b/README.md
@@ -32,9 +32,9 @@ Within the Red Matrix, identity is nomadic. It defines you and it belongs to you
The Red Matrix is free and open source distributed under the MIT license.
-Currently the project is in "Public Preview". A lot of work remains, but many important bits are functioning. Please connect with one of the developer channels ("Channel One" would be a good choice) if you are interested in helping us out.
+Please connect with one of the developer channels ("Channel One" would be a good choice) if you are interested in helping us out.
[Please help us change the world by providing a small donation.](http://pledgie.com/campaigns/18417) (Large donations are also graciously accepted).
-If you would like to become part of the Red Matrix **right now** (and aren't concerned that there may be a few bugs), please select a public hub from one of our open providers at [https://zothub.com/pubsites](https://zothub.com/pubsites). All sites are interlinked and you can always move to another, so the choice of site can be somewhat arbitrary. \ No newline at end of file
+If you would like to become a member of the Red Matrix **right now** , please select a public hub from one of our open providers at [https://zothub.com/pubsites](https://zothub.com/pubsites). All sites are interlinked and you can always move to another, so the choice of site can be somewhat arbitrary. \ No newline at end of file
diff --git a/assets/diamondlattice.png b/assets/diamondlattice.png
new file mode 100644
index 000000000..f1ed7dbd0
--- /dev/null
+++ b/assets/diamondlattice.png
Binary files differ
diff --git a/assets/home.html b/assets/home.html
new file mode 100644
index 000000000..3f018edfc
--- /dev/null
+++ b/assets/home.html
@@ -0,0 +1,206 @@
+<style>section { position: relative; } nav { z-index: 9999; position: fixed; width: 100%; top: 0; left: 0; } header { z-index: 10000; }</style>
+<script>
+// Scroll backgrounds at different rates to achieve the parallax effect
+$(window).scroll(function(e){
+ parallax();
+ });
+ function parallax(){
+ var scrolled = $(window).scrollTop();
+ $('.bg').css('top',-(scrolled*0.4)+'px');
+ $('.bg2').css('top',-(scrolled*0.5)+'px');
+
+}
+</script>
+<link rel='stylesheet' media='screen and (max-width: 830px)' href='assets/narrow.css' />
+<link rel='stylesheet' media='screen and (min-width: 831px)' href='assets/wide.css' />
+
+
+ <div id="header" align="center"><h1>Red Matrix</h1>
+ <div id="menubutton1"><p style="margin-top:2px;"><a href="#decentralise" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">decentralised</a></p></div>
+ <div id="menubutton2"><p style="margin-top:2px;"><a href="#identity" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">identity</a></p></div>
+ <div id="menubutton3"><p style="margin-top:2px;"><a href="#control" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">control</a></p></div>
+ <div id="menubutton4"><p style="margin-top:2px;"><a href="#freedom" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">freedom</a></p></div>
+ <div id="menubutton6"><p style="margin-top:2px;"><a href="#privacy" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">privacy</a></p></div>
+ </div>
+
+<body>
+<div class="bg"></div>
+<div class="bg2"></div>
+<div class="bg-mask"></div>
+<div id="bg-narrow"></div>
+
+
+<div class="section-heading" style="margin-top: 32px;">
+The internet is broken. We're fixing it.</div>
+
+<div>
+<div id="tagline">
+<img style="float:center;width:175px;padding:5px;" src="assets/logo_antiprism.png"><br>
+<span style="color:#808080;font-weight:bold;font-size:1.5em;">ma&middot;trix:</span><span style="color:#808080;font-weight:light;font-size:1.2em;"><i> something within or from which something else originates, develops, or takes form </i></span>
+</div>
+</div>
+
+<div id="intro-text">
+<p>Imagine an internet slightly different than what we have today. The internet of the future won't require logging in with passwords on every site you wish to access. It will just know who you are. An internet where you need to keep track of hundreds/thousands of passwords on hundreds/thousands of websites is fundamentally broken. But an internet with no privacy and where all your online activities are monitored and tracked is likewise broken.
+</p>
+<p>Imagine if you had an internet where the people using it could <b>create new services</b> and <b>communicate freely and privately</b> - and where you didn't need a different account on every website in the network in order to use each website. Where you had your own space and could <b>share anything you wanted</b> with anybody you wanted, any time you wanted. Where the <b>things you share in private stay private</b> instead of being under constant surveillance from advertising corporations and government intelligence agencies.
+</p>
+</div>
+
+<div class="summary-menu-container">
+<a class="summary-menu-item" href="#decentralise" >Decentralise</a>
+<a class="summary-menu-item" href="#identity" >Identity</a>
+<a class="summary-menu-item" href="#freedom" >Freedom</a>
+<a class="summary-menu-item" href="#control" >Access Control</a>
+<a class="summary-menu-item" href="#privacy" >Privacy</a>
+<a class="summary-menu-item" href="#identity" >Got Zot?</a>
+</div>
+
+<div class="summary-nodes-container">
+<div class="summary-node-1">
+<div class="summary-node-1-text">
+<div class="summary-node-header"><a href="#decentralise" style="color:#FFFFFF;text-decoration:none;margin-top:0px;font-size: 1.2em;">Decentralised</a></div>
+<div class="summary-node-text">
+<p id=menutrigger1><a href="#decentralise" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">No centralised servers means no one can censor your content or disable the network.</a></p>
+</div>
+</div>
+</div>
+<div class="summary-node-2">
+<div class="summary-node-2-text">
+<div class="summary-node-header"><a href="#identity" style="color:#FFFFFF;text-decoration:none;margin-top:0px;font-size: 1.2em;">Nomadic Identity</a></div>
+<div class="summary-node-text">
+<p id=menutrigger2><a href="#identity" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">You own and control your identity, and it can move freely inside the matrix.</a></p>
+</div>
+</div>
+</div>
+
+<div class="summary-node-3">
+<div class="summary-node-3-text">
+<div class="summary-node-header"><a href="#freedom" style="color:#FFFFFF;text-decoration:none;margin-top:0px;font-size: 1.2em;">Freedom</a></div>
+<div class="summary-node-text">
+<p id=menutrigger3><a href="#freedom" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">Use a trusted hub, or run your own server. Move where you want and take your data and connections with you. The choices are yours.</p>
+</div>
+</div>
+</div>
+<div class="summary-node-4">
+<div class="summary-node-4-text">
+<div class="summary-node-header"><a href="#control" style="color:#FFFFFF;text-decoration:none;margin-top:0px;font-size: 1.2em;">Access Control</a></div>
+<div class="summary-node-text">
+<p id=menutrigger4><a href="#control" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">Share what you want with whom you want. Permissions extend to the entire matrix.</a></p>
+</div>
+</div>
+</div>
+<div class="summary-node-5">
+<div class="summary-node-5-text">
+<div class="summary-node-header"></div>
+<div class="summary-node-text">
+<p><a href="#identity" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">Got Zot?</a></p>
+</div>
+</div>
+</div>
+<div class="summary-node-6">
+<div class="summary-node-6-text">
+<div class="summary-node-header"><a href="#privacy" style="color:#FFFFFF;text-decoration:none;margin-top:0px;font-size: 1.2em;">Privacy</a></div>
+<p class="summary-node-text"><a href="#privacy" style="color:#FFFFFF;text-decoration:none;margin-top:0px;">Privacy and encryption to suit your needs.</a></p>
+</div>
+</div>
+</div>
+
+
+<div id="menutrigger"></div>
+<section id="decentralise">
+
+<div class="section-heading">Decentralise. Build a more robust network.</div>
+<div class="section-text">
+<p>
+Now open your eyes. We've done some amazing things with decentralisation technology over the last few years and have created a different kind of network. We call it the Red Matrix. Forget the old internet - it's hopelessly broken and increasingly being choked off in order to take your money and spy on you. We're building tomorrow's internet today. And we're doing things a bit differently than what you may be used to. We could wait for this new internet to be built, but we don't really trust the typical corporations and governmental bodies to do it right. So we're building it on top of the old internet. And we're building privacy into its DNA. And it's <strong>here now</strong>.
+</p>
+<p>
+The Red Matrix is a decentralised network where the <strong>people using it are in charge</strong> and the size of your server farm and wealth do not offer any comparable advantage. Anybody may participate on a level playing field. Cloud storage, file sharing, communications, content creation and management belong to <strong>everybody</strong> and can be shared with <strong>anybody</strong> (or <strong>somebody</strong>, or <strong>nobody</strong>). This is only a representative sample of the services we plan to offer. In an internet where creativity is allowed to flourish and corporate overlords have no power, the door is open to entirely new forms of expression and applications. The Red Matrix software is free and open source; created by volunteers and distributed under the MIT license.
+</p>
+<p>
+And the Red Matrix has <strong>Got Zot.</strong>
+</p>
+<p>
+So what the heck is <strong><em>Zot</em></strong>? I'm glad you asked...
+</div>
+</section>
+
+<br />
+<section id="identity">
+
+<div class="section-heading">Your identity is your own. One identity across the network.</div>
+<div class="section-text">
+
+<p>
+Zot is a revolutionary protocol which provides <strong>decentralised communications and identity</strong> management across the matrix. The resulting platform can provide web services comparable to those offered by large corporate providers, but without the large corporate provider and their associated privacy issues. Communications and social networking are an integral part of the matrix. Any channel (and any services provided by that channel) can make full use of feature-rich social communications on a global scale.
+</p>
+<p>
+We use the full power of the matrix to offer friend suggestions and directory services. You can also perform other things which would typically only be possibly on a centralised provider - such as "wall to wall" posts and private/multiple profiles and web content which can be tailored to the viewer. You won't find these features at all on other decentralised communication services. The difference is that Zot also provides decentralised <strong>identity services</strong>. This is what separates the men from the boys, and what makes life in the matrix so awesome.
+</p>
+</div>
+
+<div class="section-text">
+<p>
+Zot's identity layer is unique. It's like OpenID on steroids. It provides invisible single sign-on across all sites in the matrix; as well as nomadic identity so that your communications with friends, family, and business partners won't be affected by the loss of your primary communication node - either temporarily or permanently. The important bits of your identity and relationships can be backed up to a thumb drive and may appear at any node in the matrix at any time - with all your friends and preferences intact. These nomadic instances are kept in sync so any instance can take over if another one is compromised or damaged. This protects you against not only major system failure, but also temporary site overloads and governmental manipulation. You cannot be silenced. You cannot be removed from the matrix.
+</p>
+<p>
+As you browse the matrix viewing channels and their unique content, you are seamlessly authenticated as you go, even across completely different server hubs. No password dialogues. Nothing to type. You're just greeted by name on every new site you visit. How does Zot do that? We call it "magic-auth" because it really is technology that is so advanced as to be indistinguishable from magic. You login only once on your home hub (or any nomadic backup hub you have chosen). This allows you to access any authenticated services provided anywhere in the matrix - such as shopping and access to private information. This is just like the services offered by large corporate providers with huge user databases; however you can be a member of this community and a server on this network using a "plug computer" like a Rasberry Pi. Your password isn't stored on a thousand different sites where it can be stolen and used to clean out your bank accounts.
+</p>
+</div>
+</section>
+<section id="control">
+
+<div class="section-heading">You control your data. Red Matrix enforces your permissions.</div>
+<div class="section-text">
+
+<p>
+Zot's identity layer allows you to provide fine-grained permissions to any content you wish to publish - and these permissions extend across the Red Matrix. This is like having one super huge website made up of an army of small individual websites - and where each channel in the matrix can completely control their privacy and sharing preferences for any web resources they create.
+</p>
+<p>
+Example: you want a photo to be visible to your family and three select friends, but not your work colleagues. In the matrix this is easy. <strong>Even if your family members, work colleagues, and friends all have accounts on different hubs.</strong>
+</p>
+<p>
+Currently the matrix supports communications, photo albums, events, and files. This will be extended in the future to provide content management services (web pages) and cloud storage facilities such as WebDAV and multi-media libraries. Every object and how it is shared and with whom is completely <strong>under your control</strong>.
+</p>
+<p>
+Again, this type of control is available on large corporate providers, because they own the user database. Within the matrix, there is no need for a huge user database on your machine - because <strong>the matrix is your user database</strong> and for all intents and purposes has infinite capacity and is spread amongst hundreds, and potentially millions of computers. Access can be granted or denied for any resource, to any channel or any group of channels; anywhere within the matrix. They do not need to have an account on your hub.
+</p>
+</div>
+</section>
+<div class="clear"></div>
+
+<section id="privacy">
+
+<div class="section-heading">Reclaim your privacy. Red Matrix is built for <i>you</i>, not governments and corporations.</div>
+<div class="section-text">
+<p>
+Your communications may be public or private - and we allow your private communications to be as private as you wish them to be. Private communications comprise not only fully encrypted transport, but also encrypted storage to help protect against accidental snooping and disclosure by rogue system administrators and internet service providers.
+</p>
+<p>
+Want more? You can fully encrypt your messages "end to end" using your choice of encryption ciphers and using a passphrase that only you and the recipient(s) know - <strong>in addition to</strong> our standard multi-layer encryption.
+</p>
+<p>
+Want more? Our end to end encryption is pluggable. You can define your own chain of multiple encryption steps with multiple keys, and include algorithms known only to you and the recipient. At some point even the US National Security Agency will have to throw up their hands. There won't be enough computational power available in the universe to decode your private message.
+</p>
+<p>
+We also provide optional message expiration as a standard feature. When the expiration date/time passes, your message is removed from the network.
+</p>
+</div>
+</section>
+<div class="clear"></div>
+
+
+
+<section id="freedom">
+<a href="https://github.com/friendica/red"><img style="float:center;width:125px;" src="assets/logo_antiprism.png"></a>
+</section>
+
+<br>
+<br>
+</div>
+
+
+ <div id="footer" align="center"> <a href="http://redmatrix.me">redmatrix.me</a> &#149; <a href="https://github.com/friendica/red"><b>Get Zot now!</b></a> &#149; <a href="https://github.com/friendica/red/wiki">Wiki</a> &#149; <a href="http://zothub.com/pubsites">Public Server Directory</a> </div>
+
+
diff --git a/assets/logo_antiprism.png b/assets/logo_antiprism.png
new file mode 100644
index 000000000..b72e2a211
--- /dev/null
+++ b/assets/logo_antiprism.png
Binary files differ
diff --git a/assets/narrow.css b/assets/narrow.css
new file mode 100644
index 000000000..dc47c6984
--- /dev/null
+++ b/assets/narrow.css
@@ -0,0 +1,218 @@
+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/redmatrixlogo.png b/assets/redmatrixlogo.png
new file mode 100644
index 000000000..6929ae14f
--- /dev/null
+++ b/assets/redmatrixlogo.png
Binary files differ
diff --git a/assets/wide.css b/assets/wide.css
new file mode 100644
index 000000000..84dbc47a2
--- /dev/null
+++ b/assets/wide.css
@@ -0,0 +1,396 @@
+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-text {
+color:#C60032;font-size:1.2em;width:700px;margin-right:auto;margin-left:auto;text-align:justify;
+}
+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 ce85de89c..7be74e64a 100755
--- a/boot.php
+++ b/boot.php
@@ -46,7 +46,7 @@ define ( 'RED_PLATFORM', 'Red Matrix' );
define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'R');
define ( 'ZOT_REVISION', 1 );
-define ( 'DB_UPDATE_VERSION', 1084 );
+define ( 'DB_UPDATE_VERSION', 1094 );
define ( 'EOL', '<br />' . "\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@@ -205,6 +205,7 @@ define ( 'PAGE_DIRECTORY_CHANNEL', 0x0008 ); // system channel used for director
define ( 'PAGE_PREMIUM', 0x0010 );
define ( 'PAGE_ADULT', 0x0020 );
+define ( 'PAGE_SYSTEM', 0x1000 );
define ( 'PAGE_REMOVED', 0x8000 );
@@ -217,7 +218,12 @@ define ( 'PHOTO_PROFILE', 0x0001 );
define ( 'PHOTO_XCHAN', 0x0002 );
define ( 'PHOTO_THING', 0x0004 );
-
+/**
+ * Menu types
+ */
+
+define ( 'MENU_SYSTEM', 0x0001 );
+define ( 'MENU_BOOKMARK', 0x0002 );
/**
* Network and protocol family types
@@ -362,11 +368,12 @@ define ( 'HUBLOC_FLAGS_PRIMARY', 0x0001);
define ( 'HUBLOC_FLAGS_UNVERIFIED', 0x0002);
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_DELETED', 0x1000);
/*
* Traficlights for Administration of HubLoc
@@ -478,8 +485,10 @@ define ( 'ACCOUNT_PENDING', 0x0010 );
* Account roles
*/
-define ( 'ACCOUNT_ROLE_ADMIN', 0x1000 );
define ( 'ACCOUNT_ROLE_ALLOWCODE', 0x0001 );
+define ( 'ACCOUNT_ROLE_SYSTEM', 0x0002 );
+
+define ( 'ACCOUNT_ROLE_ADMIN', 0x1000 );
/**
* Item visibility
@@ -492,10 +501,11 @@ define ( 'ITEM_MODERATED', 0x0004);
define ( 'ITEM_SPAM', 0x0008);
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_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_BUG', 0x0400); // Is a bug, can be used by the internal bug tracker
/**
* Item Flags
*/
@@ -514,7 +524,6 @@ 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
-
/**
*
* Reverse the effect of magic_quotes_gpc if it is enabled.
@@ -568,11 +577,12 @@ function startup() {
class App {
- public $account = null; // account record
- public $channel = null; // channel record
- public $observer = null; // xchan record
- public $profile_uid = 0; // If applicable, the uid of the person whose stuff this is.
- public $layout = array(); // Comanche parsed template
+ public $account = null; // account record of the logged-in account
+ public $channel = null; // channel record of the current channel of the logged-in account
+ public $observer = null; // xchan record of the page observer
+ public $profile_uid = 0; // If applicable, the channel_id of the "page owner"
+ public $poi = null; // "person of interest", generally a referenced connection
+ public $layout = array(); // Comanche parsed template
private $perms = null; // observer permissions
@@ -899,44 +909,8 @@ class App {
return $this->groups;
}
- /*
- * Use a theme or app specific widget ordering list to determine what widgets should be included
- * for each module and in what order and optionally what region of the page to place them.
- * For example:
- * view/wgl/mod_connections.wgl:
- * -----------------------------
- * vcard aside
- * follow aside
- * findpeople rightside
- * collections aside
- *
- * If your widgetlist does not include a widget that is destined for the page, it will not be rendered.
- * You can also use this to change the order of presentation, as they will be presented in the order you specify.
- *
- */
-
function set_widget($title,$html, $location = 'aside') {
- $widgetlist_file = 'mod_' . $this->module . '.wgl';
- if(! $this->widgetlist) {
- if($this->module && (($f = theme_include($widgetlist_file)) !== '')) {
- $s = file($f, FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
- if(is_array($s)) {
- foreach($s as $x) {
- $this->widgetlist[] = explode(' ', $x);
- }
- }
- }
- else {
- $this->widgets[] = array('title' => $title, 'html' => $html, 'location' => $location);
- }
- }
- if($this->widgetlist) {
- foreach($this->widgetlist as $k => $v) {
- if($v[0] && $v[0] === $title) {
- $this->widgets[$k] = array('title' => $title, 'html' => $html, 'location' => (($v[1]) ?$v[1] : $location));
- }
- }
- }
+ $this->widgets[] = array('title' => $title, 'html' => $html, 'location' => $location);
}
function get_widgets($location = '') {
@@ -1388,7 +1362,14 @@ function fix_system_urls($oldurl,$newurl) {
dbesc($rr['xchan_hash']),
dbesc($oldurl)
);
-
+
+
+ $z = q("update profile set photo = '%s', thumb = '%s' where uid = %d",
+ dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_l'])),
+ dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_m'])),
+ intval($rr['channel_id'])
+ );
+
proc_run('php', 'include/notifier.php', 'refresh_all', $rr['channel_id']);
}
@@ -1871,6 +1852,10 @@ function construct_page(&$a) {
// layout completely with a new layout definition, or replace/remove existing content.
if($comanche) {
+ $arr = array('module' => $a->module, 'layout' => $a->layout);
+ call_hooks('construct_page',$arr);
+ $a->layout = $arr['layout'];
+
foreach($a->layout as $k => $v) {
if((strpos($k,'region_') === 0) && strlen($v)) {
if(strpos($v,'$region_') !== false) {
@@ -1883,7 +1868,8 @@ function construct_page(&$a) {
$v = str_replace('$nav',$a->page['nav'],$v);
}
if(strpos($v,'$content') !== false) {
- $v = str_replace('$content',$a->page['section'],$v);
+
+ $v = str_replace('$content',$a->page['content'],$v);
}
$a->page[substr($k,7)] = $v;
diff --git a/doc/Cloud.md b/doc/Cloud.md
new file mode 100644
index 000000000..c696b292e
--- /dev/null
+++ b/doc/Cloud.md
@@ -0,0 +1,36 @@
+Personal Cloud Storage
+======================
+
+
+The Red Matrix provides an ability to store privately and/or share arbitrary files with friends.
+
+You may either upload files from your computer into your storage area, or copy them directly from the operating system using the WebDAV protocol.
+
+On many public servers there may be limits on disk usage.
+
+
+**File Attachments**
+
+The quickest and easiest way to share files is through file attachments. In the row of icons below the status post editor is a tool to upload attachments. Click the tool, select a file and submit. After the file is uploaded, you will see an attachment code placed inside the text region. Do not edit this line or it may break the ability for your friends to see the attachment. You can use the post permissions dialogue box or privacy hashtags to restrict the visibility of the file - which will be set to match the permissions of the post your are sending.
+
+To delete attachments or change the permissions on the stored files, visit "filestorage/$channel_nickname" replacing $channel_nickname with the nickname you provided during channel creation.
+
+**Web Access**
+
+Your files are visible on the web at the location "cloud/$channel_nickname" to anybody who is allowed to view them. If the viewer has sufficient privileges, they may also have the ability to create new files and folders/directories.
+
+
+**WebDAV access**
+
+This varies by operating system. In Windows, open the Windows Explorer (file manager) and type "$yoursite\cloud\$channel_nickname" into the address bar. Replace $yoursite with the URL to your Red Matrix hub and $channel_nickname with the nickname for your channel.
+
+You will be prompted for a username and password. For the username, you may supply either your account email address (which will select the default channel), or a channel nickname for the channel you wish to authenticate as. In either case use your account password for the password field. You will then be able to copy, drag/drop, edit, delete and otherwise work with files as if they were an attached disk drive.
+
+
+**Permissions**
+
+When using WebDAV, the file is created with your channel's default file permissions and this cannot be changed from within the operating system. It also may not be as restrictive as you would like. What we've found is that the preferred method of making files private is to first create folders or directories; then visit "filestorage/$channel_nickname"; select the directory and change the permissions. Do this before you put anything into the directory. The directory permissions take precedence so you can then put files or other folders into that container and they will be protected from unwanted viewers by the directory permissions. It is common for folks to create a "personal" or "private" folder which is restricted to themselves. You can use this as a personal cloud to store anything from anywhere on the web or any computer and it is protected from others. You might also create folders for "family" and "friends" with permission granted to appropriate collections of channels.
+
+
+
+ \ No newline at end of file
diff --git a/doc/External-Resources.md b/doc/External-Resources.md
new file mode 100644
index 000000000..9339d0352
--- /dev/null
+++ b/doc/External-Resources.md
@@ -0,0 +1,26 @@
+External Resources
+==================
+
+
+
+**Third-Party Themes**
+
+* [APW](https://github.com/beardy-unixer/apw)
+* [Redstrap](https://github.com/omigeot/redstrap3)
+* [Pluto](https://github.com/23n/Pluto)
+* [clean](https://bitbucket.org/tobiasd/red-clean)
+
+
+**Third-Party Addons**
+
+* [BBCode Extensions for Webpages/Wikis](https://github.com/beardy-unixer/red-addons-extra)
+
+**Related projects**
+
+* [Redshare for Firefox](https://addons.mozilla.org/en-US/firefox/addon/redshare/)
+* [Red for Android](https://github.com/cvogeley/red-for-android)
+* [feed2red.pl (posts Atom/RSS feeds to channels)](https://github.com/zzottel/feed2red)
+
+**Utilities**
+
+* [Debian Install Script](https://github.com/beardy-unixer/lowendscript-ng)
diff --git a/doc/Home.md b/doc/Home.md
index 4a37e6c82..de2353470 100644
--- a/doc/Home.md
+++ b/doc/Home.md
@@ -9,10 +9,12 @@ Red Matrix Documentation and Resources
* [Channels](help/Channels)
* [Connecting to Channels](help/Connecting-to-Channels)
* [Permissions](help/Permissions)
+* [Cloud Storage](help/Cloud)
* [But Wait - There's More. MUCH More...](help/Features)
* [Tags and Mentions](help/Tags-and-Mentions)
* [Web Pages](help/Webpages)
* [Remove Account](help/Remove-Account)
+* [BBcode reference for posts and comments](help/bbcode)
**Technical Documentation**
@@ -30,10 +32,10 @@ Red Matrix Documentation and Resources
**External Resources**
+* [External Resource Links](help/External-Resources)
* [Main Website](https://github.com/friendica/red)
* [Plugin/Addon Website](https://github.com/friendica/red-addons)
* [Assets Website](https://github.com/friendica/red-assets)
-
* [Development Channel](http://zothub.com/channel/one)
**About**
diff --git a/doc/Install.md b/doc/Install.md
index 389c9d632..2df82b181 100644
--- a/doc/Install.md
+++ b/doc/Install.md
@@ -47,7 +47,7 @@ you might have trouble getting everything to work.]
`mkdir view/tpl/smarty3`
- `chown 777 view/smarty3`
+ `chmod 777 view/smarty3`
- For installing addons
@@ -102,4 +102,4 @@ 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. Red will not work correctly if you cannot perform this step. \ No newline at end of file
+assistance. Red will not work correctly if you cannot perform this step.
diff --git a/doc/Tags-and-Mentions.md b/doc/Tags-and-Mentions.md
index bcf69736f..cdee73167 100644
--- a/doc/Tags-and-Mentions.md
+++ b/doc/Tags-and-Mentions.md
@@ -5,9 +5,17 @@ Like many other platforms, Red uses a special notation inside messages to indica
**Mentions**
-Channels are tagged by simply preceding their name with the @ character. Unless their system blocks unsolicited "mentions", the person tagged will likely receive a "Mention" post/activity or become a direct participant in the conversation in the case of public posts.
+Channels are tagged by simply preceding their name with the @ character. Unless their system blocks unsolicited "mentions", the person tagged will likely receive a "Mention" post/activity or become a direct participant in the conversation in the case of public posts.
+
+When you start to mention somebody, it will create an auto-complete box to select from your immediate connections. Select one as appropriate. Some connections will be displayed in different colours. A light blue entry (using the default theme) indicates a channel which will redeliver to others if tagged. This is generally a conversation group or forum. But be aware that when tagged, the message will also go to anybody they choose, in addition to anybody you choose.
+
+**Private Mentions**
+
+If you wish to restrict a post to a single person or a number of people, you can do this by selecting channels or collections from the privacy tool. You can also just tag them with a privacy tag. A privacy tag is a name preceded by the two characters @! - and in addition to tagging these channels, will also change the privacy permissions of the post to include them (and perhaps restrict the post from "everybody" if this was the default). You can have more than one privacy tag, for instance @!bob and @!linda will send the post only to Bob and Linda (in addition to any recipients you selected with the privacy selector - if any).
+
+You may also tag public collections. When you create or edit a collection, there is a checkbox to allow the group members to be seen by others. If this box is checked for a collection and you tag (for instance) @!Friends - the post will be restricted to the Friends collection. Check that the collection is public before doing this - as there is no way to take back a post except to delete it. The collection name will appear in the post and will alert members of that collection that they are members of it.
+
-Red makes no distinction between different types of channel for the purpose of tagging.
**Topical Tags**
diff --git a/doc/TermsOfService.md b/doc/TermsOfService.md
new file mode 100644
index 000000000..3586b5d82
--- /dev/null
+++ b/doc/TermsOfService.md
@@ -0,0 +1,4 @@
+Terms of Service
+================
+
+#include SiteTOS;
diff --git a/doc/To-Do-Code.md b/doc/To-Do-Code.md
index 60b94e6da..5804801b4 100644
--- a/doc/To-Do-Code.md
+++ b/doc/To-Do-Code.md
@@ -3,36 +3,42 @@ Project Code To-Do List
We need much more than this, but here are areas where developers can help. Please edit this page when items are finished. Another place for developers to start is with the issues list.
-* ACL widget - provide cc/bcc toggle to allow recipients to be discoverable at receiving end. This should integrate with public/private collections which currently exist but have no defined function.
-
* Turn top-level Apps menu into an Apps page - which will probably require App plugins to have icons. Add documentation specifically to the plugin/addon documentation for creating apps. Add links to the App Store (which doesn't currently exist).
* Documentation - see [Red Documentation Project To-Do List](help/To-Do)
* Finish the anti-spam bayesian engine
+* Integrate the "open site" list with the register page
+
* Write more webpage layouts
* Write more webpage widgets
* (Advanced) create a UI for building Comanche pages
-* Help with WebDAV and file storage implementation
+* templatise and translate the Web interface to webDAV
-* Extend WebDAV to provide desktop access to photo albums and existing file (attachment) storage
+* Extend WebDAV to provide desktop access to photo albums
-* Directory - provide a hover popup providing much more detail about the channel of interest. Keywords, additional public profile details, perhaps the last public post, anything else of interest.
+* service classes - provide a pluggable subscription payment gateway for premium accounts
-* Events module - bring back birthday reminders for friends, fix permissions on events, and provide JS translation support for the calendar overview
+* service classes - account overview page showing resources consumed by channel. With special consideration this page can also be accessed at a meta level by the site admin to drill down on problematic accounts/channels.
+
+* Events module - bring back birthday reminders for friends, fix permissions on events, and provide JS translation support for the calendar overview; integrate with calDAV
* Events module - event followups and RSVP
+
+* Uploads - integrate https://github.com/blueimp/jQuery-File-Upload
+
+
+* replace the tinymce visual editor and/or make the visual editor pluggable and responsive to different output formats. We probably want library/bbedit for bbcode. This needs a fair bit of work to catch up with our "enhanced bbcode", but start with images, links, bold and highlight and work from there.
+
* Photos module - turn photos into normal conversations and fix tagging
* Provide RSS feed support which look like channels (in matrix only - copyright issues)
-* Fully implement "things".
-
* Create mobile clients for the top platforms - which involves extending the API so that we can do stuff far beyond the current crop of Twitter/Statusnet clients. Ditto for mobile themes. We can probably use something like the Friendica Android app as a base to start from.
* Activity Stream generation for liking things, liking channels and other combinations.
@@ -41,7 +47,7 @@ We need much more than this, but here are areas where developers can help. Pleas
* Family Account creation - using service classes (an account holder can create a certain number of sub-accounts which are all tied to their subscription - if the subscription lapses they all go away).
-* Re-working of widgets so that entire application and page contents (e.g. modules) will be available to and under the control of themes/apps using Comanche layouts.
+* Put mod_admin under Comanche
In many cases some of the work has already been started and code exists so that you needn't start from scratch. Please contact one of the developer channels like Channel One (one@zothub.com) before embarking and we can tell you what we already have and provide some insights on how we envision these features fitting together.
diff --git a/doc/Translations.md b/doc/Translations.md
index 1ebdfb67d..724286052 100644
--- a/doc/Translations.md
+++ b/doc/Translations.md
@@ -32,13 +32,13 @@ The location of the translated files in the source tree is
/view/LNG-CODE/
where LNG-CODE is the language code used, e.g. de for German or fr for French.
For the email templates (the *.tpl files) just place them into the directory
-and you are done. The translated strings come as a "message.po" file from
+and you are done. The translated strings come as a "messages.po" file from
transifex which needs to be translated into the PHP file Red uses. To do
so, place the file in the directory mentioned above and use the "po2php"
utility from the util directory of your Red installation.
Assuming you want to convert the German localization which is placed in
-view/de/message.po you would do the following.
+view/de/messages.po you would do the following.
1. Navigate at the command prompt to the base directory of your
Red installation
@@ -46,7 +46,7 @@ view/de/message.po you would do the following.
2. Execute the po2php script, which will place the translation
in the strings.php file that is used by Red.
- $> php util/po2php.php view/de/message.po
+ $> php util/po2php.php view/de/messages.po
The output of the script will be placed at view/de/strings.php where
froemdoca os expecting it, so you can test your translation mmediately.
diff --git a/doc/bbcode.html b/doc/bbcode.html
new file mode 100644
index 000000000..a24dd8b5d
--- /dev/null
+++ b/doc/bbcode.html
@@ -0,0 +1,68 @@
+<h3>BBcode reference</h3>
+<div style="font-size: 14px;">
+<br /><br />
+<ul class="listdecimal" style="list-style-type: decimal;">
+<li>[b]bold[/b] - <strong>bold</strong><br />
+<li>[i]italic[/i] - <em>italic</em><br />
+<li>[u]underlined[/u] - <u>underlined</u><br />
+<li>[s]strike[/s] - <strike>strike</strike><br />
+<li>[color=red]red[/color] - <span style="color: red;">red</span><br />
+<li>[url=https://redmatrix.me]Red Matrix[/url] <a href="https://redmatrix.me">Red Matrix</a><br />
+<li>[img]https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg[/img] <img src="https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg" alt="Image/photo" /><br />
+<li>[code]code[/code] <code>code</code><br />
+<li>[quote]quote[/quote] <blockquote>quote</blockquote><br />
+<li>[quote=Author]Author? Me? No, no, no...[/quote] <br /><strong class="author">Author wrote:</strong><blockquote>Author? Me? No, no, no...</blockquote><br />
+<li> [nobb] may be used to escape bbcode.</ul><br />
+
+<br />You can make lists with:<br />
+<ul class="listbullet" style="list-style-type: circle;">
+<li>[list]<br />
+<li>[list=1]<br />
+<li>[list=i]<br />
+<li>[list=I] <br />
+<li>[list=a]<br />
+<li>[list=A] <br />
+<li>[ul]<br />
+<li>[ol]
+
+</ul>For example:<br />[ul]<br />[*] First list element<br />[*] Second list element<br />[/ul]<br /><br />Will render something like: <br />
+<ul class="listbullet" style="list-style-type: circle;">
+<li> First list element<br />
+<li> Second list element</ul><br />
+<br />There's also:<br />
+<ul class="listloweralpha" style="list-style-type: lower-alpha;">
+<li>[hr]<br />
+<li>[video]video URL[/video]<br />
+<li>[audio]audio URL[/audio]<br />
+<li>[table]<br />
+<li>[th] <br />
+<li>[td]<br />
+<li>[tr]<br />
+<li>[center]<br />
+<li>[font=courier]some text[/font] <span style="font-family: courier;">some text</span><br />
+</ul><br />
+<br />Tables? Yes!<br /><br />[table border=1]<br /> [tr]<br /> [th]Tables now[/th]<br /> [/tr]<br /> [tr]<br /> [td]Have headers[/td]<br /> [/tr]<br />[/table]<br /><br /><table border="1" ><tr><th>Tables now</th></tr><tr><td>Have headers</td></tr></table><br />All sizes, <br />From the [size=xx-small] - <span style="font-size: xx-small;">xx-small</span>.<br />To the [size=xx-large] - <span style="font-size: xx-large;">xx-large</span>.<br />To fit exactly <span style="font-size: 20px;">20px</span> use [size=20].<br /><br />
+
+<p>Red Matrix specific codes</p>
+<ul class="listbullet" style="list-style-type: circle;">
+<li>[&amp;copy;] &copy; This works for many HTML entities<br />
+<li>[zrl]https://redmatrix.me[/zrl] Magic-auth version of [url] tag<br />
+<li>[zmg]https://redmatrix.me/some/photo.jpg[/zmg] Magic-auth version of [img] tag<br />
+<br />
+<li>[observer=1]Text to display if observer is authenticated in the matrix[/observer]
+<li>[observer=0]Text to display if observer is <strong>not</strong> authenticated in the matrix[/observer]<br />
+<li>[observer.baseurl] website of observer <br />
+<li>[observer.url] channel URL of observer <br />
+<li>[observer.name] name of observer <br />
+<li>[observer.address] address (zot-id) of observer <br />
+<li>[observer.photo] profile photo of observer <br />
+<br />
+
+<li>[rpost=title]Text to post[/rpost] The observer will be returned to their home hub to enter a post with the specified title and body. Both are optional <br />
+
+
+
+</div>
+
+
+
diff --git a/doc/html/Contact_8php.html b/doc/html/Contact_8php.html
index ead25e6a2..e6e4270df 100644
--- a/doc/html/Contact_8php.html
+++ b/doc/html/Contact_8php.html
@@ -213,7 +213,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>.</p>
+<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>.</p>
</div>
</div>
@@ -303,6 +303,8 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Referenced by <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>.</p>
+
</div>
</div>
<a class="anchor" id="a87e699f74a1102b25e8aa0432d86a91e"></a>
@@ -347,7 +349,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, and <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>.</p>
+<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, and <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>.</p>
</div>
</div>
@@ -502,7 +504,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="connections_8php.html#af48f7ad20914760ba9874c090384e35a">connections_aside()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, and <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>.</p>
+<p>Referenced by <a class="el" href="widgets_8php.html#abe03366fd22fd27d683518fa0765da50">widget_vcard()</a>.</p>
</div>
</div>
diff --git a/doc/html/achievements_8php.html b/doc/html/achievements_8php.html
new file mode 100644
index 000000000..894abb4a4
--- /dev/null
+++ b/doc/html/achievements_8php.html
@@ -0,0 +1,137 @@
+<!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 Red Matrix: mod/achievements.php File 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 Red Matrix
+ </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><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><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="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#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('achievements_8php.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="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">achievements.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a35ae04ada0e227d19671f289a32fb30e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a35ae04ada0e227d19671f289a32fb30e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a35ae04ada0e227d19671f289a32fb30e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">achievements_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/achievements_8php.js b/doc/html/achievements_8php.js
new file mode 100644
index 000000000..319ac33da
--- /dev/null
+++ b/doc/html/achievements_8php.js
@@ -0,0 +1,4 @@
+var achievements_8php =
+[
+ [ "achievements_content", "achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e", null ]
+]; \ No newline at end of file
diff --git a/doc/html/acl__selectors_8php.html b/doc/html/acl__selectors_8php.html
index 337a2fc68..d0d283649 100644
--- a/doc/html/acl__selectors_8php.html
+++ b/doc/html/acl__selectors_8php.html
@@ -188,7 +188,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>.</p>
+<p>Referenced by <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>.</p>
</div>
</div>
@@ -270,7 +270,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, and <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, and <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>.</p>
</div>
</div>
diff --git a/doc/html/annotated.html b/doc/html/annotated.html
index 32271b4f4..63c8fe26e 100644
--- a/doc/html/annotated.html
+++ b/doc/html/annotated.html
@@ -135,9 +135,9 @@ $(document).ready(function(){initNavTree('annotated.html','');});
<tr id="row_21_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__imagick.html" target="_self">photo_imagick</a></td><td class="desc"></td></tr>
<tr id="row_22_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classProtoDriver.html" target="_self">ProtoDriver</a></td><td class="desc"></td></tr>
<tr id="row_23_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedBasicAuth.html" target="_self">RedBasicAuth</a></td><td class="desc"></td></tr>
-<tr id="row_24_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedDirectory.html" target="_self">RedDirectory</a></td><td class="desc"></td></tr>
-<tr id="row_25_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedFile.html" target="_self">RedFile</a></td><td class="desc"></td></tr>
-<tr id="row_26_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedInode.html" target="_self">RedInode</a></td><td class="desc"></td></tr>
+<tr id="row_24_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedBrowser.html" target="_self">RedBrowser</a></td><td class="desc"></td></tr>
+<tr id="row_25_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedDirectory.html" target="_self">RedDirectory</a></td><td class="desc"></td></tr>
+<tr id="row_26_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedFile.html" target="_self">RedFile</a></td><td class="desc"></td></tr>
<tr id="row_27_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classTemplate.html" target="_self">Template</a></td><td class="desc"></td></tr>
<tr id="row_28_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classZotDriver.html" target="_self">ZotDriver</a></td><td class="desc"></td></tr>
</table>
diff --git a/doc/html/annotated.js b/doc/html/annotated.js
index c1197fb1e..c6ab45689 100644
--- a/doc/html/annotated.js
+++ b/doc/html/annotated.js
@@ -24,9 +24,9 @@ var annotated =
[ "photo_imagick", "classphoto__imagick.html", "classphoto__imagick" ],
[ "ProtoDriver", "classProtoDriver.html", "classProtoDriver" ],
[ "RedBasicAuth", "classRedBasicAuth.html", "classRedBasicAuth" ],
+ [ "RedBrowser", "classRedBrowser.html", "classRedBrowser" ],
[ "RedDirectory", "classRedDirectory.html", "classRedDirectory" ],
[ "RedFile", "classRedFile.html", "classRedFile" ],
- [ "RedInode", "classRedInode.html", "classRedInode" ],
[ "Template", "classTemplate.html", "classTemplate" ],
[ "ZotDriver", "classZotDriver.html", "classZotDriver" ]
]; \ No newline at end of file
diff --git a/doc/html/apw_2php_2style_8php.html b/doc/html/apw_2php_2style_8php.html
index 59038c4ab..423bd9850 100644
--- a/doc/html/apw_2php_2style_8php.html
+++ b/doc/html/apw_2php_2style_8php.html
@@ -128,7 +128,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586">all_friends()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9">common_friends_zcid()</a>, <a class="el" href="socgraph_8php.html#af29d056beec10b4e38e5209c92452894">count_all_friends()</a>, <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends()</a>, <a class="el" href="socgraph_8php.html#af175807406d94407a5e11742a3287746">count_common_friends_zcid()</a>, <a class="el" href="boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3">current_theme_url()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="contact__widgets_8php.html#af24e693532a045954caab515942cfc6f">follow_widget()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad">get_pconfig()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname()</a>, <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6">load_pconfig()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a">menu_del_item()</a>, <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>, <a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu_delete_id()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>, <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="classConversation.html#a8898bddc1e8990e81dab9a13a532cc93">Conversation\set_profile_owner()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag()</a>, <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">suggestion_query()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, <a class="el" href="taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2">tagblock()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586">all_friends()</a>, <a class="el" href="include_2menu_8php.html#a7fb5f4847bc94436e43be4b81478febc">bookmarks_menu_fetch()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9">common_friends_zcid()</a>, <a class="el" href="socgraph_8php.html#af29d056beec10b4e38e5209c92452894">count_all_friends()</a>, <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends()</a>, <a class="el" href="socgraph_8php.html#af175807406d94407a5e11742a3287746">count_common_friends_zcid()</a>, <a class="el" href="boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3">current_theme_url()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad">get_pconfig()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname()</a>, <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6">load_pconfig()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a">menu_del_item()</a>, <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>, <a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu_delete_id()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>, <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="classConversation.html#a8898bddc1e8990e81dab9a13a532cc93">Conversation\set_profile_owner()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag()</a>, <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">suggestion_query()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, <a class="el" href="taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2">tagblock()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
</div>
</div>
diff --git a/doc/html/bbcode_8php.html b/doc/html/bbcode_8php.html
index 455cfac95..21a1e3d19 100644
--- a/doc/html/bbcode_8php.html
+++ b/doc/html/bbcode_8php.html
@@ -114,6 +114,10 @@ $(document).ready(function(){initNavTree('bbcode_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a55b0cb6973f1ec731de0e726bcc0efa7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7">tryoembed</a> ($match)</td></tr>
<tr class="separator:a55b0cb6973f1ec731de0e726bcc0efa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a39de4de32a9456d1ca914d0dc52bd322"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322">tryzrlaudio</a> ($match)</td></tr>
+<tr class="separator:a39de4de32a9456d1ca914d0dc52bd322"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa92f119341f4c69dcef2768a013079b8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8">tryzrlvideo</a> ($match)</td></tr>
+<tr class="separator:aa92f119341f4c69dcef2768a013079b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8911e027907820df3db03b4f76724b50"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a8911e027907820df3db03b4f76724b50">bb_spacefy</a> ($st)</td></tr>
<tr class="separator:a8911e027907820df3db03b4f76724b50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a064dcfd9767df6f53be1a0e11ceeb15d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a064dcfd9767df6f53be1a0e11ceeb15d">bb_unspacefy_and_trim</a> ($st)</td></tr>
@@ -121,8 +125,12 @@ Functions</h2></td></tr>
<tr class="memitem:a851f5aafefe52474201b83f9fd65931f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a>(!function_exists('bb_extract_images')) <br class="typebreak"/>
<a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a>(!function_exists('bb_replace_images'))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f">bb_parse_crypt</a> ($match)</td></tr>
<tr class="separator:a851f5aafefe52474201b83f9fd65931f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98d0eecc620c19561639f06cfbe8e74c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a98d0eecc620c19561639f06cfbe8e74c">bb_qr</a> ($match)</td></tr>
+<tr class="separator:a98d0eecc620c19561639f06cfbe8e74c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c69e021d5e0aef97d6966bf3169c86a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a1c69e021d5e0aef97d6966bf3169c86a">bb_ShareAttributes</a> ($match)</td></tr>
<tr class="separator:a1c69e021d5e0aef97d6966bf3169c86a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3435c82a6c7693557800cdeb6848d0bd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd">bb_location</a> ($match)</td></tr>
+<tr class="separator:a3435c82a6c7693557800cdeb6848d0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2be26414a367118143cc89e2d58e7377"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a2be26414a367118143cc89e2d58e7377">bb_ShareAttributesSimple</a> ($match)</td></tr>
<tr class="separator:a2be26414a367118143cc89e2d58e7377"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5165a5221a52cf1bc1d7812ebd2069c7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7">rpost_callback</a> ($match)</td></tr>
@@ -131,6 +139,22 @@ Functions</h2></td></tr>
<tr class="separator:a009f61aaf78771737ed0765c8463911b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a3435c82a6c7693557800cdeb6848d0bd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bb_location </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$match</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a851f5aafefe52474201b83f9fd65931f"></a>
<div class="memitem">
<div class="memproto">
@@ -147,6 +171,22 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a98d0eecc620c19561639f06cfbe8e74c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bb_qr </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$match</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a1c69e021d5e0aef97d6966bf3169c86a"></a>
<div class="memitem">
<div class="memproto">
@@ -241,7 +281,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora()</a>, <a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">construct_activity_object()</a>, <a class="el" href="items_8php.html#aa579bc4445d60098b1410961ca8e96b7">construct_activity_target()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, and <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>.</p>
+<p>Referenced by <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora()</a>, <a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">construct_activity_object()</a>, <a class="el" href="items_8php.html#aa579bc4445d60098b1410961ca8e96b7">construct_activity_target()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, and <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>.</p>
</div>
</div>
@@ -277,6 +317,38 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a39de4de32a9456d1ca914d0dc52bd322"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tryzrlaudio </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$match</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa92f119341f4c69dcef2768a013079b8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tryzrlvideo </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$match</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/bbcode_8php.js b/doc/html/bbcode_8php.js
index a2d64b997..1f7680fb8 100644
--- a/doc/html/bbcode_8php.js
+++ b/doc/html/bbcode_8php.js
@@ -1,11 +1,15 @@
var bbcode_8php =
[
+ [ "bb_location", "bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd", null ],
[ "bb_parse_crypt", "bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f", null ],
+ [ "bb_qr", "bbcode_8php.html#a98d0eecc620c19561639f06cfbe8e74c", null ],
[ "bb_ShareAttributes", "bbcode_8php.html#a1c69e021d5e0aef97d6966bf3169c86a", null ],
[ "bb_ShareAttributesSimple", "bbcode_8php.html#a2be26414a367118143cc89e2d58e7377", null ],
[ "bb_spacefy", "bbcode_8php.html#a8911e027907820df3db03b4f76724b50", null ],
[ "bb_unspacefy_and_trim", "bbcode_8php.html#a064dcfd9767df6f53be1a0e11ceeb15d", null ],
[ "bbcode", "bbcode_8php.html#a009f61aaf78771737ed0765c8463911b", null ],
[ "rpost_callback", "bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7", null ],
- [ "tryoembed", "bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7", null ]
+ [ "tryoembed", "bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7", null ],
+ [ "tryzrlaudio", "bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322", null ],
+ [ "tryzrlvideo", "bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8", null ]
]; \ No newline at end of file
diff --git a/doc/html/boot_8php.html b/doc/html/boot_8php.html
index 0146399a4..cf222ff37 100644
--- a/doc/html/boot_8php.html
+++ b/doc/html/boot_8php.html
@@ -200,7 +200,7 @@ Variables</h2></td></tr>
<tr class="separator:a21cc29e0025943e7c28ff58cb4856ac3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36b31575f992a10b5927b76efba9362e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a36b31575f992a10b5927b76efba9362e">ZOT_REVISION</a> 1</td></tr>
<tr class="separator:a36b31575f992a10b5927b76efba9362e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac59a18a4838710d6c2de37aed6b21f03"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03">DB_UPDATE_VERSION</a> 1084</td></tr>
+<tr class="memitem:ac59a18a4838710d6c2de37aed6b21f03"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03">DB_UPDATE_VERSION</a> 1092</td></tr>
<tr class="separator:ac59a18a4838710d6c2de37aed6b21f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0603d6ece8c5d37b4b7db697db053a4b"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b">EOL</a> '&lt;br /&gt;' . &quot;\r\n&quot;</td></tr>
<tr class="separator:a0603d6ece8c5d37b4b7db697db053a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -292,6 +292,8 @@ Variables</h2></td></tr>
<tr class="separator:ab3920c2f3cd64802c0b7ff625c3b2ea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace83842dbeb84f7ed9ac59a9f57a7c32"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32">PAGE_ADULT</a> 0x0020</td></tr>
<tr class="separator:ace83842dbeb84f7ed9ac59a9f57a7c32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ee7a72d558d1851bbb9e3cdde377932"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a6ee7a72d558d1851bbb9e3cdde377932">PAGE_SYSTEM</a> 0x1000</td></tr>
+<tr class="separator:a6ee7a72d558d1851bbb9e3cdde377932"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4edce16cb7f21cdafa1e85bf63d713e6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6">PAGE_REMOVED</a> 0x8000</td></tr>
<tr class="separator:a4edce16cb7f21cdafa1e85bf63d713e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a49b29838ef2c45ab3556b52baec6a4"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4">PHOTO_NORMAL</a> 0x0000</td></tr>
@@ -302,6 +304,10 @@ Variables</h2></td></tr>
<tr class="separator:ac43182e0d8bae7576a30b603774974f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78849a1bf8ce8d9804b4cbb502e8f383"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383">PHOTO_THING</a> 0x0004</td></tr>
<tr class="separator:a78849a1bf8ce8d9804b4cbb502e8f383"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a718a801b0be6cbaef5e519516da12721"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a718a801b0be6cbaef5e519516da12721">MENU_SYSTEM</a> 0x0001</td></tr>
+<tr class="separator:a718a801b0be6cbaef5e519516da12721"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a458e19af801bc4b0d1f1ce1a6d9e857e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a458e19af801bc4b0d1f1ce1a6d9e857e">MENU_BOOKMARK</a> 0x0002</td></tr>
+<tr class="separator:a458e19af801bc4b0d1f1ce1a6d9e857e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3cef7b63e25e7bafea3fcf6b99fad0e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e">NETWORK_DFRN</a> 'dfrn'</td></tr>
<tr class="separator:ae3cef7b63e25e7bafea3fcf6b99fad0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c65e925994566a63e6c03c381f1b4a0"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0">NETWORK_ZOT</a> 'zot!'</td></tr>
@@ -448,6 +454,8 @@ Variables</h2></td></tr>
<tr class="separator:ab54b24cc302e1a42a67a49d788b6b764"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c286add8961fd2d79216314cd4aadd8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7c286add8961fd2d79216314cd4aadd8">HUBLOC_FLAGS_DELETED</a> 0x1000</td></tr>
<tr class="separator:a7c286add8961fd2d79216314cd4aadd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8fdcc4ffb365a3267bd02ce8a8d466d6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a8fdcc4ffb365a3267bd02ce8a8d466d6">XCHAN_FLAGS_NORMAL</a> 0x0000</td></tr>
+<tr class="separator:a8fdcc4ffb365a3267bd02ce8a8d466d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1af3ed96de14aa0d7891b39cc75b60f2"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2">XCHAN_FLAGS_HIDDEN</a> 0x0001</td></tr>
<tr class="separator:a1af3ed96de14aa0d7891b39cc75b60f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c923b99bf77e4203ae94e5684b6ad0f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f">XCHAN_FLAGS_ORPHAN</a> 0x0002</td></tr>
@@ -456,6 +464,8 @@ Variables</h2></td></tr>
<tr class="separator:accd6f36cc9f40225cbd720e4d12a7c6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a681a672e007cdc22b43345d71f07c6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a5a681a672e007cdc22b43345d71f07c6">XCHAN_FLAGS_SELFCENSORED</a> 0x0008</td></tr>
<tr class="separator:a5a681a672e007cdc22b43345d71f07c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afef254290febac854c85fc698d9483a6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#afef254290febac854c85fc698d9483a6">XCHAN_FLAGS_SYSTEM</a> 0x0010</td></tr>
+<tr class="separator:afef254290febac854c85fc698d9483a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ea1290e00c6d40684892047f2c778a9"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a9ea1290e00c6d40684892047f2c778a9">XCHAN_FLAGS_DELETED</a> 0x1000</td></tr>
<tr class="separator:a9ea1290e00c6d40684892047f2c778a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa589421267f0c2f0d643f727792cce35"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa589421267f0c2f0d643f727792cce35">HUBLOC_NOTUSED</a> 0x0000</td></tr>
@@ -596,10 +606,12 @@ Variables</h2></td></tr>
<tr class="separator:ab5ddbe69d3d03acd06e1fb281488cb78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a032bbd6d0321e99e9117332c9ed2b1b8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a032bbd6d0321e99e9117332c9ed2b1b8">ACCOUNT_PENDING</a> 0x0010</td></tr>
<tr class="separator:a032bbd6d0321e99e9117332c9ed2b1b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac8400313df2c831653f9036f71ebd86d"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac8400313df2c831653f9036f71ebd86d">ACCOUNT_ROLE_ADMIN</a> 0x1000</td></tr>
-<tr class="separator:ac8400313df2c831653f9036f71ebd86d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84f48897059bbd4a8738d7ee4cec6688"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688">ACCOUNT_ROLE_ALLOWCODE</a> 0x0001</td></tr>
<tr class="separator:a84f48897059bbd4a8738d7ee4cec6688"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c2eb822d50e1554bf5c32861f36342b"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7c2eb822d50e1554bf5c32861f36342b">ACCOUNT_ROLE_SYSTEM</a> 0x0002</td></tr>
+<tr class="separator:a7c2eb822d50e1554bf5c32861f36342b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac8400313df2c831653f9036f71ebd86d"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac8400313df2c831653f9036f71ebd86d">ACCOUNT_ROLE_ADMIN</a> 0x1000</td></tr>
+<tr class="separator:ac8400313df2c831653f9036f71ebd86d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab55b16ae7fc19fafe5afaedd49163bbf"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf">ITEM_VISIBLE</a> 0x0000</td></tr>
<tr class="separator:ab55b16ae7fc19fafe5afaedd49163bbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac99fc4d040764eac1736bec6973556fe"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac99fc4d040764eac1736bec6973556fe">ITEM_HIDDEN</a> 0x0001</td></tr>
@@ -622,6 +634,8 @@ Variables</h2></td></tr>
<tr class="separator:a7fc4b291a7cdaa48b38e27344ea183cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e57d913634d033b4d5ad72d99fd3e9d"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a6e57d913634d033b4d5ad72d99fd3e9d">ITEM_PDL</a> 0x0200</td></tr>
<tr class="separator:a6e57d913634d033b4d5ad72d99fd3e9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a87b0f279f8413c7e4d805c5d85f20d34"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a87b0f279f8413c7e4d805c5d85f20d34">ITEM_BUG</a> 0x0400</td></tr>
+<tr class="separator:a87b0f279f8413c7e4d805c5d85f20d34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c9dce0ef27b35397e29298eb966f7f7"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7">ITEM_ORIGIN</a> 0x0001</td></tr>
<tr class="separator:a8c9dce0ef27b35397e29298eb966f7f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a009e6a0637cb65804ea8094ecc4450b0"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0">ITEM_UNSEEN</a> 0x0002</td></tr>
@@ -698,7 +712,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c">lastpost_init()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a2a3ac90f51941ff78b85e9389304969c">profiles_aside()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings_aside()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings_init()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -716,7 +730,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c">lastpost_init()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#af4ba72486117cc24335fd8e92a2112a7">message_aside()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a2a3ac90f51941ff78b85e9389304969c">profiles_aside()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings_aside()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e">view_init()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e">view_init()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f">widget_collections()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -804,6 +818,8 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>Build the page - now that we have all the components</p>
+<p>Referenced by <a class="el" href="classRedBrowser.html#a1f7daf50bb9bfcde7345b3b1908dbd7e">RedBrowser\generateDirectoryIndex()</a>.</p>
+
</div>
</div>
<a class="anchor" id="aa4221641e5c21db69fa52c426b9017f5"></a>
@@ -919,7 +935,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -936,7 +952,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty\__construct()</a>, <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine\__construct()</a>, <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc()</a>, <a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec">blogtheme_imgurl()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">can_comment_on_post()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest_run()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b">comanche_menu()</a>, <a class="el" href="comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe">comanche_replace_region()</a>, <a class="el" href="comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f">comanche_widget()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="contact__widgets_8php.html#af24e693532a045954caab515942cfc6f">follow_widget()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="boot_8php.html#afe88b920aa285982edb817a0dd44eb37">get_account_id()</a>, <a class="el" href="language_8php.html#a980dee1d8715a98ab02e36b59facf8ed">get_best_language()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="security_8php.html#acd06ef411116115c2f0a92633700db8a">get_form_security_token()</a>, <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine\get_intltext_template()</a>, <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">get_intltext_template()</a>, <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">get_markup_template()</a>, <a class="el" href="boot_8php.html#a623e49c79943f3e7bdb770d021683cf7">get_observer_hash()</a>, <a class="el" href="text_8php.html#a3ef8c0cf31f35f77462067de8712fa34">get_plink()</a>, <a class="el" href="settings_8php.html#a39abc76ff5459c57e3b957664f273f18">get_theme_config_file()</a>, <a class="el" href="plugin_8php.html#a48047edfbef770125a5508dcc2f9282f">get_theme_screenshot()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a">head_add_css()</a>, <a class="el" href="plugin_8php.html#a516591850f4fd49fd1425cfa54089db8">head_add_js()</a>, <a class="el" href="plugin_8php.html#af92789f559b89a380e49d303218aeeca">head_get_css()</a>, <a class="el" href="plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1">head_get_js()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b">insert_hook()</a>, <a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">is_site_admin()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533">item_redir_and_replace_images()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="items_8php.html#ac1fcf621dce7370515b420a7753f4726">map_scope()</a>, <a class="el" href="nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a">nav_set_selected()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">public_permissions_sql()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7">rpost_callback()</a>, <a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">saved_searches()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="Contact_8php.html#a38daa1c210b78385307123450ca9a1fc">terminate_friendship()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">theme_include()</a>, <a class="el" href="language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d">tt()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, and <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>.</p>
+<p>Referenced by <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty\__construct()</a>, <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine\__construct()</a>, <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc()</a>, <a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec">blogtheme_imgurl()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">can_comment_on_post()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest_run()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b">comanche_menu()</a>, <a class="el" href="comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe">comanche_replace_region()</a>, <a class="el" href="comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f">comanche_widget()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1">dir_tagblock()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="classRedBrowser.html#a1f7daf50bb9bfcde7345b3b1908dbd7e">RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="boot_8php.html#afe88b920aa285982edb817a0dd44eb37">get_account_id()</a>, <a class="el" href="language_8php.html#a980dee1d8715a98ab02e36b59facf8ed">get_best_language()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="security_8php.html#acd06ef411116115c2f0a92633700db8a">get_form_security_token()</a>, <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine\get_intltext_template()</a>, <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">get_intltext_template()</a>, <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">get_markup_template()</a>, <a class="el" href="boot_8php.html#a623e49c79943f3e7bdb770d021683cf7">get_observer_hash()</a>, <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink()</a>, <a class="el" href="settings_8php.html#a39abc76ff5459c57e3b957664f273f18">get_theme_config_file()</a>, <a class="el" href="plugin_8php.html#a48047edfbef770125a5508dcc2f9282f">get_theme_screenshot()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a">head_add_css()</a>, <a class="el" href="plugin_8php.html#a516591850f4fd49fd1425cfa54089db8">head_add_js()</a>, <a class="el" href="plugin_8php.html#af92789f559b89a380e49d303218aeeca">head_get_css()</a>, <a class="el" href="plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1">head_get_js()</a>, <a class="el" href="plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf">head_remove_css()</a>, <a class="el" href="plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4">head_remove_js()</a>, <a class="el" href="classRedBrowser.html#a7f6bf0bda07833f4c647557bd172e349">RedBrowser\htmlActionsPanel()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b">insert_hook()</a>, <a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">is_site_admin()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533">item_redir_and_replace_images()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="items_8php.html#ac1fcf621dce7370515b420a7753f4726">map_scope()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a">nav_set_selected()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">public_permissions_sql()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7">rpost_callback()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="Contact_8php.html#a38daa1c210b78385307123450ca9a1fc">terminate_friendship()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">theme_include()</a>, <a class="el" href="bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8">tryzrlvideo()</a>, <a class="el" href="language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d">tt()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>, <a class="el" href="widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f">widget_collections()</a>, <a class="el" href="widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b">widget_design_tools()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a3bdfb81bf9a8ddf219924fa7eaf22013">widget_menu_preview()</a>, <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, <a class="el" href="widgets_8php.html#abe03366fd22fd27d683518fa0765da50">widget_vcard()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, and <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>.</p>
</div>
</div>
@@ -998,7 +1014,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b">comanche_menu()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="security_8php.html#a15e0f8f511cc06192db63387f97238b3">stream_perms_xchans()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79">toggle_safesearch_init()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, and <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud_init()</a>, <a class="el" href="comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b">comanche_menu()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="classRedBrowser.html#a40fdbb9d9fe6c1243bbf135dd5b0a06f">RedBrowser\set_writeable()</a>, <a class="el" href="security_8php.html#a15e0f8f511cc06192db63387f97238b3">stream_perms_xchans()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79">toggle_safesearch_init()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, and <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>.</p>
</div>
</div>
@@ -1016,7 +1032,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254">toggle_mobile_init()</a>, <a class="el" href="toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79">toggle_safesearch_init()</a>, and <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254">toggle_mobile_init()</a>, <a class="el" href="toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79">toggle_safesearch_init()</a>, <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref_init()</a>, and <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>.</p>
</div>
</div>
@@ -1049,7 +1065,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, and <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>.</p>
+<p>Referenced by <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, and <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>.</p>
</div>
</div>
@@ -1067,7 +1083,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, and <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, and <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>.</p>
</div>
</div>
@@ -1118,7 +1134,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine\__construct()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids()</a>, <a class="el" href="include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74">api_friendica_version()</a>, <a class="el" href="include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0">api_oauth_access_token()</a>, <a class="el" href="include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3">api_oauth_request_token()</a>, <a class="el" href="include_2api_8php.html#a8969e8d9c683f12ba17dcd4b059e020d">api_statusnet_version()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="cloud_8php.html#a080071b784fe01d04ed6c09d9f2785b8">cloud_init()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1">goaway()</a>, <a class="el" href="include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2">http_status_exit()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="include_2network_8php.html#a4c5d50079e089168d9248427018fffd4">json_return_and_die()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6">php_init()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="pretheme_8php.html#af5660943ee99db5fd75182316522eafe">pretheme_init()</a>, <a class="el" href="qsearch_8php.html#a0501887b95bd8fa21018b2936a668894">qsearch_init()</a>, <a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">App\register_template_engine()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0">system_unavailable()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">App\template_engine()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1">update_community_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e">view_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">xml_status()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
+<p>Referenced by <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine\__construct()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids()</a>, <a class="el" href="include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74">api_friendica_version()</a>, <a class="el" href="include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0">api_oauth_access_token()</a>, <a class="el" href="include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3">api_oauth_request_token()</a>, <a class="el" href="include_2api_8php.html#a8969e8d9c683f12ba17dcd4b059e020d">api_statusnet_version()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud_init()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1">goaway()</a>, <a class="el" href="include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2">http_status_exit()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="include_2network_8php.html#a4c5d50079e089168d9248427018fffd4">json_return_and_die()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6">php_init()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="pretheme_8php.html#af5660943ee99db5fd75182316522eafe">pretheme_init()</a>, <a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">App\register_template_engine()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0">system_unavailable()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">App\template_engine()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1">update_community_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e">view_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">xml_status()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
</div>
</div>
@@ -1153,7 +1169,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09">Conversation\__construct()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="community_8php.html#a56c94ec978a38633c5628fa6f8e386d9">community_init()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#af48f7ad20914760ba9874c090384e35a">connections_aside()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="crepair_8php.html#a29464c01838e209c8059cfcd2d195caa">crepair_content()</a>, <a class="el" href="crepair_8php.html#ab089978e50df156bbfabf9f8f5ccd198">crepair_init()</a>, <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aa1d928543212871491706216742dd73c">directory_aside()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592">follow_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="mod_2group_8php.html#aeb0784dd928e53e6d8693513bec8928c">group_aside()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17">group_side()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c">lastpost_init()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#af4ba72486117cc24335fd8e92a2112a7">message_aside()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#ac9cd968a767e2ae1b88383b6cdd6dbe3">profile_photo_aside()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a2a3ac90f51941ff78b85e9389304969c">profiles_aside()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#a77fd398ae7c25142e1d9ad724ec347cc">profperm_aside()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="qsearch_8php.html#a0501887b95bd8fa21018b2936a668894">qsearch_init()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">saved_searches()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init()</a>, <a class="el" href="search_8php.html#aa911f7c7f0cdb0284e35d0ed610f19c6">search_saved_searches()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings_aside()</a>, <a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings_init()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a15e0f8f511cc06192db63387f97238b3">stream_perms_xchans()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">theme_post()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ae330cea4cddd091559659f8b469617b6">viewconnections_aside()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
+<p>Referenced by <a class="el" href="classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09">Conversation\__construct()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud_init()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="community_8php.html#a56c94ec978a38633c5628fa6f8e386d9">community_init()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592">follow_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings_init()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a15e0f8f511cc06192db63387f97238b3">stream_perms_xchans()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">theme_post()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b">widget_design_tools()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
</div>
</div>
@@ -1187,7 +1203,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592">follow_content()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="post__to__red_8php.html#a75db5d87226a0287a0ac0fa315f2bcfd">post_to_red_displayAdminContent()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, and <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592">follow_content()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="post__to__red_8php.html#a75db5d87226a0287a0ac0fa315f2bcfd">post_to_red_displayAdminContent()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, and <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>.</p>
</div>
</div>
@@ -1205,7 +1221,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="crepair_8php.html#a29464c01838e209c8059cfcd2d195caa">crepair_content()</a>, <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c">lastpost_init()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>.</p>
+<p>Referenced by <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>.</p>
</div>
</div>
@@ -1227,7 +1243,7 @@ Variables</h2></td></tr>
<p>e.g.: proc_run("ls","-la","/tmp");</p>
<p>$cmd and string args are surrounded with "" </p>
-<p>Referenced by <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
</div>
</div>
@@ -1244,7 +1260,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="mod_2directory_8php.html#aa1d928543212871491706216742dd73c">directory_aside()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="viewconnections_8php.html#ae330cea4cddd091559659f8b469617b6">viewconnections_aside()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -1305,7 +1321,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty\__construct()</a>, <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#ae82608c317421f27446465aa6724733d">api_format_messages()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="event_8php.html#a180cccd63c2a2f00ff432b03113531f3">bbtoevent()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel_aside()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connections_8php.html#af48f7ad20914760ba9874c090384e35a">connections_aside()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="crepair_8php.html#ab089978e50df156bbfabf9f8f5ccd198">crepair_init()</a>, <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="items_8php.html#aa723c0571e314a1853a24c5854b4f54f">encode_rel_links()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e">get_browser_language()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#a490972c02fdb638c52ec0e012a30bfd2">get_my_address()</a>, <a class="el" href="identity_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec">get_my_url()</a>, <a class="el" href="text_8php.html#a3ef8c0cf31f35f77462067de8712fa34">get_plink()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost_aside()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44">local_user()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249">printable()</a>, <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="qsearch_8php.html#a0501887b95bd8fa21018b2936a668894">qsearch_init()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">App\register_template_engine()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209">remote_user()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">saved_searches()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init()</a>, <a class="el" href="search_8php.html#a230ec9681ddee3b5b8b40c8d550f32f7">search_post()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classApp.html#a78788f6e9d8b713b138f81e457c5cd08">App\set_baseurl()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04">t()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">App\template_engine()</a>, <a class="el" href="language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d">tt()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3">webfinger_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty\__construct()</a>, <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#ae82608c317421f27446465aa6724733d">api_format_messages()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="event_8php.html#a180cccd63c2a2f00ff432b03113531f3">bbtoevent()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#aa723c0571e314a1853a24c5854b4f54f">encode_rel_links()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e">get_browser_language()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#a490972c02fdb638c52ec0e012a30bfd2">get_my_address()</a>, <a class="el" href="identity_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec">get_my_url()</a>, <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44">local_user()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">new_cookie()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249">printable()</a>, <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">App\register_template_engine()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209">remote_user()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3">script_path()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classApp.html#a78788f6e9d8b713b138f81e457c5cd08">App\set_baseurl()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04">t()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">App\template_engine()</a>, <a class="el" href="language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d">tt()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3">webfinger_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -1339,7 +1355,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f">bb_parse_crypt()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="text_8php.html#a85e3a4851c16674834010d8419a5d7ca">chanlink_cid()</a>, <a class="el" href="text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0">chanlink_hash()</a>, <a class="el" href="text_8php.html#a2e8d6c402603be3a1256a16605e09c2a">chanlink_url()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6">format_css_if_exists()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f">format_js_if_exists()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166">App\head_get_icon()</a>, <a class="el" href="boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77">head_get_icon()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6">magiclink_url()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79">toggle_safesearch_init()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, and <a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot_new_uid()</a>.</p>
+<p>Referenced by <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f">bb_parse_crypt()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="text_8php.html#a85e3a4851c16674834010d8419a5d7ca">chanlink_cid()</a>, <a class="el" href="text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0">chanlink_hash()</a>, <a class="el" href="text_8php.html#a2e8d6c402603be3a1256a16605e09c2a">chanlink_url()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166">App\head_get_icon()</a>, <a class="el" href="boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77">head_get_icon()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6">magiclink_url()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3">script_path()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9">sslify()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79">toggle_safesearch_init()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a08035db02ff6a23260146b4c64153422">widget_dirtags()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, and <a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot_new_uid()</a>.</p>
</div>
</div>
@@ -1354,7 +1370,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">collect_recipients()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, and <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>.</p>
+<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">collect_recipients()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, and <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>.</p>
</div>
</div>
@@ -1368,7 +1384,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro_post()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, and <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>.</p>
+<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, and <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>.</p>
</div>
</div>
@@ -1382,7 +1398,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro_post()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, and <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>.</p>
+<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, and <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>.</p>
</div>
</div>
@@ -1396,7 +1412,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro_post()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, and <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>.</p>
+<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, and <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>.</p>
</div>
</div>
@@ -1410,7 +1426,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">collect_recipients()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">collect_recipients()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
</div>
</div>
@@ -1424,7 +1440,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e">abook_connections()</a>, <a class="el" href="Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5">abook_self()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">collect_recipients()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="contact__widgets_8php.html#af24e693532a045954caab515942cfc6f">follow_widget()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings_aside()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e">abook_connections()</a>, <a class="el" href="Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5">abook_self()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">collect_recipients()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
</div>
</div>
@@ -1563,7 +1579,6 @@ Variables</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<p>Account roles </p>
<p>Referenced by <a class="el" href="Contact_8php.html#a6e64de7db60b7243dce45fb6347636ff">account_remove()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">is_site_admin()</a>, and <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>.</p>
@@ -1578,11 +1593,24 @@ Variables</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
+<p>Account roles </p>
<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, and <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>.</p>
</div>
</div>
+<a class="anchor" id="a7c2eb822d50e1554bf5c32861f36342b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACCOUNT_ROLE_SYSTEM 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="af3a4271630aabd8be592213f925d6a36"></a>
<div class="memitem">
<div class="memproto">
@@ -1607,7 +1635,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, and <a class="el" href="conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3">visible_activity()</a>.</p>
+<p>Referenced by <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, and <a class="el" href="conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3">visible_activity()</a>.</p>
</div>
</div>
@@ -1647,7 +1675,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, and <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>.</p>
+<p>Referenced by <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>.</p>
</div>
</div>
@@ -1674,7 +1702,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>activity stream defines </p>
-<p>Referenced by <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, and <a class="el" href="conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3">visible_activity()</a>.</p>
+<p>Referenced by <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, and <a class="el" href="conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3">visible_activity()</a>.</p>
</div>
</div>
@@ -1790,7 +1818,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, and <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>.</p>
</div>
</div>
@@ -1804,7 +1832,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
+<p>Referenced by <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
</div>
</div>
@@ -1902,7 +1930,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
</div>
</div>
@@ -1972,7 +2000,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="classRedInode.html#a5e8f09bc887725c3c448f8d72fe3edfc">RedInode\delete()</a>, and <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>.</p>
+<p>Referenced by <a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach_change_permissions()</a>, <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="classRedFile.html#aef71c9eaac7052be7dc8602eb12171e7">RedFile\delete()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">get_cloudpath()</a>, <a class="el" href="classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4">RedDirectory\getDir()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, and <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>.</p>
</div>
</div>
@@ -1986,7 +2014,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, and <a class="el" href="classRedInode.html#a5e8f09bc887725c3c448f8d72fe3edfc">RedInode\delete()</a>.</p>
+<p>Referenced by <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">RedDirectory\createFile()</a>, <a class="el" href="classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535">RedFile\get()</a>, and <a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">RedFile\put()</a>.</p>
</div>
</div>
@@ -2076,7 +2104,7 @@ Variables</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const DB_UPDATE_VERSION 1084</td>
+ <td class="memname">const DB_UPDATE_VERSION 1092</td>
</tr>
</table>
</div><div class="memdoc">
@@ -2108,7 +2136,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, and <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>.</p>
+<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, and <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>.</p>
</div>
</div>
@@ -2136,7 +2164,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -2164,7 +2192,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -2190,7 +2218,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="security_8php.html#a20f8b9851f23ee8894b8925584ef6821">check_form_security_std_err_msg()</a>, <a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">check_keys()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="crepair_8php.html#a29464c01838e209c8059cfcd2d195caa">crepair_content()</a>, <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c">lastpost_init()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>.</p>
+<p>Referenced by <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="security_8php.html#a20f8b9851f23ee8894b8925584ef6821">check_form_security_std_err_msg()</a>, <a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">check_keys()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="setup_8php.html#ab4b71369a25021d59247c917e98d8246">check_store()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>.</p>
</div>
</div>
@@ -2349,6 +2377,18 @@ Variables</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a87b0f279f8413c7e4d805c5d85f20d34"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_BUG 0x0400</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a7fc4b291a7cdaa48b38e27344ea183cf"></a>
<div class="memitem">
<div class="memproto">
@@ -2359,7 +2399,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>.</p>
+<p>Referenced by <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, and <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>.</p>
</div>
</div>
@@ -2387,7 +2427,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259">delete_item_lowlevel()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, and <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259">delete_item_lowlevel()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, and <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>.</p>
</div>
</div>
@@ -2485,7 +2525,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>.</p>
+<p>Referenced by <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>.</p>
</div>
</div>
@@ -2514,7 +2554,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">layout_select()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, and <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>.</p>
+<p>Referenced by <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">layout_select()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, and <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>.</p>
</div>
</div>
@@ -2566,7 +2606,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="items_8php.html#a5f690fc2484abec07840b4f9dd525bd9">encode_item_flags()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="items_8php.html#a5f690fc2484abec07840b4f9dd525bd9">encode_item_flags()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
</div>
</div>
@@ -2592,7 +2632,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
</div>
</div>
@@ -2606,7 +2646,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, and <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>.</p>
</div>
</div>
@@ -2632,7 +2672,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, and <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>.</p>
+<p>Referenced by <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, and <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>.</p>
</div>
</div>
@@ -2647,7 +2687,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p><a class="el" href="classItem.html">Item</a> visibility </p>
-<p>Referenced by <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, and <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, and <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
</div>
</div>
@@ -2661,7 +2701,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel_aside()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost_aside()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
</div>
</div>
@@ -2675,7 +2715,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>.</p>
+<p>Referenced by <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>.</p>
</div>
</div>
@@ -2747,7 +2787,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335">webfinger_dfrn()</a>, <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
+<p>Referenced by <a class="el" href="classRedFile.html#a9a67bdb34c9db6ce144b3f371148b183">RedFile\__construct()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="classRedDirectory.html#a5e3fc08b2bf9f61cea4d2ccae0495bec">RedDirectory\childExists()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569">RedDirectory\getChild()</a>, <a class="el" href="classRedDirectory.html#af6e4475dbd5abcdede00d20b8d388583">RedDirectory\getName()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335">webfinger_dfrn()</a>, <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
</div>
</div>
@@ -2761,7 +2801,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="classConversation.html#a2a96b7a6573ae53db861624659e831cb">Conversation\get_template_data()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="items_8php.html#af94c281016c6c912d06e064113336c5c">limit_body_size()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, <a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">Item\remove_child()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="classenotify.html#afbc088860f534c6c05788b48cfc262c6">enotify\send()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="plugin_8php.html#a90538627db68605aeb6db17a8ead6523">unload_plugin()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="classRedDirectory.html#a1e35e3cd31d2a15250655e4cafdea180">RedDirectory\__construct()</a>, <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="classRedDirectory.html#a986936910f0216887a25e28916c166c7">RedDirectory\createDirectory()</a>, <a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">RedDirectory\createFile()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535">RedFile\get()</a>, <a class="el" href="classConversation.html#a2a96b7a6573ae53db861624659e831cb">Conversation\get_template_data()</a>, <a class="el" href="classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4">RedDirectory\getDir()</a>, <a class="el" href="classRedFile.html#a0c961c5f49544d2502420361fa526437">RedFile\getName()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="items_8php.html#af94c281016c6c912d06e064113336c5c">limit_body_size()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">RedFile\put()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">Item\remove_child()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="classenotify.html#afbc088860f534c6c05788b48cfc262c6">enotify\send()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="classRedFile.html#a38a82bfc1b30028ea6ac75923e90fa25">RedFile\setName()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="plugin_8php.html#a90538627db68605aeb6db17a8ead6523">unload_plugin()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -2844,7 +2884,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, and <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, and <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>.</p>
</div>
</div>
@@ -2905,6 +2945,18 @@ Variables</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a458e19af801bc4b0d1f1ce1a6d9e857e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const MENU_BOOKMARK 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="ad11f30a6590d3d77f0c5e1e3909af8f5"></a>
<div class="memitem">
<div class="memproto">
@@ -2933,6 +2985,19 @@ Variables</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a718a801b0be6cbaef5e519516da12721"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const MENU_SYSTEM 0x0001</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Menu types </p>
+
+</div>
+</div>
<a class="anchor" id="a5df5359090d1f8e898c36d7cf8878ad2"></a>
<div class="memitem">
<div class="memproto">
@@ -3143,7 +3208,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>Network and protocol family types </p>
-<p>Referenced by <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, and <a class="el" href="Contact_8php.html#a38daa1c210b78385307123450ca9a1fc">terminate_friendship()</a>.</p>
+<p>Referenced by <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, and <a class="el" href="Contact_8php.html#a38daa1c210b78385307123450ca9a1fc">terminate_friendship()</a>.</p>
</div>
</div>
@@ -3510,8 +3575,6 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd">create_dir_account()</a>.</p>
-
</div>
</div>
<a class="anchor" id="a5e322a2a2d0f51924c0b2e874988e640"></a>
@@ -3524,7 +3587,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd">create_dir_account()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -3567,7 +3630,21 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">channelx_by_hash()</a>, <a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">channelx_by_n()</a>, <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">channelx_by_nick()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, and <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>.</p>
+<p>Referenced by <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">channelx_by_hash()</a>, <a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">channelx_by_n()</a>, <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">channelx_by_nick()</a>, <a class="el" href="classRedDirectory.html#a986936910f0216887a25e28916c166c7">RedDirectory\createDirectory()</a>, <a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">RedDirectory\createFile()</a>, <a class="el" href="classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4">RedDirectory\getDir()</a>, <a class="el" href="classRedDirectory.html#a2f7a574f2115f099d6dd103d5b252375">RedDirectory\getQuotaInfo()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">RedFile\put()</a>, <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6ee7a72d558d1851bbb9e3cdde377932"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PAGE_SYSTEM 0x1000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel()</a>, <a class="el" href="identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51">get_sys_channel()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -3750,7 +3827,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, and <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>.</p>
+<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, and <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>.</p>
</div>
</div>
@@ -3792,7 +3869,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
+<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
</div>
</div>
@@ -3919,6 +3996,8 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Referenced by <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>.</p>
+
</div>
</div>
<a class="anchor" id="ac43182e0d8bae7576a30b603774974f8"></a>
@@ -3931,7 +4010,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo()</a>.</p>
+<p>Referenced by <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>.</p>
</div>
</div>
@@ -4045,7 +4124,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">list_public_sites()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">list_public_sites()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -4060,7 +4139,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>registration policies </p>
-<p>Referenced by <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -4126,7 +4205,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>Default permissions for file-based storage (webDAV, etc.) These files will be owned by the webserver who will need write access to the "storage" folder. Ideally you should make this 700, however some hosted platforms may not let you change ownership of this directory so we're defaulting to both owner-write and group-write privilege. This should work for most cases without modification. Over-ride this in your .htconfig.php if you need something either more or less restrictive. </p>
-<p>Referenced by <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>.</p>
+<p>Referenced by <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="setup_8php.html#ab4b71369a25021d59247c917e98d8246">check_store()</a>, and <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud_init()</a>.</p>
</div>
</div>
@@ -4154,7 +4233,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, and <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>.</p>
</div>
</div>
@@ -4168,7 +4247,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">format_term_for_display()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="item_8php.html#abd0e603a6696051af16476eb968d52e7">handle_tag()</a>, <a class="el" href="items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7">item_getfeedtags()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">format_term_for_display()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7">item_getfeedtags()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
</div>
</div>
@@ -4182,7 +4261,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">format_term_for_display()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="text_8php.html#a76d1b3435c067978d7b484c45f56472b">get_mentions()</a>, <a class="el" href="item_8php.html#abd0e603a6696051af16476eb968d52e7">handle_tag()</a>, <a class="el" href="items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7">item_getfeedtags()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>.</p>
+<p>Referenced by <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">format_term_for_display()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="text_8php.html#a76d1b3435c067978d7b484c45f56472b">get_mentions()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7">item_getfeedtags()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>.</p>
</div>
</div>
@@ -4232,7 +4311,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259">delete_item_lowlevel()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259">delete_item_lowlevel()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
</div>
</div>
@@ -4258,7 +4337,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+<p>Referenced by <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
</div>
</div>
@@ -4286,7 +4365,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">saved_searches()</a>, <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init()</a>, and <a class="el" href="search_8php.html#aa911f7c7f0cdb0284e35d0ed610f19c6">search_saved_searches()</a>.</p>
+<p>Referenced by <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>.</p>
</div>
</div>
@@ -4315,7 +4394,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>Tag/term types </p>
-<p>Referenced by <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, and <a class="el" href="item_8php.html#abd0e603a6696051af16476eb968d52e7">handle_tag()</a>.</p>
+<p>Referenced by <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, and <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>.</p>
</div>
</div>
@@ -4400,7 +4479,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, and <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>.</p>
+<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">suggestion_query()</a>, and <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>.</p>
</div>
</div>
@@ -4414,7 +4493,21 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">suggestion_query()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">suggestion_query()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8fdcc4ffb365a3267bd02ce8a8d466d6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const XCHAN_FLAGS_NORMAL 0x0000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>.</p>
</div>
</div>
@@ -4428,7 +4521,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>.</p>
+<p>Referenced by <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, and <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>.</p>
</div>
</div>
@@ -4446,6 +4539,20 @@ Variables</h2></td></tr>
</div>
</div>
+<a class="anchor" id="afef254290febac854c85fc698d9483a6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const XCHAN_FLAGS_SYSTEM 0x0010</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a3cd42a70c6b3999590e4fd7a1a9096af"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/boot_8php.js b/doc/html/boot_8php.js
index 04dc56157..5d4638739 100644
--- a/doc/html/boot_8php.js
+++ b/doc/html/boot_8php.js
@@ -54,6 +54,7 @@ var boot_8php =
[ "ACCOUNT_REMOVED", "boot_8php.html#ab5ddbe69d3d03acd06e1fb281488cb78", null ],
[ "ACCOUNT_ROLE_ADMIN", "boot_8php.html#ac8400313df2c831653f9036f71ebd86d", null ],
[ "ACCOUNT_ROLE_ALLOWCODE", "boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688", null ],
+ [ "ACCOUNT_ROLE_SYSTEM", "boot_8php.html#a7c2eb822d50e1554bf5c32861f36342b", null ],
[ "ACCOUNT_UNVERIFIED", "boot_8php.html#af3a4271630aabd8be592213f925d6a36", null ],
[ "ACTIVITY_DISLIKE", "boot_8php.html#a0e57f846e6d47a308feced0f7274f178", null ],
[ "ACTIVITY_FAVORITE", "boot_8php.html#a3e2ea123d29a72012db1241f96280b0e", null ],
@@ -111,6 +112,7 @@ var boot_8php =
[ "HUBLOC_SEND_ERROR", "boot_8php.html#a3b56bfc6a0dd159070e316ddac3b7456", null ],
[ "HUBLOC_WORKS", "boot_8php.html#a7a8ba64d089cc0412c59a2eefc6d655c", null ],
[ "ITEM_BLOCKED", "boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f", null ],
+ [ "ITEM_BUG", "boot_8php.html#a87b0f279f8413c7e4d805c5d85f20d34", null ],
[ "ITEM_BUILDBLOCK", "boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf", null ],
[ "ITEM_DELAYED_PUBLISH", "boot_8php.html#ac890557fedc5b5a3b1d996249b1e1a20", null ],
[ "ITEM_DELETED", "boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49", null ],
@@ -151,8 +153,10 @@ var boot_8php =
[ "MAIL_SEEN", "boot_8php.html#a1fbb93cf030f07391f22cc2948744869", null ],
[ "MAX_IMAGE_LENGTH", "boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa", null ],
[ "MAX_LIKERS", "boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd", null ],
+ [ "MENU_BOOKMARK", "boot_8php.html#a458e19af801bc4b0d1f1ce1a6d9e857e", null ],
[ "MENU_ITEM_NEWWIN", "boot_8php.html#ad11f30a6590d3d77f0c5e1e3909af8f5", null ],
[ "MENU_ITEM_ZID", "boot_8php.html#aed0dfb35f7dd00dc9e4f868ea7f7ff53", null ],
+ [ "MENU_SYSTEM", "boot_8php.html#a718a801b0be6cbaef5e519516da12721", null ],
[ "NAMESPACE_ACTIVITY", "boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2", null ],
[ "NAMESPACE_ACTIVITY_SCHEMA", "boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133", null ],
[ "NAMESPACE_ATOM1", "boot_8php.html#a444ce608ce34efb82ee11852f36e825f", null ],
@@ -200,6 +204,7 @@ var boot_8php =
[ "PAGE_NORMAL", "boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3", null ],
[ "PAGE_PREMIUM", "boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8", null ],
[ "PAGE_REMOVED", "boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6", null ],
+ [ "PAGE_SYSTEM", "boot_8php.html#a6ee7a72d558d1851bbb9e3cdde377932", null ],
[ "PERMS_A_DELEGATE", "boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b", null ],
[ "PERMS_A_REPUBLISH", "boot_8php.html#aae6c941bde5fd6fce07e51dba7326ead", null ],
[ "PERMS_CONTACTS", "boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6", null ],
@@ -261,8 +266,10 @@ var boot_8php =
[ "XCHAN_FLAGS_CENSORED", "boot_8php.html#accd6f36cc9f40225cbd720e4d12a7c6e", null ],
[ "XCHAN_FLAGS_DELETED", "boot_8php.html#a9ea1290e00c6d40684892047f2c778a9", null ],
[ "XCHAN_FLAGS_HIDDEN", "boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2", null ],
+ [ "XCHAN_FLAGS_NORMAL", "boot_8php.html#a8fdcc4ffb365a3267bd02ce8a8d466d6", null ],
[ "XCHAN_FLAGS_ORPHAN", "boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f", null ],
[ "XCHAN_FLAGS_SELFCENSORED", "boot_8php.html#a5a681a672e007cdc22b43345d71f07c6", null ],
+ [ "XCHAN_FLAGS_SYSTEM", "boot_8php.html#afef254290febac854c85fc698d9483a6", null ],
[ "ZCURL_TIMEOUT", "boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af", null ],
[ "ZOT_REVISION", "boot_8php.html#a36b31575f992a10b5927b76efba9362e", null ]
]; \ No newline at end of file
diff --git a/doc/html/channel_8php.html b/doc/html/channel_8php.html
index bea337346..61550f610 100644
--- a/doc/html/channel_8php.html
+++ b/doc/html/channel_8php.html
@@ -114,28 +114,10 @@ $(document).ready(function(){initNavTree('channel_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:ac7c8c7845741baadf87fae6bc279f3dc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init</a> (&amp;$a)</td></tr>
<tr class="separator:ac7c8c7845741baadf87fae6bc279f3dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aea8e189f2fbabfda779349dd94082e8e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel_aside</a> (&amp;$a)</td></tr>
-<tr class="separator:aea8e189f2fbabfda779349dd94082e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c6a6179e0e626398ebecc6151905ef1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content</a> (&amp;$a, $update=0, $load=false)</td></tr>
<tr class="separator:a9c6a6179e0e626398ebecc6151905ef1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="aea8e189f2fbabfda779349dd94082e8e"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">channel_aside </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="a9c6a6179e0e626398ebecc6151905ef1"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/channel_8php.js b/doc/html/channel_8php.js
index 4aa5d2d20..b76a435de 100644
--- a/doc/html/channel_8php.js
+++ b/doc/html/channel_8php.js
@@ -1,6 +1,5 @@
var channel_8php =
[
- [ "channel_aside", "channel_8php.html#aea8e189f2fbabfda779349dd94082e8e", null ],
[ "channel_content", "channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1", null ],
[ "channel_init", "channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc", null ]
]; \ No newline at end of file
diff --git a/doc/html/classApp-members.html b/doc/html/classApp-members.html
index d13d7f14c..4661adc60 100644
--- a/doc/html/classApp-members.html
+++ b/doc/html/classApp-members.html
@@ -152,56 +152,57 @@ $(document).ready(function(){initNavTree('classApp.html','');});
<tr><td class="entry"><a class="el" href="classApp.html#acad5896b7a79ae31433ad8f89606c728">$path</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApp.html#ab47de68fa39806d1fb0976407e188b77">$perms</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="classApp.html#ae9f96338f32187d308b67b980eea0008">$plugins</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a57d041fcc003d08c127dfa99a02bc192">$profile</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a08c24d6a6fc52fcc784b0f765f13b820">$profile_uid</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f">$query_string</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a244b2d53b21be269aad2269d23192f95">$rdelim</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#ad082d63acc078e5bf23825a03bdd6a76">$scheme</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11">$sourcename</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a5f64620473a9727a48ebe9cf6f335a98">$strings</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a6844aedad10e201b8c3d80cfc9e876d3">$template_engine_instance</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a6859a4848a5c0049b4134cc4b34228b6">$template_engines</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a764cc6cd7578132c21d2b4545de9301c">$theme</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#aeca29fd4f7192ca07369b3c598c36e67">$theme_info</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a487332f8de40414ca1a54a4265570b70">$theme_thread_allow</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#ab35b01a366a2ea95725e97af278f87ab">$timezone</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a91fd3c8b89016113b05f3be24805ccff">$user</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a56b1a432c96aef8b1971f779c9d93c8c">$videoheight</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8">$videowidth</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a4833bee2eae4ad1691a04fa19e11a766">$widgetlist</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#aa5a87c46ab3fee21362c466bf78042ef">$widgets</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">__construct</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">build_pagehead</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a08bc87aff64f39fbc084e9d6545cee4d">get_account</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad">get_apps</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a604d659d6977a99de42a160343e5289a">get_baseurl</a>($ssl=false)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a084e03c77686d8c13390fef3f7428a2b">get_channel</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a4659785d13e4bac0bed50dbb1b0d4299">get_groups</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a622eace13f8fc9f4b5672a68e2bc4396">get_hostname</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2">get_observer</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be">get_path</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#adb5a4bb657881e553978ff390babd01f">get_perms</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#acb27e607fe4c82603444676e25c36b70">get_template_engine</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a">get_template_ldelim</a>($engine= 'smarty3')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#aab23c59172310fd30f2d60dc039d3eea">get_template_rdelim</a>($engine= 'smarty3')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">get_widgets</a>($location= '')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166">head_get_icon</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a8863703a0305eaa45eb970dbd2046291">head_set_icon</a>($icon)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">register_template_engine</a>($class, $name= '')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#aeb1fe1c8ad9aa639909bd183ce578536">set_account</a>($acct)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#abea5a4f77dcd53c928dc4eed86616637">set_apps</a>($arr)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a78788f6e9d8b713b138f81e457c5cd08">set_baseurl</a>($url)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a89e9feb2bfb5253883a9720beaffe876">set_channel</a>($channel)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a3d84af5e42082098672531cd1a618853">set_groups</a>($g)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a344d2b7dc2f276648d521aee4da1731c">set_hostname</a>($h)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a4776d9322edea17fae56afa5d01a323e">set_observer</a>($xchan)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a4bdd7bfed62f50515fce652127bf481b">set_pager_itemspage</a>($n)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a560189f048d3db2f526841963cc43e97">set_pager_total</a>($n)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#adb060d5c7f35a521ec7ec0effbe08097">set_path</a>($p)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a557d7b779d8259027f4724ebf7b248dc">set_perms</a>($perms)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7">set_template_engine</a>($engine= 'smarty3')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a123b903dfe5d3488cc68db3471d36fd2">set_widget</a>($title, $html, $location= 'aside')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">template_engine</a>($name= '')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a1936f2afce0dc0d1bbed15ae1f2ee81a">$poi</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a57d041fcc003d08c127dfa99a02bc192">$profile</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a08c24d6a6fc52fcc784b0f765f13b820">$profile_uid</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f">$query_string</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a244b2d53b21be269aad2269d23192f95">$rdelim</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#ad082d63acc078e5bf23825a03bdd6a76">$scheme</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11">$sourcename</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a5f64620473a9727a48ebe9cf6f335a98">$strings</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a6844aedad10e201b8c3d80cfc9e876d3">$template_engine_instance</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a6859a4848a5c0049b4134cc4b34228b6">$template_engines</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a764cc6cd7578132c21d2b4545de9301c">$theme</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#aeca29fd4f7192ca07369b3c598c36e67">$theme_info</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a487332f8de40414ca1a54a4265570b70">$theme_thread_allow</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#ab35b01a366a2ea95725e97af278f87ab">$timezone</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a91fd3c8b89016113b05f3be24805ccff">$user</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a56b1a432c96aef8b1971f779c9d93c8c">$videoheight</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8">$videowidth</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a4833bee2eae4ad1691a04fa19e11a766">$widgetlist</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#aa5a87c46ab3fee21362c466bf78042ef">$widgets</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">__construct</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">build_pagehead</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a08bc87aff64f39fbc084e9d6545cee4d">get_account</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad">get_apps</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a604d659d6977a99de42a160343e5289a">get_baseurl</a>($ssl=false)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a084e03c77686d8c13390fef3f7428a2b">get_channel</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a4659785d13e4bac0bed50dbb1b0d4299">get_groups</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a622eace13f8fc9f4b5672a68e2bc4396">get_hostname</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2">get_observer</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be">get_path</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#adb5a4bb657881e553978ff390babd01f">get_perms</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#acb27e607fe4c82603444676e25c36b70">get_template_engine</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a">get_template_ldelim</a>($engine= 'smarty3')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#aab23c59172310fd30f2d60dc039d3eea">get_template_rdelim</a>($engine= 'smarty3')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">get_widgets</a>($location= '')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166">head_get_icon</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a8863703a0305eaa45eb970dbd2046291">head_set_icon</a>($icon)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">register_template_engine</a>($class, $name= '')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#aeb1fe1c8ad9aa639909bd183ce578536">set_account</a>($acct)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#abea5a4f77dcd53c928dc4eed86616637">set_apps</a>($arr)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a78788f6e9d8b713b138f81e457c5cd08">set_baseurl</a>($url)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a89e9feb2bfb5253883a9720beaffe876">set_channel</a>($channel)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a3d84af5e42082098672531cd1a618853">set_groups</a>($g)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a344d2b7dc2f276648d521aee4da1731c">set_hostname</a>($h)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a4776d9322edea17fae56afa5d01a323e">set_observer</a>($xchan)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a4bdd7bfed62f50515fce652127bf481b">set_pager_itemspage</a>($n)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a560189f048d3db2f526841963cc43e97">set_pager_total</a>($n)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#adb060d5c7f35a521ec7ec0effbe08097">set_path</a>($p)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a557d7b779d8259027f4724ebf7b248dc">set_perms</a>($perms)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7">set_template_engine</a>($engine= 'smarty3')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a123b903dfe5d3488cc68db3471d36fd2">set_widget</a>($title, $html, $location= 'aside')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">template_engine</a>($name= '')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/classApp.html b/doc/html/classApp.html
index 38ed4ada3..3c6d0655e 100644
--- a/doc/html/classApp.html
+++ b/doc/html/classApp.html
@@ -192,6 +192,8 @@ Public Attributes</h2></td></tr>
<tr class="separator:a4ffe529fb14389f7fedf5fdc5f722e7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08c24d6a6fc52fcc784b0f765f13b820"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a08c24d6a6fc52fcc784b0f765f13b820">$profile_uid</a> = 0</td></tr>
<tr class="separator:a08c24d6a6fc52fcc784b0f765f13b820"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1936f2afce0dc0d1bbed15ae1f2ee81a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a1936f2afce0dc0d1bbed15ae1f2ee81a">$poi</a> = null</td></tr>
+<tr class="separator:a1936f2afce0dc0d1bbed15ae1f2ee81a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58ac598544892ff7c32890291b72635e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a58ac598544892ff7c32890291b72635e">$layout</a> = array()</td></tr>
<tr class="separator:a58ac598544892ff7c32890291b72635e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6e6b1c7d6df408580ff79977fcfa656"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ac6e6b1c7d6df408580ff79977fcfa656">$groups</a></td></tr>
@@ -1456,6 +1458,18 @@ Private Attributes</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a1936f2afce0dc0d1bbed15ae1f2ee81a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$poi = null</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a57d041fcc003d08c127dfa99a02bc192"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/classApp.js b/doc/html/classApp.js
index 51d9daba4..52808c33c 100644
--- a/doc/html/classApp.js
+++ b/doc/html/classApp.js
@@ -72,6 +72,7 @@ var classApp =
[ "$path", "classApp.html#acad5896b7a79ae31433ad8f89606c728", null ],
[ "$perms", "classApp.html#ab47de68fa39806d1fb0976407e188b77", null ],
[ "$plugins", "classApp.html#ae9f96338f32187d308b67b980eea0008", null ],
+ [ "$poi", "classApp.html#a1936f2afce0dc0d1bbed15ae1f2ee81a", null ],
[ "$profile", "classApp.html#a57d041fcc003d08c127dfa99a02bc192", null ],
[ "$profile_uid", "classApp.html#a08c24d6a6fc52fcc784b0f765f13b820", null ],
[ "$query_string", "classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f", null ],
diff --git a/doc/html/classItem-members.html b/doc/html/classItem-members.html
index a4c9c11b1..3da704b93 100644
--- a/doc/html/classItem-members.html
+++ b/doc/html/classItem-members.html
@@ -159,6 +159,7 @@ $(document).ready(function(){initNavTree('classItem.html','');});
<tr class="even"><td class="entry"><a class="el" href="classItem.html#aa1bd19fc8b5577078530265a7bf64123">set_commentable</a>($val)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">set_conversation</a>($conv)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7">set_parent</a>($item)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#af1b73df9b7c4b927e26b7e243b491f42">set_template</a>($t)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/classItem.html b/doc/html/classItem.html
index 5239498e5..2fccecd96 100644
--- a/doc/html/classItem.html
+++ b/doc/html/classItem.html
@@ -180,6 +180,8 @@ Protected Member Functions</h2></td></tr>
Private Member Functions</h2></td></tr>
<tr class="memitem:aba23a0a9d89e316d2b343cc46d695d91"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aba23a0a9d89e316d2b343cc46d695d91">get_template</a> ()</td></tr>
<tr class="separator:aba23a0a9d89e316d2b343cc46d695d91"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af1b73df9b7c4b927e26b7e243b491f42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#af1b73df9b7c4b927e26b7e243b491f42">set_template</a> ($<a class="el" href="language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04">t</a>)</td></tr>
+<tr class="separator:af1b73df9b7c4b927e26b7e243b491f42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa49e40f961dff66da32c5ae110e32993"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aa49e40f961dff66da32c5ae110e32993">is_toplevel</a> ()</td></tr>
<tr class="separator:aa49e40f961dff66da32c5ae110e32993"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca1e66988ed00cd627b2a359b72cd0ae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">count_descendants</a> ()</td></tr>
@@ -887,6 +889,30 @@ Additional Inherited Members</h2></td></tr>
</div>
</div>
+<a class="anchor" id="af1b73df9b7c4b927e26b7e243b491f42"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::set_template </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$t</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="acc32426c0f465391be8a99ad810c7b8e"></a>
<div class="memitem">
diff --git a/doc/html/classItem.js b/doc/html/classItem.js
index 3e0b0082f..afdf7677d 100644
--- a/doc/html/classItem.js
+++ b/doc/html/classItem.js
@@ -29,6 +29,7 @@ var classItem =
[ "set_commentable", "classItem.html#aa1bd19fc8b5577078530265a7bf64123", null ],
[ "set_conversation", "classItem.html#aa8b1bbc4236890694635295e46d7fd72", null ],
[ "set_parent", "classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7", null ],
+ [ "set_template", "classItem.html#af1b73df9b7c4b927e26b7e243b491f42", null ],
[ "$channel", "classItem.html#acc32426c0f465391be8a99ad810c7b8e", null ],
[ "$children", "classItem.html#a80dcd0fb7673776c0967839d429c2a0f", null ],
[ "$comment_box_template", "classItem.html#a90743c8348b13213275c223bb9333aa0", null ],
diff --git a/doc/html/classRedBasicAuth-members.html b/doc/html/classRedBasicAuth-members.html
index 10817e697..9c9134b08 100644
--- a/doc/html/classRedBasicAuth-members.html
+++ b/doc/html/classRedBasicAuth-members.html
@@ -112,6 +112,16 @@ $(document).ready(function(){initNavTree('classRedBasicAuth.html','');});
<p>This is the complete list of members for <a class="el" href="classRedBasicAuth.html">RedBasicAuth</a>, including all inherited members.</p>
<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classRedBasicAuth.html#af14337f1baad407f8a85d48205c0f30e">$browser</a></td><td class="entry"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedBasicAuth.html#ad5a3ea4dc4783b242d9dc6e76478b6ef">$channel_hash</a></td><td class="entry"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedBasicAuth.html#a2dab393650d1573e3515969a153e8354">$channel_id</a></td><td class="entry"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedBasicAuth.html#a438ab125b6ef46581947e35d49cdebac">$channel_name</a></td><td class="entry"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedBasicAuth.html#aa75dc43b59adc98e38a98517d3fd35d1">$observer</a></td><td class="entry"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedBasicAuth.html#a09c1488a0b290f5a54dc15180c5690d7">$owner_id</a></td><td class="entry"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedBasicAuth.html#a8d09b8d784cc810a0b3be580d05106a7">$owner_nick</a></td><td class="entry"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedBasicAuth.html#a2d0246ed446fd5e55c17938b4ce6ac47">$timezone</a></td><td class="entry"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedBasicAuth.html#a358ddad4abb5aa8c1382cf49a907adbc">setBrowserPlugin</a>($browser)</td><td class="entry"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedBasicAuth.html#a072e8244a9a7f191b32d3db5ac94f857">setCurrentUser</a>($name)</td><td class="entry"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classRedBasicAuth.html#a8dfd9a0953f8884723b421b7c1acf79b">validateUserPass</a>($username, $password)</td><td class="entry"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/classRedBasicAuth.html b/doc/html/classRedBasicAuth.html
index 8bf5996ca..3436c85fa 100644
--- a/doc/html/classRedBasicAuth.html
+++ b/doc/html/classRedBasicAuth.html
@@ -106,6 +106,8 @@ $(document).ready(function(){initNavTree('classRedBasicAuth.html','');});
<div class="header">
<div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classRedBasicAuth-members.html">List of all members</a> </div>
<div class="headertitle">
@@ -121,12 +123,70 @@ Inheritance diagram for RedBasicAuth:</div>
</map>
</div></div>
<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:a072e8244a9a7f191b32d3db5ac94f857"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBasicAuth.html#a072e8244a9a7f191b32d3db5ac94f857">setCurrentUser</a> ($name)</td></tr>
+<tr class="separator:a072e8244a9a7f191b32d3db5ac94f857"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a358ddad4abb5aa8c1382cf49a907adbc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBasicAuth.html#a358ddad4abb5aa8c1382cf49a907adbc">setBrowserPlugin</a> ($browser)</td></tr>
+<tr class="separator:a358ddad4abb5aa8c1382cf49a907adbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a438ab125b6ef46581947e35d49cdebac"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBasicAuth.html#a438ab125b6ef46581947e35d49cdebac">$channel_name</a> = ''</td></tr>
+<tr class="separator:a438ab125b6ef46581947e35d49cdebac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2dab393650d1573e3515969a153e8354"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBasicAuth.html#a2dab393650d1573e3515969a153e8354">$channel_id</a> = 0</td></tr>
+<tr class="separator:a2dab393650d1573e3515969a153e8354"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5a3ea4dc4783b242d9dc6e76478b6ef"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBasicAuth.html#ad5a3ea4dc4783b242d9dc6e76478b6ef">$channel_hash</a> = ''</td></tr>
+<tr class="separator:ad5a3ea4dc4783b242d9dc6e76478b6ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa75dc43b59adc98e38a98517d3fd35d1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBasicAuth.html#aa75dc43b59adc98e38a98517d3fd35d1">$observer</a> = ''</td></tr>
+<tr class="separator:aa75dc43b59adc98e38a98517d3fd35d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af14337f1baad407f8a85d48205c0f30e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBasicAuth.html#af14337f1baad407f8a85d48205c0f30e">$browser</a></td></tr>
+<tr class="separator:af14337f1baad407f8a85d48205c0f30e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a09c1488a0b290f5a54dc15180c5690d7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBasicAuth.html#a09c1488a0b290f5a54dc15180c5690d7">$owner_id</a></td></tr>
+<tr class="separator:a09c1488a0b290f5a54dc15180c5690d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d09b8d784cc810a0b3be580d05106a7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBasicAuth.html#a8d09b8d784cc810a0b3be580d05106a7">$owner_nick</a> = ''</td></tr>
+<tr class="separator:a8d09b8d784cc810a0b3be580d05106a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d0246ed446fd5e55c17938b4ce6ac47"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBasicAuth.html#a2d0246ed446fd5e55c17938b4ce6ac47">$timezone</a></td></tr>
+<tr class="separator:a2d0246ed446fd5e55c17938b4ce6ac47"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a8dfd9a0953f8884723b421b7c1acf79b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBasicAuth.html#a8dfd9a0953f8884723b421b7c1acf79b">validateUserPass</a> ($username, $password)</td></tr>
<tr class="separator:a8dfd9a0953f8884723b421b7c1acf79b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a358ddad4abb5aa8c1382cf49a907adbc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBasicAuth::setBrowserPlugin </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$browser</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a072e8244a9a7f191b32d3db5ac94f857"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBasicAuth::setCurrentUser </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$name</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a8dfd9a0953f8884723b421b7c1acf79b"></a>
<div class="memitem">
<div class="memproto">
@@ -161,8 +221,107 @@ Protected Member Functions</h2></td></tr>
</div>
</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="af14337f1baad407f8a85d48205c0f30e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBasicAuth::$browser</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedBasicAuth.html#a358ddad4abb5aa8c1382cf49a907adbc">setBrowserPlugin()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad5a3ea4dc4783b242d9dc6e76478b6ef"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBasicAuth::$channel_hash = ''</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2dab393650d1573e3515969a153e8354"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBasicAuth::$channel_id = 0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a438ab125b6ef46581947e35d49cdebac"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBasicAuth::$channel_name = ''</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa75dc43b59adc98e38a98517d3fd35d1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBasicAuth::$observer = ''</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a09c1488a0b290f5a54dc15180c5690d7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBasicAuth::$owner_id</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8d09b8d784cc810a0b3be580d05106a7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBasicAuth::$owner_nick = ''</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2d0246ed446fd5e55c17938b4ce6ac47"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBasicAuth::$timezone</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<hr/>The documentation for this class was generated from the following file:<ul>
-<li>mod/<a class="el" href="cloud_8php.html">cloud.php</a></li>
+<li>include/<a class="el" href="reddav_8php.html">reddav.php</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/classRedBasicAuth.js b/doc/html/classRedBasicAuth.js
index 5c1d058d4..ac33c155a 100644
--- a/doc/html/classRedBasicAuth.js
+++ b/doc/html/classRedBasicAuth.js
@@ -1,4 +1,14 @@
var classRedBasicAuth =
[
- [ "validateUserPass", "classRedBasicAuth.html#a8dfd9a0953f8884723b421b7c1acf79b", null ]
+ [ "setBrowserPlugin", "classRedBasicAuth.html#a358ddad4abb5aa8c1382cf49a907adbc", null ],
+ [ "setCurrentUser", "classRedBasicAuth.html#a072e8244a9a7f191b32d3db5ac94f857", null ],
+ [ "validateUserPass", "classRedBasicAuth.html#a8dfd9a0953f8884723b421b7c1acf79b", null ],
+ [ "$browser", "classRedBasicAuth.html#af14337f1baad407f8a85d48205c0f30e", null ],
+ [ "$channel_hash", "classRedBasicAuth.html#ad5a3ea4dc4783b242d9dc6e76478b6ef", null ],
+ [ "$channel_id", "classRedBasicAuth.html#a2dab393650d1573e3515969a153e8354", null ],
+ [ "$channel_name", "classRedBasicAuth.html#a438ab125b6ef46581947e35d49cdebac", null ],
+ [ "$observer", "classRedBasicAuth.html#aa75dc43b59adc98e38a98517d3fd35d1", null ],
+ [ "$owner_id", "classRedBasicAuth.html#a09c1488a0b290f5a54dc15180c5690d7", null ],
+ [ "$owner_nick", "classRedBasicAuth.html#a8d09b8d784cc810a0b3be580d05106a7", null ],
+ [ "$timezone", "classRedBasicAuth.html#a2d0246ed446fd5e55c17938b4ce6ac47", null ]
]; \ No newline at end of file
diff --git a/doc/html/classRedBrowser-members.html b/doc/html/classRedBrowser-members.html
new file mode 100644
index 000000000..fd659eec4
--- /dev/null
+++ b/doc/html/classRedBrowser-members.html
@@ -0,0 +1,122 @@
+<!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 Red Matrix: 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 Red Matrix
+ </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('classRedBrowser.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">RedBrowser Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classRedBrowser.html">RedBrowser</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classRedBrowser.html#ab6d6d1e2a67e06b344a4cede1bd00b35">$auth</a></td><td class="entry"><a class="el" href="classRedBrowser.html">RedBrowser</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedBrowser.html#a4b76be9ccef0262cf78fffb4129eda93">__construct</a>(&amp;$auth)</td><td class="entry"><a class="el" href="classRedBrowser.html">RedBrowser</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedBrowser.html#a1f7daf50bb9bfcde7345b3b1908dbd7e">generateDirectoryIndex</a>($path)</td><td class="entry"><a class="el" href="classRedBrowser.html">RedBrowser</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedBrowser.html#a7f6bf0bda07833f4c647557bd172e349">htmlActionsPanel</a>(DAV\INode $node, &amp;$output)</td><td class="entry"><a class="el" href="classRedBrowser.html">RedBrowser</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedBrowser.html#a40fdbb9d9fe6c1243bbf135dd5b0a06f">set_writeable</a>()</td><td class="entry"><a class="el" href="classRedBrowser.html">RedBrowser</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classRedBrowser.html b/doc/html/classRedBrowser.html
new file mode 100644
index 000000000..19a02f9e4
--- /dev/null
+++ b/doc/html/classRedBrowser.html
@@ -0,0 +1,244 @@
+<!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 Red Matrix: RedBrowser 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 Red Matrix
+ </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('classRedBrowser.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="#pri-attribs">Private Attributes</a> &#124;
+<a href="classRedBrowser-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">RedBrowser Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for RedBrowser:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classRedBrowser.png" usemap="#RedBrowser_map" alt=""/>
+ <map id="RedBrowser_map" name="RedBrowser_map">
+</map>
+ </div></div>
+<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:a4b76be9ccef0262cf78fffb4129eda93"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBrowser.html#a4b76be9ccef0262cf78fffb4129eda93">__construct</a> (&amp;$auth)</td></tr>
+<tr class="separator:a4b76be9ccef0262cf78fffb4129eda93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a40fdbb9d9fe6c1243bbf135dd5b0a06f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBrowser.html#a40fdbb9d9fe6c1243bbf135dd5b0a06f">set_writeable</a> ()</td></tr>
+<tr class="separator:a40fdbb9d9fe6c1243bbf135dd5b0a06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f7daf50bb9bfcde7345b3b1908dbd7e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBrowser.html#a1f7daf50bb9bfcde7345b3b1908dbd7e">generateDirectoryIndex</a> ($path)</td></tr>
+<tr class="separator:a1f7daf50bb9bfcde7345b3b1908dbd7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f6bf0bda07833f4c647557bd172e349"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBrowser.html#a7f6bf0bda07833f4c647557bd172e349">htmlActionsPanel</a> (DAV\INode $node, &amp;$output)</td></tr>
+<tr class="separator:a7f6bf0bda07833f4c647557bd172e349"><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:ab6d6d1e2a67e06b344a4cede1bd00b35"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBrowser.html#ab6d6d1e2a67e06b344a4cede1bd00b35">$auth</a></td></tr>
+<tr class="separator:ab6d6d1e2a67e06b344a4cede1bd00b35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a4b76be9ccef0262cf78fffb4129eda93"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBrowser::__construct </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$auth</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a1f7daf50bb9bfcde7345b3b1908dbd7e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBrowser::generateDirectoryIndex </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$path</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7f6bf0bda07833f4c647557bd172e349"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBrowser::htmlActionsPanel </td>
+ <td>(</td>
+ <td class="paramtype">DAV\INode&#160;</td>
+ <td class="paramname"><em>$node</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$output</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a40fdbb9d9fe6c1243bbf135dd5b0a06f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBrowser::set_writeable </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="ab6d6d1e2a67e06b344a4cede1bd00b35"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedBrowser::$auth</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="classRedBrowser.html#a4b76be9ccef0262cf78fffb4129eda93">__construct()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="reddav_8php.html">reddav.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classRedBrowser.js b/doc/html/classRedBrowser.js
new file mode 100644
index 000000000..c0222b8f9
--- /dev/null
+++ b/doc/html/classRedBrowser.js
@@ -0,0 +1,8 @@
+var classRedBrowser =
+[
+ [ "__construct", "classRedBrowser.html#a4b76be9ccef0262cf78fffb4129eda93", null ],
+ [ "generateDirectoryIndex", "classRedBrowser.html#a1f7daf50bb9bfcde7345b3b1908dbd7e", null ],
+ [ "htmlActionsPanel", "classRedBrowser.html#a7f6bf0bda07833f4c647557bd172e349", null ],
+ [ "set_writeable", "classRedBrowser.html#a40fdbb9d9fe6c1243bbf135dd5b0a06f", null ],
+ [ "$auth", "classRedBrowser.html#ab6d6d1e2a67e06b344a4cede1bd00b35", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classRedBrowser.png b/doc/html/classRedBrowser.png
new file mode 100644
index 000000000..df14b3aa8
--- /dev/null
+++ b/doc/html/classRedBrowser.png
Binary files differ
diff --git a/doc/html/classRedDirectory-members.html b/doc/html/classRedDirectory-members.html
index a3a9ea6a3..cb01d9724 100644
--- a/doc/html/classRedDirectory-members.html
+++ b/doc/html/classRedDirectory-members.html
@@ -113,15 +113,21 @@ $(document).ready(function(){initNavTree('classRedDirectory.html','');});
<p>This is the complete list of members for <a class="el" href="classRedDirectory.html">RedDirectory</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classRedDirectory.html#a9616af16cd19a18a6afebebcc2881c44">$auth</a></td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classRedDirectory.html#ae624dcaa4d73a517f4b1616d33df690d">$channel_id</a></td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classRedDirectory.html#a8d5df814b2f825dd14c628a51b5829b5">$dir_key</a></td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classRedDirectory.html#acb32b8df27538c57772824a745e751d7">$red_path</a></td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classRedDirectory.html#add0bf2c049230fec4913e769d126e6e6">__construct</a>($red_path, $auth_plugin)</td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedDirectory.html#a0f113244cd85c17848df991001d024f4">$ext_path</a></td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedDirectory.html#aa10254abf177bb2a0e4a88495725e09b">$folder_hash</a></td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedDirectory.html#a3c148c07ad909985125aa4926d8d0021">$os_path</a></td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedDirectory.html#acb32b8df27538c57772824a745e751d7">$red_path</a></td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedDirectory.html#ad87c514a307ec97ba0f1372e9bcfa6a4">$root_dir</a></td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedDirectory.html#a1e35e3cd31d2a15250655e4cafdea180">__construct</a>($ext_path, &amp;$auth_plugin)</td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classRedDirectory.html#a5e3fc08b2bf9f61cea4d2ccae0495bec">childExists</a>($name)</td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classRedDirectory.html#a986936910f0216887a25e28916c166c7">createDirectory</a>($name)</td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">createFile</a>($name, $data=null)</td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569">getChild</a>($name)</td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classRedDirectory.html#aa42d3065f6f065b17db87146a7cb031a">getChildren</a>()</td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4">getDir</a>()</td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedDirectory.html#a6c7e08199abc24e6eeb94a4037ef8bfc">getLastModified</a>()</td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedDirectory.html#af6e4475dbd5abcdede00d20b8d388583">getName</a>()</td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedDirectory.html#a2f7a574f2115f099d6dd103d5b252375">getQuotaInfo</a>()</td><td class="entry"><a class="el" href="classRedDirectory.html">RedDirectory</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/classRedDirectory.html b/doc/html/classRedDirectory.html
index bec72e8f4..878dbba76 100644
--- a/doc/html/classRedDirectory.html
+++ b/doc/html/classRedDirectory.html
@@ -124,32 +124,44 @@ Inheritance diagram for RedDirectory:</div>
<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:add0bf2c049230fec4913e769d126e6e6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#add0bf2c049230fec4913e769d126e6e6">__construct</a> ($red_path, $auth_plugin)</td></tr>
-<tr class="separator:add0bf2c049230fec4913e769d126e6e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e35e3cd31d2a15250655e4cafdea180"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#a1e35e3cd31d2a15250655e4cafdea180">__construct</a> ($ext_path, &amp;$auth_plugin)</td></tr>
+<tr class="separator:a1e35e3cd31d2a15250655e4cafdea180"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa42d3065f6f065b17db87146a7cb031a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#aa42d3065f6f065b17db87146a7cb031a">getChildren</a> ()</td></tr>
<tr class="separator:aa42d3065f6f065b17db87146a7cb031a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa20f0f44da23781917af8170c0a2569"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569">getChild</a> ($name)</td></tr>
<tr class="separator:aaa20f0f44da23781917af8170c0a2569"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6e4475dbd5abcdede00d20b8d388583"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#af6e4475dbd5abcdede00d20b8d388583">getName</a> ()</td></tr>
+<tr class="separator:af6e4475dbd5abcdede00d20b8d388583"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d12d99d38a6a75fc9a830b2f7fc0bf0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">createFile</a> ($name, $data=null)</td></tr>
<tr class="separator:a2d12d99d38a6a75fc9a830b2f7fc0bf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a986936910f0216887a25e28916c166c7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#a986936910f0216887a25e28916c166c7">createDirectory</a> ($name)</td></tr>
<tr class="separator:a986936910f0216887a25e28916c166c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e3fc08b2bf9f61cea4d2ccae0495bec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#a5e3fc08b2bf9f61cea4d2ccae0495bec">childExists</a> ($name)</td></tr>
<tr class="separator:a5e3fc08b2bf9f61cea4d2ccae0495bec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a70173d4458572d95e586b2037d2fd2f4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4">getDir</a> ()</td></tr>
+<tr class="separator:a70173d4458572d95e586b2037d2fd2f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6c7e08199abc24e6eeb94a4037ef8bfc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#a6c7e08199abc24e6eeb94a4037ef8bfc">getLastModified</a> ()</td></tr>
+<tr class="separator:a6c7e08199abc24e6eeb94a4037ef8bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f7a574f2115f099d6dd103d5b252375"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#a2f7a574f2115f099d6dd103d5b252375">getQuotaInfo</a> ()</td></tr>
+<tr class="separator:a2f7a574f2115f099d6dd103d5b252375"><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:acb32b8df27538c57772824a745e751d7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#acb32b8df27538c57772824a745e751d7">$red_path</a></td></tr>
<tr class="separator:acb32b8df27538c57772824a745e751d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8d5df814b2f825dd14c628a51b5829b5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#a8d5df814b2f825dd14c628a51b5829b5">$dir_key</a></td></tr>
-<tr class="separator:a8d5df814b2f825dd14c628a51b5829b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa10254abf177bb2a0e4a88495725e09b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#aa10254abf177bb2a0e4a88495725e09b">$folder_hash</a></td></tr>
+<tr class="separator:aa10254abf177bb2a0e4a88495725e09b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f113244cd85c17848df991001d024f4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#a0f113244cd85c17848df991001d024f4">$ext_path</a></td></tr>
+<tr class="separator:a0f113244cd85c17848df991001d024f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad87c514a307ec97ba0f1372e9bcfa6a4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#ad87c514a307ec97ba0f1372e9bcfa6a4">$root_dir</a> = ''</td></tr>
+<tr class="separator:ad87c514a307ec97ba0f1372e9bcfa6a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9616af16cd19a18a6afebebcc2881c44"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#a9616af16cd19a18a6afebebcc2881c44">$auth</a></td></tr>
<tr class="separator:a9616af16cd19a18a6afebebcc2881c44"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae624dcaa4d73a517f4b1616d33df690d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#ae624dcaa4d73a517f4b1616d33df690d">$channel_id</a></td></tr>
-<tr class="separator:ae624dcaa4d73a517f4b1616d33df690d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c148c07ad909985125aa4926d8d0021"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html#a3c148c07ad909985125aa4926d8d0021">$os_path</a> = ''</td></tr>
+<tr class="separator:a3c148c07ad909985125aa4926d8d0021"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="add0bf2c049230fec4913e769d126e6e6"></a>
+<a class="anchor" id="a1e35e3cd31d2a15250655e4cafdea180"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -157,12 +169,12 @@ Private Attributes</h2></td></tr>
<td class="memname">RedDirectory::__construct </td>
<td>(</td>
<td class="paramtype">&#160;</td>
- <td class="paramname"><em>$red_path</em>, </td>
+ <td class="paramname"><em>$ext_path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">&#160;</td>
+ <td class="paramtype">&amp;&#160;</td>
<td class="paramname"><em>$auth_plugin</em>&#160;</td>
</tr>
<tr>
@@ -265,6 +277,68 @@ Private Attributes</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a70173d4458572d95e586b2037d2fd2f4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedDirectory::getDir </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedDirectory.html#a1e35e3cd31d2a15250655e4cafdea180">__construct()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6c7e08199abc24e6eeb94a4037ef8bfc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedDirectory::getLastModified </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af6e4475dbd5abcdede00d20b8d388583"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedDirectory::getName </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2f7a574f2115f099d6dd103d5b252375"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedDirectory::getQuotaInfo </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a9616af16cd19a18a6afebebcc2881c44"></a>
<div class="memitem">
@@ -286,7 +360,7 @@ Private Attributes</h2></td></tr>
</div>
</div>
-<a class="anchor" id="ae624dcaa4d73a517f4b1616d33df690d"></a>
+<a class="anchor" id="a0f113244cd85c17848df991001d024f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@@ -294,7 +368,7 @@ Private Attributes</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">RedDirectory::$channel_id</td>
+ <td class="memname">RedDirectory::$ext_path</td>
</tr>
</table>
</td>
@@ -304,9 +378,11 @@ Private Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Referenced by <a class="el" href="classRedDirectory.html#a1e35e3cd31d2a15250655e4cafdea180">__construct()</a>, and <a class="el" href="classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4">getDir()</a>.</p>
+
</div>
</div>
-<a class="anchor" id="a8d5df814b2f825dd14c628a51b5829b5"></a>
+<a class="anchor" id="aa10254abf177bb2a0e4a88495725e09b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@@ -314,7 +390,7 @@ Private Attributes</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">RedDirectory::$dir_key</td>
+ <td class="memname">RedDirectory::$folder_hash</td>
</tr>
</table>
</td>
@@ -326,6 +402,28 @@ Private Attributes</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a3c148c07ad909985125aa4926d8d0021"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedDirectory::$os_path = ''</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="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">createFile()</a>, and <a class="el" href="classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4">getDir()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="acb32b8df27538c57772824a745e751d7"></a>
<div class="memitem">
<div class="memproto">
@@ -344,7 +442,25 @@ Private Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classRedDirectory.html#add0bf2c049230fec4913e769d126e6e6">__construct()</a>.</p>
+</div>
+</div>
+<a class="anchor" id="ad87c514a307ec97ba0f1372e9bcfa6a4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedDirectory::$root_dir = ''</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
</div>
</div>
diff --git a/doc/html/classRedDirectory.js b/doc/html/classRedDirectory.js
index c03c41503..b626b9e5c 100644
--- a/doc/html/classRedDirectory.js
+++ b/doc/html/classRedDirectory.js
@@ -1,13 +1,19 @@
var classRedDirectory =
[
- [ "__construct", "classRedDirectory.html#add0bf2c049230fec4913e769d126e6e6", null ],
+ [ "__construct", "classRedDirectory.html#a1e35e3cd31d2a15250655e4cafdea180", null ],
[ "childExists", "classRedDirectory.html#a5e3fc08b2bf9f61cea4d2ccae0495bec", null ],
[ "createDirectory", "classRedDirectory.html#a986936910f0216887a25e28916c166c7", null ],
[ "createFile", "classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0", null ],
[ "getChild", "classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569", null ],
[ "getChildren", "classRedDirectory.html#aa42d3065f6f065b17db87146a7cb031a", null ],
+ [ "getDir", "classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4", null ],
+ [ "getLastModified", "classRedDirectory.html#a6c7e08199abc24e6eeb94a4037ef8bfc", null ],
+ [ "getName", "classRedDirectory.html#af6e4475dbd5abcdede00d20b8d388583", null ],
+ [ "getQuotaInfo", "classRedDirectory.html#a2f7a574f2115f099d6dd103d5b252375", null ],
[ "$auth", "classRedDirectory.html#a9616af16cd19a18a6afebebcc2881c44", null ],
- [ "$channel_id", "classRedDirectory.html#ae624dcaa4d73a517f4b1616d33df690d", null ],
- [ "$dir_key", "classRedDirectory.html#a8d5df814b2f825dd14c628a51b5829b5", null ],
- [ "$red_path", "classRedDirectory.html#acb32b8df27538c57772824a745e751d7", null ]
+ [ "$ext_path", "classRedDirectory.html#a0f113244cd85c17848df991001d024f4", null ],
+ [ "$folder_hash", "classRedDirectory.html#aa10254abf177bb2a0e4a88495725e09b", null ],
+ [ "$os_path", "classRedDirectory.html#a3c148c07ad909985125aa4926d8d0021", null ],
+ [ "$red_path", "classRedDirectory.html#acb32b8df27538c57772824a745e751d7", null ],
+ [ "$root_dir", "classRedDirectory.html#ad87c514a307ec97ba0f1372e9bcfa6a4", null ]
]; \ No newline at end of file
diff --git a/doc/html/classRedDirectory.png b/doc/html/classRedDirectory.png
index 192133f6a..75da336b4 100644
--- a/doc/html/classRedDirectory.png
+++ b/doc/html/classRedDirectory.png
Binary files differ
diff --git a/doc/html/classRedFile-members.html b/doc/html/classRedFile-members.html
index 31c1eb782..343fe2a82 100644
--- a/doc/html/classRedFile-members.html
+++ b/doc/html/classRedFile-members.html
@@ -112,13 +112,19 @@ $(document).ready(function(){initNavTree('classRedFile.html','');});
<p>This is the complete list of members for <a class="el" href="classRedFile.html">RedFile</a>, including all inherited members.</p>
<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="classRedFile.html#a2ff12032b45538353eded9809d3b7550">$data</a></td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classRedFile.html#ad4588b90004a2741b1a4ced10355904c">__construct</a>($data)</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535">get</a>()</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classRedFile.html#a26416827eb68554d033d1e2e5cc6dd3b">getContentType</a>()</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classRedFile.html#ae96d5caa2db7a461c57b24380fa87e28">getETag</a>()</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classRedFile.html#acb1edbe1848fab05347746fa1ea09d8f">getSize</a>()</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">put</a>($data)</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedFile.html#a4b5d0e33f919c6c175b30a55de6263f2">$auth</a></td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedFile.html#a2ff12032b45538353eded9809d3b7550">$data</a></td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedFile.html#acc48c05cd5a70951cb3c615ad84f03ba">$name</a></td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedFile.html#a9a67bdb34c9db6ce144b3f371148b183">__construct</a>($name, $data, &amp;$auth)</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedFile.html#aef71c9eaac7052be7dc8602eb12171e7">delete</a>()</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535">get</a>()</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedFile.html#a26416827eb68554d033d1e2e5cc6dd3b">getContentType</a>()</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedFile.html#ae96d5caa2db7a461c57b24380fa87e28">getETag</a>()</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedFile.html#a41562a28007789bbe7fe06d6a20eef47">getLastModified</a>()</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedFile.html#a0c961c5f49544d2502420361fa526437">getName</a>()</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedFile.html#acb1edbe1848fab05347746fa1ea09d8f">getSize</a>()</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">put</a>($data)</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedFile.html#a38a82bfc1b30028ea6ac75923e90fa25">setName</a>($newName)</td><td class="entry"><a class="el" href="classRedFile.html">RedFile</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/classRedFile.html b/doc/html/classRedFile.html
index 1fa5b9e54..c45b36c39 100644
--- a/doc/html/classRedFile.html
+++ b/doc/html/classRedFile.html
@@ -124,8 +124,12 @@ Inheritance diagram for RedFile:</div>
<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:ad4588b90004a2741b1a4ced10355904c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedFile.html#ad4588b90004a2741b1a4ced10355904c">__construct</a> ($data)</td></tr>
-<tr class="separator:ad4588b90004a2741b1a4ced10355904c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a67bdb34c9db6ce144b3f371148b183"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedFile.html#a9a67bdb34c9db6ce144b3f371148b183">__construct</a> ($name, $data, &amp;$auth)</td></tr>
+<tr class="separator:a9a67bdb34c9db6ce144b3f371148b183"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c961c5f49544d2502420361fa526437"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedFile.html#a0c961c5f49544d2502420361fa526437">getName</a> ()</td></tr>
+<tr class="separator:a0c961c5f49544d2502420361fa526437"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38a82bfc1b30028ea6ac75923e90fa25"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedFile.html#a38a82bfc1b30028ea6ac75923e90fa25">setName</a> ($newName)</td></tr>
+<tr class="separator:a38a82bfc1b30028ea6ac75923e90fa25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41a49a583eb276b75626fcf97f4a699c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">put</a> ($data)</td></tr>
<tr class="separator:a41a49a583eb276b75626fcf97f4a699c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c868dfcef6c70cd0e24cf3caa2c3535"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535">get</a> ()</td></tr>
@@ -136,14 +140,22 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a26416827eb68554d033d1e2e5cc6dd3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb1edbe1848fab05347746fa1ea09d8f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedFile.html#acb1edbe1848fab05347746fa1ea09d8f">getSize</a> ()</td></tr>
<tr class="separator:acb1edbe1848fab05347746fa1ea09d8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41562a28007789bbe7fe06d6a20eef47"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedFile.html#a41562a28007789bbe7fe06d6a20eef47">getLastModified</a> ()</td></tr>
+<tr class="separator:a41562a28007789bbe7fe06d6a20eef47"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef71c9eaac7052be7dc8602eb12171e7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedFile.html#aef71c9eaac7052be7dc8602eb12171e7">delete</a> ()</td></tr>
+<tr class="separator:aef71c9eaac7052be7dc8602eb12171e7"><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:a2ff12032b45538353eded9809d3b7550"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedFile.html#a2ff12032b45538353eded9809d3b7550">$data</a></td></tr>
<tr class="separator:a2ff12032b45538353eded9809d3b7550"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b5d0e33f919c6c175b30a55de6263f2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedFile.html#a4b5d0e33f919c6c175b30a55de6263f2">$auth</a></td></tr>
+<tr class="separator:a4b5d0e33f919c6c175b30a55de6263f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc48c05cd5a70951cb3c615ad84f03ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedFile.html#acc48c05cd5a70951cb3c615ad84f03ba">$name</a></td></tr>
+<tr class="separator:acc48c05cd5a70951cb3c615ad84f03ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="ad4588b90004a2741b1a4ced10355904c"></a>
+<a class="anchor" id="a9a67bdb34c9db6ce144b3f371148b183"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -151,8 +163,24 @@ Private Attributes</h2></td></tr>
<td class="memname">RedFile::__construct </td>
<td>(</td>
<td class="paramtype">&#160;</td>
- <td class="paramname"><em>$data</em></td><td>)</td>
+ <td class="paramname"><em>$name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$auth</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
@@ -160,6 +188,21 @@ Private Attributes</h2></td></tr>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="aef71c9eaac7052be7dc8602eb12171e7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedFile::delete </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a7c868dfcef6c70cd0e24cf3caa2c3535"></a>
<div class="memitem">
<div class="memproto">
@@ -205,6 +248,36 @@ Private Attributes</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a41562a28007789bbe7fe06d6a20eef47"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedFile::getLastModified </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0c961c5f49544d2502420361fa526437"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedFile::getName </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="acb1edbe1848fab05347746fa1ea09d8f"></a>
<div class="memitem">
<div class="memproto">
@@ -236,7 +309,45 @@ Private Attributes</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a38a82bfc1b30028ea6ac75923e90fa25"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedFile::setName </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$newName</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a4b5d0e33f919c6c175b30a55de6263f2"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedFile::$auth</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="classRedFile.html#a9a67bdb34c9db6ce144b3f371148b183">__construct()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a2ff12032b45538353eded9809d3b7550"></a>
<div class="memitem">
<div class="memproto">
@@ -255,7 +366,29 @@ Private Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classRedFile.html#ad4588b90004a2741b1a4ced10355904c">__construct()</a>.</p>
+<p>Referenced by <a class="el" href="classRedFile.html#a9a67bdb34c9db6ce144b3f371148b183">__construct()</a>, and <a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">put()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acc48c05cd5a70951cb3c615ad84f03ba"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedFile::$name</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="classRedFile.html#a9a67bdb34c9db6ce144b3f371148b183">__construct()</a>.</p>
</div>
</div>
diff --git a/doc/html/classRedFile.js b/doc/html/classRedFile.js
index 526eb7ae7..4f03440ad 100644
--- a/doc/html/classRedFile.js
+++ b/doc/html/classRedFile.js
@@ -1,10 +1,16 @@
var classRedFile =
[
- [ "__construct", "classRedFile.html#ad4588b90004a2741b1a4ced10355904c", null ],
+ [ "__construct", "classRedFile.html#a9a67bdb34c9db6ce144b3f371148b183", null ],
+ [ "delete", "classRedFile.html#aef71c9eaac7052be7dc8602eb12171e7", null ],
[ "get", "classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535", null ],
[ "getContentType", "classRedFile.html#a26416827eb68554d033d1e2e5cc6dd3b", null ],
[ "getETag", "classRedFile.html#ae96d5caa2db7a461c57b24380fa87e28", null ],
+ [ "getLastModified", "classRedFile.html#a41562a28007789bbe7fe06d6a20eef47", null ],
+ [ "getName", "classRedFile.html#a0c961c5f49544d2502420361fa526437", null ],
[ "getSize", "classRedFile.html#acb1edbe1848fab05347746fa1ea09d8f", null ],
[ "put", "classRedFile.html#a41a49a583eb276b75626fcf97f4a699c", null ],
- [ "$data", "classRedFile.html#a2ff12032b45538353eded9809d3b7550", null ]
+ [ "setName", "classRedFile.html#a38a82bfc1b30028ea6ac75923e90fa25", null ],
+ [ "$auth", "classRedFile.html#a4b5d0e33f919c6c175b30a55de6263f2", null ],
+ [ "$data", "classRedFile.html#a2ff12032b45538353eded9809d3b7550", null ],
+ [ "$name", "classRedFile.html#acc48c05cd5a70951cb3c615ad84f03ba", null ]
]; \ No newline at end of file
diff --git a/doc/html/classes.html b/doc/html/classes.html
index ec9ffc484..4125fa1dd 100644
--- a/doc/html/classes.html
+++ b/doc/html/classes.html
@@ -125,11 +125,11 @@ $(document).ready(function(){initNavTree('classes.html','');});
<tr><td valign="top"><a class="el" href="classBaseObject.html">BaseObject</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;E&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classItem.html">Item</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;C&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="interfaceITemplateEngine.html">ITemplateEngine</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classRedDirectory.html">RedDirectory</a>&#160;&#160;&#160;</td><td></td></tr>
+</td><td valign="top"><a class="el" href="interfaceITemplateEngine.html">ITemplateEngine</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classRedBrowser.html">RedBrowser</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="classenotify.html">enotify</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classRedFile.html">RedFile</a>&#160;&#160;&#160;</td><td></td></tr>
+</td><td valign="top"><a class="el" href="classRedDirectory.html">RedDirectory</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="classCache.html">Cache</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classRedInode.html">RedInode</a>&#160;&#160;&#160;</td><td></td></tr>
+</td><td valign="top"><a class="el" href="classRedFile.html">RedFile</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="classConversation.html">Conversation</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classphoto__driver.html">photo_driver</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;T&#160;&#160;</div></td></tr></table>
</td><td></td></tr>
<tr><td></td><td valign="top"><a class="el" href="classFKOAuth1.html">FKOAuth1</a>&#160;&#160;&#160;</td><td></td><td></td></tr>
diff --git a/doc/html/cloud_8php.html b/doc/html/cloud_8php.html
index 68c42f825..8fd8cf18f 100644
--- a/doc/html/cloud_8php.html
+++ b/doc/html/cloud_8php.html
@@ -104,32 +104,28 @@ $(document).ready(function(){initNavTree('cloud_8php.html','');});
<div class="header">
<div class="summary">
-<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">cloud.php File Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
-<tr class="memitem:a080071b784fe01d04ed6c09d9f2785b8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cloud_8php.html#a080071b784fe01d04ed6c09d9f2785b8">cloud_init</a> ()</td></tr>
-<tr class="separator:a080071b784fe01d04ed6c09d9f2785b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b79a6fe0454bc76673ad9aef55bf02d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a>(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_SERVER,'REDIRECT_REMOTE_USER')) <br class="typebreak"/>
+<a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a>(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_SERVER,'HTTP_AUTHORIZATION'))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a1b79a6fe0454bc76673ad9aef55bf02d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a080071b784fe01d04ed6c09d9f2785b8"></a>
+<a class="anchor" id="a1b79a6fe0454bc76673ad9aef55bf02d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">cloud_init </td>
+ <td class="memname"><a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a> (<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_SERVER,'REDIRECT_REMOTE_USER')) <a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a> (<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_SERVER,'HTTP_AUTHORIZATION')) cloud_init </td>
<td>(</td>
- <td class="paramname"></td><td>)</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
<td></td>
</tr>
</table>
diff --git a/doc/html/cloud_8php.js b/doc/html/cloud_8php.js
index 9463067b2..6b3de1272 100644
--- a/doc/html/cloud_8php.js
+++ b/doc/html/cloud_8php.js
@@ -1,5 +1,4 @@
var cloud_8php =
[
- [ "RedBasicAuth", "classRedBasicAuth.html", "classRedBasicAuth" ],
- [ "cloud_init", "cloud_8php.html#a080071b784fe01d04ed6c09d9f2785b8", null ]
+ [ "cloud_init", "cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d", null ]
]; \ No newline at end of file
diff --git a/doc/html/comanche_8php.html b/doc/html/comanche_8php.html
index 4b6a86ba4..57572239d 100644
--- a/doc/html/comanche_8php.html
+++ b/doc/html/comanche_8php.html
@@ -190,7 +190,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>.</p>
+<p>Referenced by <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, and <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>.</p>
</div>
</div>
diff --git a/doc/html/common_8php.html b/doc/html/common_8php.html
index 4fea80ece..e70c1adb9 100644
--- a/doc/html/common_8php.html
+++ b/doc/html/common_8php.html
@@ -114,28 +114,10 @@ $(document).ready(function(){initNavTree('common_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:aca62f113655809f41f49042ce9b123c2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init</a> (&amp;$a)</td></tr>
<tr class="separator:aca62f113655809f41f49042ce9b123c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3b12ec67b3d3edcf595c8d195da5d14a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8php.html#a3b12ec67b3d3edcf595c8d195da5d14a">common_aside</a> (&amp;$a)</td></tr>
-<tr class="separator:a3b12ec67b3d3edcf595c8d195da5d14a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab63408f39abef7a6915186e8dabc5a96"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content</a> (&amp;$a)</td></tr>
<tr class="separator:ab63408f39abef7a6915186e8dabc5a96"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a3b12ec67b3d3edcf595c8d195da5d14a"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">common_aside </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="ab63408f39abef7a6915186e8dabc5a96"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/common_8php.js b/doc/html/common_8php.js
index 6f763d046..85ca9299c 100644
--- a/doc/html/common_8php.js
+++ b/doc/html/common_8php.js
@@ -1,6 +1,5 @@
var common_8php =
[
- [ "common_aside", "common_8php.html#a3b12ec67b3d3edcf595c8d195da5d14a", null ],
[ "common_content", "common_8php.html#ab63408f39abef7a6915186e8dabc5a96", null ],
[ "common_init", "common_8php.html#aca62f113655809f41f49042ce9b123c2", null ]
]; \ No newline at end of file
diff --git a/doc/html/connections_8php.html b/doc/html/connections_8php.html
index 28d066222..cd24a6a61 100644
--- a/doc/html/connections_8php.html
+++ b/doc/html/connections_8php.html
@@ -114,8 +114,6 @@ $(document).ready(function(){initNavTree('connections_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a1f23623f802af7bd35e95b0e94e5d558"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init</a> (&amp;$a)</td></tr>
<tr class="separator:a1f23623f802af7bd35e95b0e94e5d558"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af48f7ad20914760ba9874c090384e35a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connections_8php.html#af48f7ad20914760ba9874c090384e35a">connections_aside</a> (&amp;$a)</td></tr>
-<tr class="separator:af48f7ad20914760ba9874c090384e35a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1224058db8e3fb56463eb312f98e561d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post</a> (&amp;$a)</td></tr>
<tr class="separator:a1224058db8e3fb56463eb312f98e561d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15af118efee9c948b6f8294e54a73bb2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connections_8php.html#a15af118efee9c948b6f8294e54a73bb2">connections_clone</a> (&amp;$a)</td></tr>
@@ -124,22 +122,6 @@ Functions</h2></td></tr>
<tr class="separator:aec2e457420fce3e3bf6a9f48e36df25c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="af48f7ad20914760ba9874c090384e35a"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">connections_aside </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="a15af118efee9c948b6f8294e54a73bb2"></a>
<div class="memitem">
<div class="memproto">
@@ -154,7 +136,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, and <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>.</p>
+<p>Referenced by <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>.</p>
</div>
</div>
diff --git a/doc/html/connections_8php.js b/doc/html/connections_8php.js
index ecab7efc9..962b1f866 100644
--- a/doc/html/connections_8php.js
+++ b/doc/html/connections_8php.js
@@ -1,6 +1,5 @@
var connections_8php =
[
- [ "connections_aside", "connections_8php.html#af48f7ad20914760ba9874c090384e35a", null ],
[ "connections_clone", "connections_8php.html#a15af118efee9c948b6f8294e54a73bb2", null ],
[ "connections_content", "connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c", null ],
[ "connections_init", "connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558", null ],
diff --git a/doc/html/connedit_8php.html b/doc/html/connedit_8php.html
new file mode 100644
index 000000000..53c6eeda6
--- /dev/null
+++ b/doc/html/connedit_8php.html
@@ -0,0 +1,193 @@
+<!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 Red Matrix: mod/connedit.php File 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 Red Matrix
+ </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><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><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="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#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('connedit_8php.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="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">connedit.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a4da871e075597a09a8b374b9171dd92e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a4da871e075597a09a8b374b9171dd92e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a234c48426b652bf4d37053f2af329ac5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a234c48426b652bf4d37053f2af329ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a707ea7e63cf9674025b1d6b081ae74f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connedit_8php.html#a707ea7e63cf9674025b1d6b081ae74f5">connedit_clone</a> (&amp;$a)</td></tr>
+<tr class="separator:a707ea7e63cf9674025b1d6b081ae74f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a795acb3d9d841f55c255d7611681ab67"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a795acb3d9d841f55c255d7611681ab67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a707ea7e63cf9674025b1d6b081ae74f5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">connedit_clone </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, and <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a795acb3d9d841f55c255d7611681ab67"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">connedit_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4da871e075597a09a8b374b9171dd92e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">connedit_init </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a234c48426b652bf4d37053f2af329ac5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">connedit_post </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/connedit_8php.js b/doc/html/connedit_8php.js
new file mode 100644
index 000000000..0492ead35
--- /dev/null
+++ b/doc/html/connedit_8php.js
@@ -0,0 +1,7 @@
+var connedit_8php =
+[
+ [ "connedit_clone", "connedit_8php.html#a707ea7e63cf9674025b1d6b081ae74f5", null ],
+ [ "connedit_content", "connedit_8php.html#a795acb3d9d841f55c255d7611681ab67", null ],
+ [ "connedit_init", "connedit_8php.html#a4da871e075597a09a8b374b9171dd92e", null ],
+ [ "connedit_post", "connedit_8php.html#a234c48426b652bf4d37053f2af329ac5", null ]
+]; \ No newline at end of file
diff --git a/doc/html/contact__selectors_8php.html b/doc/html/contact__selectors_8php.html
index e7dcf48f7..ca9945e46 100644
--- a/doc/html/contact__selectors_8php.html
+++ b/doc/html/contact__selectors_8php.html
@@ -146,7 +146,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>.</p>
+<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>.</p>
</div>
</div>
@@ -164,7 +164,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, and <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>.</p>
+<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, and <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>.</p>
</div>
</div>
diff --git a/doc/html/contact__widgets_8php.html b/doc/html/contact__widgets_8php.html
index 179eded89..a9febe165 100644
--- a/doc/html/contact__widgets_8php.html
+++ b/doc/html/contact__widgets_8php.html
@@ -112,8 +112,6 @@ $(document).ready(function(){initNavTree('contact__widgets_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
-<tr class="memitem:af24e693532a045954caab515942cfc6f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contact__widgets_8php.html#af24e693532a045954caab515942cfc6f">follow_widget</a> ()</td></tr>
-<tr class="separator:af24e693532a045954caab515942cfc6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57e73ebcfd62bb5d8c7a7b9e663726d6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget</a> ()</td></tr>
<tr class="separator:a57e73ebcfd62bb5d8c7a7b9e663726d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1eda66319d170f60a8d07c7ece95533b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget</a> ($baseurl, $selected= '')</td></tr>
@@ -148,7 +146,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel_aside()</a>, and <a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost_aside()</a>.</p>
+<p>Referenced by <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>.</p>
</div>
</div>
@@ -166,7 +164,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, and <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>.</p>
</div>
</div>
@@ -194,8 +192,6 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>.</p>
-
</div>
</div>
<a class="anchor" id="a57e73ebcfd62bb5d8c7a7b9e663726d6"></a>
@@ -211,24 +207,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#af48f7ad20914760ba9874c090384e35a">connections_aside()</a>, <a class="el" href="mod_2directory_8php.html#aa1d928543212871491706216742dd73c">directory_aside()</a>, and <a class="el" href="suggest_8php.html#a4df91c84594d51ba56b5918de414230d">suggest_aside()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af24e693532a045954caab515942cfc6f"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">follow_widget </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Referenced by <a class="el" href="connections_8php.html#af48f7ad20914760ba9874c090384e35a">connections_aside()</a>, <a class="el" href="intro_8php.html#abc3abf25da64f98f215126eb08c7936b">intro_aside()</a>, and <a class="el" href="suggest_8php.html#a4df91c84594d51ba56b5918de414230d">suggest_aside()</a>.</p>
+<p>Referenced by <a class="el" href="widgets_8php.html#ade630b19fb4c622b7b2f6f8ef89eefa2">widget_findpeople()</a>.</p>
</div>
</div>
diff --git a/doc/html/contact__widgets_8php.js b/doc/html/contact__widgets_8php.js
index 1b2a8ecd5..2963a1227 100644
--- a/doc/html/contact__widgets_8php.js
+++ b/doc/html/contact__widgets_8php.js
@@ -3,6 +3,5 @@ var contact__widgets_8php =
[ "categories_widget", "contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353", null ],
[ "common_friends_visitor_widget", "contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65", null ],
[ "fileas_widget", "contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b", null ],
- [ "findpeople_widget", "contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6", null ],
- [ "follow_widget", "contact__widgets_8php.html#af24e693532a045954caab515942cfc6f", null ]
+ [ "findpeople_widget", "contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6", null ]
]; \ No newline at end of file
diff --git a/doc/html/conversation_8php.html b/doc/html/conversation_8php.html
index bc9198ee2..c2b005065 100644
--- a/doc/html/conversation_8php.html
+++ b/doc/html/conversation_8php.html
@@ -230,7 +230,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
</div>
</div>
@@ -287,7 +287,7 @@ Functions</h2></td></tr>
<li>conversation view The $mode parameter decides between the various renderings and also figures out how to determine page owner and other contextual items that are based on unique features of the calling module. </li>
</ul>
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="classItem.html#aa452b5bcd8dea12119b09212c615cb41">Item\remove_parent()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, and <a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">Item\set_conversation()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="classItem.html#aa452b5bcd8dea12119b09212c615cb41">Item\remove_parent()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, and <a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">Item\set_conversation()</a>.</p>
</div>
</div>
@@ -574,7 +574,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>.</p>
+<p>Referenced by <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, and <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>.</p>
</div>
</div>
@@ -608,7 +608,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, and <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, and <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>.</p>
</div>
</div>
@@ -752,7 +752,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, and <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>.</p>
+<p>Referenced by <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, and <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>.</p>
</div>
</div>
diff --git a/doc/html/crypto_8php.html b/doc/html/crypto_8php.html
index 3bf683aef..981ec06dd 100644
--- a/doc/html/crypto_8php.html
+++ b/doc/html/crypto_8php.html
@@ -228,7 +228,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="crypto_8php.html#a32fc08d57a5694f94d8543ecbb03323c">crypto_encapsulate()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="crypto_8php.html#a32fc08d57a5694f94d8543ecbb03323c">crypto_encapsulate()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -318,7 +318,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
</div>
</div>
@@ -416,7 +416,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, and <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, and <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>.</p>
</div>
</div>
diff --git a/doc/html/datetime_8php.html b/doc/html/datetime_8php.html
index fa92b651f..ea802ce2c 100644
--- a/doc/html/datetime_8php.html
+++ b/doc/html/datetime_8php.html
@@ -172,7 +172,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -334,7 +334,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df">age()</a>, <a class="el" href="include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5">api_account_rate_limit_status()</a>, <a class="el" href="include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25">api_date()</a>, <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache\clear()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post()</a>, <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run()</a>, <a class="el" href="items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259">delete_item_lowlevel()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger()</a>, <a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob()</a>, <a class="el" href="event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850">ev_compare()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="datetime_8php.html#aba971b67f17fecf050813f1eba72367f">get_first_dim()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache\set()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="datetime_8php.html#ab55e545b72ec8c097e052ea7d373491f">z_birthday()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df">age()</a>, <a class="el" href="include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5">api_account_rate_limit_status()</a>, <a class="el" href="include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25">api_date()</a>, <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache\clear()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">RedDirectory\createFile()</a>, <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run()</a>, <a class="el" href="items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259">delete_item_lowlevel()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger()</a>, <a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob()</a>, <a class="el" href="event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850">ev_compare()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classRedBrowser.html#a1f7daf50bb9bfcde7345b3b1908dbd7e">RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="datetime_8php.html#aba971b67f17fecf050813f1eba72367f">get_first_dim()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="classRedDirectory.html#a6c7e08199abc24e6eeb94a4037ef8bfc">RedDirectory\getLastModified()</a>, <a class="el" href="classRedFile.html#a41562a28007789bbe7fe06d6a20eef47">RedFile\getLastModified()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">RedFile\put()</a>, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache\set()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="datetime_8php.html#ab55e545b72ec8c097e052ea7d373491f">z_birthday()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -476,7 +476,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, and <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, and <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
</div>
</div>
diff --git a/doc/html/dba__driver_8php.html b/doc/html/dba__driver_8php.html
index da6e5eb43..6ae602eec 100644
--- a/doc/html/dba__driver_8php.html
+++ b/doc/html/dba__driver_8php.html
@@ -202,7 +202,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">channelx_by_hash()</a>, <a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">channelx_by_n()</a>, <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">channelx_by_nick()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="classRedDirectory.html#a5e3fc08b2bf9f61cea4d2ccae0495bec">RedDirectory\childExists()</a>, <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache\clear()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post()</a>, <a class="el" href="dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930">dbesc_array_cb()</a>, <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">del_config()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259">delete_item_lowlevel()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="text_8php.html#ae4f6881d7e13623f8eded6277595112a">generate_user_guid()</a>, <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache\get()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74">get_config_from_storage()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569">RedDirectory\getChild()</a>, <a class="el" href="classRedDirectory.html#aa42d3065f6f065b17db87146a7cb031a">RedDirectory\getChildren()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing()</a>, <a class="el" href="item_8php.html#abd0e603a6696051af16476eb968d52e7">handle_tag()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33">load_xconfig()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore\lookup_consumer()</a>, <a class="el" href="classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599">FKOAuthDataStore\lookup_nonce()</a>, <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore\lookup_token()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2group_8php.html#a048f6892bfd28852de1b76470df411de">member_of()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">new_cookie()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117">oauth_get_client()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="text_8php.html#aa5528f41533927e1bd2da3618a74a6d7">photo_new_resource()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35">photos_album_exists()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab">photos_album_rename()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1">private_messages_drop()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">public_permissions_sql()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="qsearch_8php.html#a0501887b95bd8fa21018b2936a668894">qsearch_init()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">rconnect_url()</a>, <a class="el" href="items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b">red_zrl_callback()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, <a class="el" href="session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052">ref_session_destroy()</a>, <a class="el" href="session_8php.html#ac95373f4966862a028033dd2f94d4da1">ref_session_gc()</a>, <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">ref_session_write()</a>, <a class="el" href="plugin_8php.html#a425472c5f3afc137268b2ad45652b209">register_hook()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">remove_queue_item()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache\set()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig()</a>, <a class="el" href="classRedInode.html#a3d76322f25d847b123b3df37a26dd04e">RedInode\setName()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag()</a>, <a class="el" href="security_8php.html#a15e0f8f511cc06192db63387f97238b3">stream_perms_xchans()</a>, <a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">stringify_array_elms()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c">term_query()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin()</a>, <a class="el" href="plugin_8php.html#a56f71fe5adf9586ce950523d8180443e">unregister_hook()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="classRedBasicAuth.html#a8dfd9a0953f8884723b421b7c1acf79b">RedBasicAuth\validateUserPass()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f">xchan_query()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7">zot_get_hublocs()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach_change_permissions()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">channelx_by_hash()</a>, <a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">channelx_by_n()</a>, <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">channelx_by_nick()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache\clear()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">RedDirectory\createFile()</a>, <a class="el" href="dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930">dbesc_array_cb()</a>, <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">del_config()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259">delete_item_lowlevel()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="text_8php.html#ae4f6881d7e13623f8eded6277595112a">generate_user_guid()</a>, <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache\get()</a>, <a class="el" href="classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535">RedFile\get()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">get_cloudpath()</a>, <a class="el" href="include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74">get_config_from_storage()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4">RedDirectory\getDir()</a>, <a class="el" href="classRedDirectory.html#a6c7e08199abc24e6eeb94a4037ef8bfc">RedDirectory\getLastModified()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33">load_xconfig()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore\lookup_consumer()</a>, <a class="el" href="classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599">FKOAuthDataStore\lookup_nonce()</a>, <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore\lookup_token()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2group_8php.html#a048f6892bfd28852de1b76470df411de">member_of()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">new_cookie()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117">oauth_get_client()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="text_8php.html#aa5528f41533927e1bd2da3618a74a6d7">photo_new_resource()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35">photos_album_exists()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab">photos_album_rename()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1">private_messages_drop()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">public_permissions_sql()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">RedFile\put()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">rconnect_url()</a>, <a class="el" href="items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b">red_zrl_callback()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052">ref_session_destroy()</a>, <a class="el" href="session_8php.html#ac95373f4966862a028033dd2f94d4da1">ref_session_gc()</a>, <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">ref_session_write()</a>, <a class="el" href="plugin_8php.html#a425472c5f3afc137268b2ad45652b209">register_hook()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">remove_queue_item()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache\set()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig()</a>, <a class="el" href="classRedFile.html#a38a82bfc1b30028ea6ac75923e90fa25">RedFile\setName()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag()</a>, <a class="el" href="security_8php.html#a15e0f8f511cc06192db63387f97238b3">stream_perms_xchans()</a>, <a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">stringify_array_elms()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c">term_query()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322">tryzrlaudio()</a>, <a class="el" href="bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8">tryzrlvideo()</a>, <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin()</a>, <a class="el" href="plugin_8php.html#a56f71fe5adf9586ce950523d8180443e">unregister_hook()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="classRedBasicAuth.html#a8dfd9a0953f8884723b421b7c1acf79b">RedBasicAuth\validateUserPass()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f">xchan_query()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7">zot_get_hublocs()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -264,7 +264,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>.</p>
+<p>Referenced by <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>.</p>
</div>
</div>
@@ -320,7 +320,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<p>This will happen occasionally trying to store the session data after abnormal program termination</p>
-<p>Referenced by <a class="el" href="Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e">abook_connections()</a>, <a class="el" href="Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5">abook_self()</a>, <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="Contact_8php.html#a6e64de7db60b7243dce45fb6347636ff">account_remove()</a>, <a class="el" href="account_8php.html#a43e3042b2723d76915a030bac3c668b6">account_total()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586">all_friends()</a>, <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="include_2chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b">chanman_remove_everything_from_network()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="identity_8php.html#a77d2237f1846964634b1c99089c27c7d">channel_total()</a>, <a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">channelx_by_hash()</a>, <a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">channelx_by_n()</a>, <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">channelx_by_nick()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="classRedDirectory.html#a5e3fc08b2bf9f61cea4d2ccae0495bec">RedDirectory\childExists()</a>, <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache\clear()</a>, <a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">collect_recipients()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9">common_friends_zcid()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75">contact_profile_assign()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="socgraph_8php.html#af29d056beec10b4e38e5209c92452894">count_all_friends()</a>, <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends()</a>, <a class="el" href="socgraph_8php.html#af175807406d94407a5e11742a3287746">count_common_friends_zcid()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="crepair_8php.html#a29464c01838e209c8059cfcd2d195caa">crepair_content()</a>, <a class="el" href="crepair_8php.html#ab089978e50df156bbfabf9f8f5ccd198">crepair_init()</a>, <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">del_config()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="classRedInode.html#a5e8f09bc887725c3c448f8d72fe3edfc">RedInode\delete()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259">delete_item_lowlevel()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="taxonomy_8php.html#a088371f4bc19155b2291508f5cd63332">dir_tagadelic()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="contact__widgets_8php.html#af24e693532a045954caab515942cfc6f">follow_widget()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="text_8php.html#ae4f6881d7e13623f8eded6277595112a">generate_user_guid()</a>, <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache\get()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74">get_config_from_storage()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569">RedDirectory\getChild()</a>, <a class="el" href="classRedDirectory.html#aa42d3065f6f065b17db87146a7cb031a">RedDirectory\getChildren()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17">group_side()</a>, <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing()</a>, <a class="el" href="item_8php.html#abd0e603a6696051af16476eb968d52e7">handle_tag()</a>, <a class="el" href="identity_8php.html#a3570a4eb77332b292d394c4132cb8f03">identity_basic_export()</a>, <a class="el" href="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity_check_service_class()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro_post()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">layout_select()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">list_public_sites()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks()</a>, <a class="el" href="include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6">load_pconfig()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05">load_translation_table()</a>, <a class="el" href="include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33">load_xconfig()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore\lookup_consumer()</a>, <a class="el" href="classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599">FKOAuthDataStore\lookup_nonce()</a>, <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore\lookup_token()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="include_2group_8php.html#a048f6892bfd28852de1b76470df411de">member_of()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a">menu_del_item()</a>, <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>, <a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu_delete_id()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7">menu_fetch_id()</a>, <a class="el" href="include_2menu_8php.html#acef15a498d52666b1c7e5c12765c689b">menu_list()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">new_cookie()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117">oauth_get_client()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0">pagelist_widget()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="text_8php.html#aa5528f41533927e1bd2da3618a74a6d7">photo_new_resource()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35">photos_album_exists()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab">photos_album_rename()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1">private_messages_drop()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="qsearch_8php.html#a0501887b95bd8fa21018b2936a668894">qsearch_init()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="Contact_8php.html#a852fa476f0c70bde10a4f2533aec5f71">random_profile()</a>, <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">rconnect_url()</a>, <a class="el" href="items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b">red_zrl_callback()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, <a class="el" href="session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052">ref_session_destroy()</a>, <a class="el" href="session_8php.html#ac95373f4966862a028033dd2f94d4da1">ref_session_gc()</a>, <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">ref_session_write()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="plugin_8php.html#a425472c5f3afc137268b2ad45652b209">register_hook()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">remove_queue_item()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">saved_searches()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init()</a>, <a class="el" href="search_8php.html#aa911f7c7f0cdb0284e35d0ed610f19c6">search_saved_searches()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache\set()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="identity_8php.html#a78151baf4407a8482d2681a91a9c486b">set_default_login_identity()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig()</a>, <a class="el" href="classRedInode.html#a3d76322f25d847b123b3df37a26dd04e">RedInode\setName()</a>, <a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings_aside()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag()</a>, <a class="el" href="security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a15e0f8f511cc06192db63387f97238b3">stream_perms_xchans()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">suggestion_query()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin()</a>, <a class="el" href="plugin_8php.html#a56f71fe5adf9586ce950523d8180443e">unregister_hook()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="classRedBasicAuth.html#a8dfd9a0953f8884723b421b7c1acf79b">RedBasicAuth\validateUserPass()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2">vote_init()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f">xchan_query()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7">zot_get_hublocs()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e">abook_connections()</a>, <a class="el" href="Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5">abook_self()</a>, <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="Contact_8php.html#a6e64de7db60b7243dce45fb6347636ff">account_remove()</a>, <a class="el" href="account_8php.html#a43e3042b2723d76915a030bac3c668b6">account_total()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586">all_friends()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach_change_permissions()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="include_2menu_8php.html#a7fb5f4847bc94436e43be4b81478febc">bookmarks_menu_fetch()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="include_2chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b">chanman_remove_everything_from_network()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="identity_8php.html#a77d2237f1846964634b1c99089c27c7d">channel_total()</a>, <a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">channelx_by_hash()</a>, <a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">channelx_by_n()</a>, <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">channelx_by_nick()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache\clear()</a>, <a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">collect_recipients()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9">common_friends_zcid()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75">contact_profile_assign()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="socgraph_8php.html#af29d056beec10b4e38e5209c92452894">count_all_friends()</a>, <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends()</a>, <a class="el" href="socgraph_8php.html#af175807406d94407a5e11742a3287746">count_common_friends_zcid()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedDirectory.html#a986936910f0216887a25e28916c166c7">RedDirectory\createDirectory()</a>, <a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">RedDirectory\createFile()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">del_config()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259">delete_item_lowlevel()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="taxonomy_8php.html#a088371f4bc19155b2291508f5cd63332">dir_tagadelic()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="text_8php.html#ae4f6881d7e13623f8eded6277595112a">generate_user_guid()</a>, <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache\get()</a>, <a class="el" href="classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535">RedFile\get()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">get_cloudpath()</a>, <a class="el" href="include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74">get_config_from_storage()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51">get_sys_channel()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4">RedDirectory\getDir()</a>, <a class="el" href="classRedDirectory.html#a6c7e08199abc24e6eeb94a4037ef8bfc">RedDirectory\getLastModified()</a>, <a class="el" href="classRedDirectory.html#a2f7a574f2115f099d6dd103d5b252375">RedDirectory\getQuotaInfo()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="identity_8php.html#a3570a4eb77332b292d394c4132cb8f03">identity_basic_export()</a>, <a class="el" href="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity_check_service_class()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">layout_select()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">list_public_sites()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks()</a>, <a class="el" href="include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6">load_pconfig()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05">load_translation_table()</a>, <a class="el" href="include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33">load_xconfig()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore\lookup_consumer()</a>, <a class="el" href="classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599">FKOAuthDataStore\lookup_nonce()</a>, <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore\lookup_token()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="include_2group_8php.html#a048f6892bfd28852de1b76470df411de">member_of()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a">menu_del_item()</a>, <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>, <a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu_delete_id()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7">menu_fetch_id()</a>, <a class="el" href="include_2menu_8php.html#acef15a498d52666b1c7e5c12765c689b">menu_list()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">new_cookie()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117">oauth_get_client()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0">pagelist_widget()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="text_8php.html#aa5528f41533927e1bd2da3618a74a6d7">photo_new_resource()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35">photos_album_exists()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab">photos_album_rename()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1">private_messages_drop()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">RedFile\put()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="Contact_8php.html#a852fa476f0c70bde10a4f2533aec5f71">random_profile()</a>, <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">rconnect_url()</a>, <a class="el" href="items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b">red_zrl_callback()</a>, <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052">ref_session_destroy()</a>, <a class="el" href="session_8php.html#ac95373f4966862a028033dd2f94d4da1">ref_session_gc()</a>, <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">ref_session_write()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="plugin_8php.html#a425472c5f3afc137268b2ad45652b209">register_hook()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">remove_queue_item()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache\set()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="identity_8php.html#a78151baf4407a8482d2681a91a9c486b">set_default_login_identity()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig()</a>, <a class="el" href="classRedFile.html#a38a82bfc1b30028ea6ac75923e90fa25">RedFile\setName()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag()</a>, <a class="el" href="security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a15e0f8f511cc06192db63387f97238b3">stream_perms_xchans()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">suggestion_query()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322">tryzrlaudio()</a>, <a class="el" href="bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8">tryzrlvideo()</a>, <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin()</a>, <a class="el" href="plugin_8php.html#a56f71fe5adf9586ce950523d8180443e">unregister_hook()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="classRedBasicAuth.html#a8dfd9a0953f8884723b421b7c1acf79b">RedBasicAuth\validateUserPass()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2">vote_init()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f">xchan_query()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7">zot_get_hublocs()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
diff --git a/doc/html/dir_817f6d302394b98e59575acdb59998bc.html b/doc/html/dir_817f6d302394b98e59575acdb59998bc.html
index bd41b7e86..d3e4273ec 100644
--- a/doc/html/dir_817f6d302394b98e59575acdb59998bc.html
+++ b/doc/html/dir_817f6d302394b98e59575acdb59998bc.html
@@ -112,10 +112,6 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:mod__import_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod__import_8php.html">mod_import.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:mod__new__channel_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod__new__channel_8php.html">mod_new_channel.php</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:mod__register_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod__register_8php.html">mod_register.php</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:none_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="none_8php.html">none.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:php_2theme__init_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php_2theme__init_8php.html">theme_init.php</a></td></tr>
diff --git a/doc/html/dir_817f6d302394b98e59575acdb59998bc.js b/doc/html/dir_817f6d302394b98e59575acdb59998bc.js
index cceba4e93..5aad4b24b 100644
--- a/doc/html/dir_817f6d302394b98e59575acdb59998bc.js
+++ b/doc/html/dir_817f6d302394b98e59575acdb59998bc.js
@@ -4,8 +4,6 @@ var dir_817f6d302394b98e59575acdb59998bc =
[ "full.php", "full_8php.html", "full_8php" ],
[ "minimal.php", "minimal_8php.html", null ],
[ "mod_import.php", "mod__import_8php.html", "mod__import_8php" ],
- [ "mod_new_channel.php", "mod__new__channel_8php.html", "mod__new__channel_8php" ],
- [ "mod_register.php", "mod__register_8php.html", "mod__register_8php" ],
[ "none.php", "none_8php.html", null ],
[ "theme_init.php", "php_2theme__init_8php.html", "php_2theme__init_8php" ]
]; \ No newline at end of file
diff --git a/doc/html/dir__fns_8php.html b/doc/html/dir__fns_8php.html
index 5aeb02ea2..a5b8f1cee 100644
--- a/doc/html/dir__fns_8php.html
+++ b/doc/html/dir__fns_8php.html
@@ -139,7 +139,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2directory_8php.html#aa1d928543212871491706216742dd73c">directory_aside()</a>.</p>
+<p>Referenced by <a class="el" href="widgets_8php.html#a268b01ce1ab8fe2cb346cb769b9d1091">widget_dirsafemode()</a>.</p>
</div>
</div>
@@ -156,7 +156,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2directory_8php.html#aa1d928543212871491706216742dd73c">directory_aside()</a>.</p>
+<p>Referenced by <a class="el" href="widgets_8php.html#a95c06bc9be133e89768746302d2ac395">widget_dirsort()</a>.</p>
</div>
</div>
@@ -174,7 +174,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, and <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>.</p>
+<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, and <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>.</p>
</div>
</div>
diff --git a/doc/html/dir_d41ce877eb409a4791b288730010abe2.html b/doc/html/dir_d41ce877eb409a4791b288730010abe2.html
index 6360d6c4d..a4780b265 100644
--- a/doc/html/dir_d41ce877eb409a4791b288730010abe2.html
+++ b/doc/html/dir_d41ce877eb409a4791b288730010abe2.html
@@ -106,12 +106,12 @@ $(document).ready(function(){initNavTree('dir_d41ce877eb409a4791b288730010abe2.h
Files</h2></td></tr>
<tr class="memitem:__well__known_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="__well__known_8php.html">_well_known.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:achievements_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="achievements_8php.html">achievements.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acl_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acl_8php.html">acl.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:admin_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html">admin.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:allfriends_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="allfriends_8php.html">allfriends.php</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:mod_2api_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2api_8php.html">api.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:apps_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apps_8php.html">apps.php</a></td></tr>
@@ -136,14 +136,16 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:connections_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connections_8php.html">connections.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:contactgroup_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contactgroup_8php.html">contactgroup.php</a></td></tr>
+<tr class="memitem:connedit_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connedit_8php.html">connedit.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:crepair_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crepair_8php.html">crepair.php</a></td></tr>
+<tr class="memitem:contactgroup_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contactgroup_8php.html">contactgroup.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:delegate_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="delegate_8php.html">delegate.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:mod_2directory_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2directory_8php.html">directory.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dirprofile_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirprofile_8php.html">dirprofile.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dirsearch_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirsearch_8php.html">dirsearch.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:display_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="display_8php.html">display.php</a></td></tr>
@@ -174,8 +176,6 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:mod_2group_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2group_8php.html">group.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:hcard_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hcard_8php.html">hcard.php</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:help_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="help_8php.html">help.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:home_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="home_8php.html">home.php</a></td></tr>
@@ -184,14 +184,10 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:import_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="import_8php.html">import.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:intro_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="intro_8php.html">intro.php</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:invite_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="invite_8php.html">invite.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:item_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="item_8php.html">item.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:lastpost_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lastpost_8php.html">lastpost.php</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:layouts_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="layouts_8php.html">layouts.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:like_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="like_8php.html">like.php</a></td></tr>
@@ -204,6 +200,8 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:magic_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="magic_8php.html">magic.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:mail_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mail_8php.html">mail.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:manage_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="manage_8php.html">manage.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:match_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="match_8php.html">match.php</a></td></tr>
@@ -222,6 +220,8 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:new__channel_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="new__channel_8php.html">new_channel.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:notes_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="notes_8php.html">notes.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:notifications_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="notifications_8php.html">notifications.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:mod_2notify_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2notify_8php.html">notify.php</a></td></tr>
@@ -264,12 +264,8 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:pubsites_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pubsites_8php.html">pubsites.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:qsearch_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qsearch_8php.html">qsearch.php</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:randprof_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="randprof_8php.html">randprof.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:redir_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redir_8php.html">redir.php</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:register_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_8php.html">register.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:regmod_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regmod_8php.html">regmod.php</a></td></tr>
@@ -300,6 +296,8 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:sources_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sources_8php.html">sources.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sslify_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sslify_8php.html">sslify.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:starred_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="starred_8php.html">starred.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:subthread_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="subthread_8php.html">subthread.php</a></td></tr>
@@ -350,6 +348,8 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:xrd_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xrd_8php.html">xrd.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:xref_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8php.html">xref.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:zfinger_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zfinger_8php.html">zfinger.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:zotfeed_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zotfeed_8php.html">zotfeed.php</a></td></tr>
diff --git a/doc/html/dir_d41ce877eb409a4791b288730010abe2.js b/doc/html/dir_d41ce877eb409a4791b288730010abe2.js
index 25d9c4366..17ed67b37 100644
--- a/doc/html/dir_d41ce877eb409a4791b288730010abe2.js
+++ b/doc/html/dir_d41ce877eb409a4791b288730010abe2.js
@@ -1,9 +1,9 @@
var dir_d41ce877eb409a4791b288730010abe2 =
[
[ "_well_known.php", "__well__known_8php.html", "__well__known_8php" ],
+ [ "achievements.php", "achievements_8php.html", "achievements_8php" ],
[ "acl.php", "acl_8php.html", "acl_8php" ],
[ "admin.php", "admin_8php.html", "admin_8php" ],
- [ "allfriends.php", "allfriends_8php.html", "allfriends_8php" ],
[ "api.php", "mod_2api_8php.html", "mod_2api_8php" ],
[ "apps.php", "apps_8php.html", "apps_8php" ],
[ "attach.php", "mod_2attach_8php.html", "mod_2attach_8php" ],
@@ -16,10 +16,11 @@ var dir_d41ce877eb409a4791b288730010abe2 =
[ "community.php", "community_8php.html", "community_8php" ],
[ "connect.php", "connect_8php.html", "connect_8php" ],
[ "connections.php", "connections_8php.html", "connections_8php" ],
+ [ "connedit.php", "connedit_8php.html", "connedit_8php" ],
[ "contactgroup.php", "contactgroup_8php.html", "contactgroup_8php" ],
- [ "crepair.php", "crepair_8php.html", "crepair_8php" ],
[ "delegate.php", "delegate_8php.html", "delegate_8php" ],
[ "directory.php", "mod_2directory_8php.html", "mod_2directory_8php" ],
+ [ "dirprofile.php", "dirprofile_8php.html", "dirprofile_8php" ],
[ "dirsearch.php", "dirsearch_8php.html", "dirsearch_8php" ],
[ "display.php", "display_8php.html", "display_8php" ],
[ "editblock.php", "editblock_8php.html", "editblock_8php" ],
@@ -35,21 +36,19 @@ var dir_d41ce877eb409a4791b288730010abe2 =
[ "follow.php", "mod_2follow_8php.html", "mod_2follow_8php" ],
[ "fsuggest.php", "fsuggest_8php.html", "fsuggest_8php" ],
[ "group.php", "mod_2group_8php.html", "mod_2group_8php" ],
- [ "hcard.php", "hcard_8php.html", "hcard_8php" ],
[ "help.php", "help_8php.html", "help_8php" ],
- [ "home.php", "home_8php.html", null ],
+ [ "home.php", "home_8php.html", "home_8php" ],
[ "hostxrd.php", "hostxrd_8php.html", "hostxrd_8php" ],
[ "import.php", "import_8php.html", "import_8php" ],
- [ "intro.php", "intro_8php.html", "intro_8php" ],
[ "invite.php", "invite_8php.html", "invite_8php" ],
[ "item.php", "item_8php.html", "item_8php" ],
- [ "lastpost.php", "lastpost_8php.html", "lastpost_8php" ],
[ "layouts.php", "layouts_8php.html", "layouts_8php" ],
[ "like.php", "like_8php.html", "like_8php" ],
[ "lockview.php", "lockview_8php.html", "lockview_8php" ],
[ "login.php", "login_8php.html", "login_8php" ],
[ "lostpass.php", "lostpass_8php.html", "lostpass_8php" ],
[ "magic.php", "magic_8php.html", "magic_8php" ],
+ [ "mail.php", "mail_8php.html", "mail_8php" ],
[ "manage.php", "manage_8php.html", "manage_8php" ],
[ "match.php", "match_8php.html", "match_8php" ],
[ "menu.php", "mod_2menu_8php.html", "mod_2menu_8php" ],
@@ -59,6 +58,7 @@ var dir_d41ce877eb409a4791b288730010abe2 =
[ "msearch.php", "msearch_8php.html", "msearch_8php" ],
[ "network.php", "mod_2network_8php.html", "mod_2network_8php" ],
[ "new_channel.php", "new__channel_8php.html", "new__channel_8php" ],
+ [ "notes.php", "notes_8php.html", "notes_8php" ],
[ "notifications.php", "notifications_8php.html", "notifications_8php" ],
[ "notify.php", "mod_2notify_8php.html", "mod_2notify_8php" ],
[ "oembed.php", "mod_2oembed_8php.html", "mod_2oembed_8php" ],
@@ -80,9 +80,7 @@ var dir_d41ce877eb409a4791b288730010abe2 =
[ "profiles.php", "profiles_8php.html", "profiles_8php" ],
[ "profperm.php", "profperm_8php.html", "profperm_8php" ],
[ "pubsites.php", "pubsites_8php.html", "pubsites_8php" ],
- [ "qsearch.php", "qsearch_8php.html", "qsearch_8php" ],
[ "randprof.php", "randprof_8php.html", "randprof_8php" ],
- [ "redir.php", "redir_8php.html", "redir_8php" ],
[ "register.php", "register_8php.html", "register_8php" ],
[ "regmod.php", "regmod_8php.html", "regmod_8php" ],
[ "removeme.php", "removeme_8php.html", "removeme_8php" ],
@@ -98,6 +96,7 @@ var dir_d41ce877eb409a4791b288730010abe2 =
[ "sitelist.php", "sitelist_8php.html", "sitelist_8php" ],
[ "smilies.php", "smilies_8php.html", "smilies_8php" ],
[ "sources.php", "sources_8php.html", "sources_8php" ],
+ [ "sslify.php", "sslify_8php.html", "sslify_8php" ],
[ "starred.php", "starred_8php.html", "starred_8php" ],
[ "subthread.php", "subthread_8php.html", "subthread_8php" ],
[ "suggest.php", "suggest_8php.html", "suggest_8php" ],
@@ -123,6 +122,7 @@ var dir_d41ce877eb409a4791b288730010abe2 =
[ "wfinger.php", "wfinger_8php.html", "wfinger_8php" ],
[ "xchan.php", "xchan_8php.html", "xchan_8php" ],
[ "xrd.php", "xrd_8php.html", "xrd_8php" ],
+ [ "xref.php", "xref_8php.html", "xref_8php" ],
[ "zfinger.php", "zfinger_8php.html", "zfinger_8php" ],
[ "zotfeed.php", "zotfeed_8php.html", "zotfeed_8php" ],
[ "zping.php", "zping_8php.html", "zping_8php" ]
diff --git a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js
index fdcafcad3..3681158ec 100644
--- a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js
+++ b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js
@@ -78,11 +78,7 @@ var dir_d44c64559bbebec7f509842c48db8b23 =
] ],
[ "queue.php", "queue_8php.html", "queue_8php" ],
[ "queue_fn.php", "queue__fn_8php.html", "queue__fn_8php" ],
- [ "reddav.php", "reddav_8php.html", [
- [ "RedInode", "classRedInode.html", "classRedInode" ],
- [ "RedDirectory", "classRedDirectory.html", "classRedDirectory" ],
- [ "RedFile", "classRedFile.html", "classRedFile" ]
- ] ],
+ [ "reddav.php", "reddav_8php.html", "reddav_8php" ],
[ "security.php", "security_8php.html", "security_8php" ],
[ "session.php", "session_8php.html", "session_8php" ],
[ "socgraph.php", "socgraph_8php.html", "socgraph_8php" ],
diff --git a/doc/html/dirprofile_8php.html b/doc/html/dirprofile_8php.html
new file mode 100644
index 000000000..94bcb7aad
--- /dev/null
+++ b/doc/html/dirprofile_8php.html
@@ -0,0 +1,137 @@
+<!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 Red Matrix: mod/dirprofile.php File 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 Red Matrix
+ </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><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><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="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#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('dirprofile_8php.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="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">dirprofile.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a3e1d30d3d93863ff5615f2df4ac7f052"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a3e1d30d3d93863ff5615f2df4ac7f052"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a3e1d30d3d93863ff5615f2df4ac7f052"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dirprofile_init </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dirprofile_8php.js b/doc/html/dirprofile_8php.js
new file mode 100644
index 000000000..45cc06441
--- /dev/null
+++ b/doc/html/dirprofile_8php.js
@@ -0,0 +1,4 @@
+var dirprofile_8php =
+[
+ [ "dirprofile_init", "dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052", null ]
+]; \ No newline at end of file
diff --git a/doc/html/extract_8php.html b/doc/html/extract_8php.html
index 0958db030..e853b8bfc 100644
--- a/doc/html/extract_8php.html
+++ b/doc/html/extract_8php.html
@@ -132,7 +132,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">activity_sanitise()</a>, <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra()</a>, <a class="el" href="items_8php.html#abf7a1b73eb352d79acd36309b0dababd">array_sanitise()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">check_account_admin()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="account_8php.html#a144b4891022567668375b58ea61cfff0">check_account_password()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4">dbesc_array()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="text_8php.html#ace3c98538c63e09b70a363210b414112">find_xchan_in_array()</a>, <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">get_features()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs()</a>, <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">get_poke_verbs()</a>, <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1">get_terms_oftype()</a>, <a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">App\get_widgets()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a">ids_to_querystr()</a>, <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="items_8php.html#a09d425596b9f8663472cf7474ad36d96">item_getfeedattach()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classApp.html#abea5a4f77dcd53c928dc4eed86616637">App\set_apps()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="event_8php.html#a018ea4484910a873a7c1eaa126de9b1a">sort_by_date()</a>, <a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">stringify_array_elms()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f">xchan_query()</a>, <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">activity_sanitise()</a>, <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra()</a>, <a class="el" href="items_8php.html#abf7a1b73eb352d79acd36309b0dababd">array_sanitise()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">check_account_admin()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="account_8php.html#a144b4891022567668375b58ea61cfff0">check_account_password()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4">dbesc_array()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="text_8php.html#ace3c98538c63e09b70a363210b414112">find_xchan_in_array()</a>, <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">get_cloudpath()</a>, <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">get_features()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs()</a>, <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">get_poke_verbs()</a>, <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1">get_terms_oftype()</a>, <a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">App\get_widgets()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a">ids_to_querystr()</a>, <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="items_8php.html#a09d425596b9f8663472cf7474ad36d96">item_getfeedattach()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classApp.html#abea5a4f77dcd53c928dc4eed86616637">App\set_apps()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="event_8php.html#a018ea4484910a873a7c1eaa126de9b1a">sort_by_date()</a>, <a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">stringify_array_elms()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f">xchan_query()</a>, <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
</div>
</div>
@@ -146,7 +146,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="classRedBrowser.html#a1f7daf50bb9bfcde7345b3b1908dbd7e">RedBrowser\generateDirectoryIndex()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>.</p>
</div>
</div>
@@ -160,7 +160,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4">Template\_build_nodes()</a>, <a class="el" href="classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee">Template\_replcb_node()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="text_8php.html#a95fd2f8f23a1948414a03ebc963bac57">attribute_contains()</a>, <a class="el" href="text_8php.html#a13286f8a95d2de6b102966ecc270c8d6">base64url_decode()</a>, <a class="el" href="text_8php.html#a070384ec000fd65043fce11d5392d241">base64url_encode()</a>, <a class="el" href="bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba">bb_tag_preg_replace()</a>, <a class="el" href="text_8php.html#a3d2793d66db3345fd290b71e2eadf98e">bb_translate_video()</a>, <a class="el" href="event_8php.html#a180cccd63c2a2f00ff432b03113531f3">bbtoevent()</a>, <a class="el" href="event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279">bbtovcal()</a>, <a class="el" href="text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0">chanlink_hash()</a>, <a class="el" href="text_8php.html#a2e8d6c402603be3a1256a16605e09c2a">chanlink_url()</a>, <a class="el" href="comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922">comanche_parser()</a>, <a class="el" href="comanche_8php.html#a5718daeda40bf835345fe061e8808cdf">comanche_region()</a>, <a class="el" href="comanche_8php.html#ae9fe1ce574db3dd0931eada80234f82a">comanche_webpage()</a>, <a class="el" href="datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226">datetime_convert()</a>, <a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">day_translate()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="bb2diaspora_8php.html#a26c09c218413610e62e60754c579f6c6">diaspora2bb()</a>, <a class="el" href="bb2diaspora_8php.html#a8b96bd45884fa1c40b942939354197d4">diaspora_ol()</a>, <a class="el" href="bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc">diaspora_ul()</a>, <a class="el" href="text_8php.html#ae4282a39492caa23ccbc2ce98e54f110">expand_acl()</a>, <a class="el" href="taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6">file_tag_decode()</a>, <a class="el" href="taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37">file_tag_encode()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28">fix_mce_lf()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">format_term_for_display()</a>, <a class="el" href="bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2">get_bb_tag_pos()</a>, <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">get_intltext_template()</a>, <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">get_markup_template()</a>, <a class="el" href="text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623">get_tags()</a>, <a class="el" href="text_8php.html#a138a3a611fa7f4f3630674145fc826bf">html2bb_video()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="text_8php.html#a1557112a774ec00fa06ed6b6f6495506">is_a_date_arg()</a>, <a class="el" href="text_8php.html#a0271381208acfa2d4cff36da281e3e23">json_decode_plus()</a>, <a class="el" href="text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728">legal_webbie()</a>, <a class="el" href="text_8php.html#a11255c8c4e5245b6c24f97684826aa54">linkify()</a>, <a class="el" href="text_8php.html#a1e510c53624933ce9b7d6715784894db">magic_link()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="text_8php.html#adba17ec946f4285285dc100f7860bf51">normalise_openid()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0">oembed_replacecb()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3">print_template()</a>, <a class="el" href="dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249">printable()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="text_8php.html#a4e7698aca48982512594b274543c3b9b">protect_sprintf()</a>, <a class="el" href="text_8php.html#a4841df5beabdd1bdd1ed56781a915d61">purify_html()</a>, <a class="el" href="text_8php.html#afc998d2796a6b2a08e96f7cc061e7221">qp()</a>, <a class="el" href="text_8php.html#a9d6a5ee1290de7a8b483fe78585daade">random_string()</a>, <a class="el" href="classTemplate.html#a285b5b2007dbbf733476273df3fed4ef">Template\replace()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2">FriendicaSmartyEngine\replace_macros()</a>, <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template\replace_macros()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="classApp.html#a123b903dfe5d3488cc68db3471d36fd2">App\set_widget()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93">stripdcode_br_cb()</a>, <a class="el" href="language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04">t()</a>, <a class="el" href="template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5">template_escape()</a>, <a class="el" href="template__processor_8php.html#ac635bb19a5f6eadd6b0cddefdd537c1e">template_unescape()</a>, <a class="el" href="taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c">term_query()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7">unamp()</a>, <a class="el" href="text_8php.html#a740ad03e00459039a2c0992246c4e727">undo_post_tagging()</a>, <a class="el" href="text_8php.html#a1360fed7f918d859daaca1c9f384f9af">unxmlify()</a>, <a class="el" href="classTemplate.html#abbc484016ddf5d818f55b823cae6feb0">Template\var_replace()</a>, <a class="el" href="include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5">webfinger()</a>, <a class="el" href="include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335">webfinger_dfrn()</a>, <a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="identity_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>.</p>
+<p>Referenced by <a class="el" href="classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4">Template\_build_nodes()</a>, <a class="el" href="classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee">Template\_replcb_node()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="text_8php.html#a95fd2f8f23a1948414a03ebc963bac57">attribute_contains()</a>, <a class="el" href="text_8php.html#a13286f8a95d2de6b102966ecc270c8d6">base64url_decode()</a>, <a class="el" href="text_8php.html#a070384ec000fd65043fce11d5392d241">base64url_encode()</a>, <a class="el" href="bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba">bb_tag_preg_replace()</a>, <a class="el" href="text_8php.html#a3d2793d66db3345fd290b71e2eadf98e">bb_translate_video()</a>, <a class="el" href="event_8php.html#a180cccd63c2a2f00ff432b03113531f3">bbtoevent()</a>, <a class="el" href="event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279">bbtovcal()</a>, <a class="el" href="text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0">chanlink_hash()</a>, <a class="el" href="text_8php.html#a2e8d6c402603be3a1256a16605e09c2a">chanlink_url()</a>, <a class="el" href="comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922">comanche_parser()</a>, <a class="el" href="comanche_8php.html#a5718daeda40bf835345fe061e8808cdf">comanche_region()</a>, <a class="el" href="comanche_8php.html#ae9fe1ce574db3dd0931eada80234f82a">comanche_webpage()</a>, <a class="el" href="datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226">datetime_convert()</a>, <a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">day_translate()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="bb2diaspora_8php.html#a26c09c218413610e62e60754c579f6c6">diaspora2bb()</a>, <a class="el" href="bb2diaspora_8php.html#a8b96bd45884fa1c40b942939354197d4">diaspora_ol()</a>, <a class="el" href="bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc">diaspora_ul()</a>, <a class="el" href="text_8php.html#ae4282a39492caa23ccbc2ce98e54f110">expand_acl()</a>, <a class="el" href="taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6">file_tag_decode()</a>, <a class="el" href="taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37">file_tag_encode()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28">fix_mce_lf()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">format_term_for_display()</a>, <a class="el" href="bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2">get_bb_tag_pos()</a>, <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">get_intltext_template()</a>, <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">get_markup_template()</a>, <a class="el" href="text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623">get_tags()</a>, <a class="el" href="text_8php.html#a138a3a611fa7f4f3630674145fc826bf">html2bb_video()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="text_8php.html#a1557112a774ec00fa06ed6b6f6495506">is_a_date_arg()</a>, <a class="el" href="identity_8php.html#ae2b140df652a55ca11bb6a99005fce35">is_foreigner()</a>, <a class="el" href="identity_8php.html#a9637c557e13d9671f3eeb124ab98212a">is_member()</a>, <a class="el" href="text_8php.html#a0271381208acfa2d4cff36da281e3e23">json_decode_plus()</a>, <a class="el" href="text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728">legal_webbie()</a>, <a class="el" href="text_8php.html#a11255c8c4e5245b6c24f97684826aa54">linkify()</a>, <a class="el" href="text_8php.html#a1e510c53624933ce9b7d6715784894db">magic_link()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="text_8php.html#adba17ec946f4285285dc100f7860bf51">normalise_openid()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0">oembed_replacecb()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3">print_template()</a>, <a class="el" href="dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249">printable()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="text_8php.html#a4e7698aca48982512594b274543c3b9b">protect_sprintf()</a>, <a class="el" href="text_8php.html#a4841df5beabdd1bdd1ed56781a915d61">purify_html()</a>, <a class="el" href="text_8php.html#afc998d2796a6b2a08e96f7cc061e7221">qp()</a>, <a class="el" href="text_8php.html#a9d6a5ee1290de7a8b483fe78585daade">random_string()</a>, <a class="el" href="classTemplate.html#a285b5b2007dbbf733476273df3fed4ef">Template\replace()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2">FriendicaSmartyEngine\replace_macros()</a>, <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template\replace_macros()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9">sslify()</a>, <a class="el" href="bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93">stripdcode_br_cb()</a>, <a class="el" href="language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04">t()</a>, <a class="el" href="template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5">template_escape()</a>, <a class="el" href="template__processor_8php.html#ac635bb19a5f6eadd6b0cddefdd537c1e">template_unescape()</a>, <a class="el" href="taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c">term_query()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7">unamp()</a>, <a class="el" href="text_8php.html#a740ad03e00459039a2c0992246c4e727">undo_post_tagging()</a>, <a class="el" href="text_8php.html#a1360fed7f918d859daaca1c9f384f9af">unxmlify()</a>, <a class="el" href="classTemplate.html#abbc484016ddf5d818f55b823cae6feb0">Template\var_replace()</a>, <a class="el" href="include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5">webfinger()</a>, <a class="el" href="include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335">webfinger_dfrn()</a>, <a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="identity_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>.</p>
</div>
</div>
diff --git a/doc/html/features_8php.html b/doc/html/features_8php.html
index 437f5cf41..b158711f7 100644
--- a/doc/html/features_8php.html
+++ b/doc/html/features_8php.html
@@ -142,7 +142,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel_aside()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost_aside()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">saved_searches()</a>, <a class="el" href="search_8php.html#aa911f7c7f0cdb0284e35d0ed610f19c6">search_saved_searches()</a>, <a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings_aside()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, and <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>.</p>
+<p>Referenced by <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, and <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>.</p>
</div>
</div>
diff --git a/doc/html/files.html b/doc/html/files.html
index 5ab85789e..e9784846e 100644
--- a/doc/html/files.html
+++ b/doc/html/files.html
@@ -190,9 +190,9 @@ $(document).ready(function(){initNavTree('files.html','');});
<tr id="row_0_71_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="zot_8php.html" target="_self">zot.php</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><img id="arr_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_')"/><img id="img_1_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('1_')"/><a class="el" href="dir_d41ce877eb409a4791b288730010abe2.html" target="_self">mod</a></td><td class="desc"></td></tr>
<tr id="row_1_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="__well__known_8php.html" target="_self">_well_known.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="acl_8php.html" target="_self">acl.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="admin_8php.html" target="_self">admin.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="allfriends_8php.html" target="_self">allfriends.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="achievements_8php.html" target="_self">achievements.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="acl_8php.html" target="_self">acl.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="admin_8php.html" target="_self">admin.php</a></td><td class="desc"></td></tr>
<tr id="row_1_4_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2api_8php.html" target="_self">api.php</a></td><td class="desc"></td></tr>
<tr id="row_1_5_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="apps_8php.html" target="_self">apps.php</a></td><td class="desc"></td></tr>
<tr id="row_1_6_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2attach_8php.html" target="_self">attach.php</a></td><td class="desc"></td></tr>
@@ -205,49 +205,49 @@ $(document).ready(function(){initNavTree('files.html','');});
<tr id="row_1_13_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="community_8php.html" target="_self">community.php</a></td><td class="desc"></td></tr>
<tr id="row_1_14_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="connect_8php.html" target="_self">connect.php</a></td><td class="desc"></td></tr>
<tr id="row_1_15_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="connections_8php.html" target="_self">connections.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_16_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="contactgroup_8php.html" target="_self">contactgroup.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_17_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="crepair_8php.html" target="_self">crepair.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_16_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="connedit_8php.html" target="_self">connedit.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_17_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="contactgroup_8php.html" target="_self">contactgroup.php</a></td><td class="desc"></td></tr>
<tr id="row_1_18_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="delegate_8php.html" target="_self">delegate.php</a></td><td class="desc"></td></tr>
<tr id="row_1_19_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2directory_8php.html" target="_self">directory.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_20_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dirsearch_8php.html" target="_self">dirsearch.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_21_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="display_8php.html" target="_self">display.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_22_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editblock_8php.html" target="_self">editblock.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_23_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editlayout_8php.html" target="_self">editlayout.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_24_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editpost_8php.html" target="_self">editpost.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_25_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editwebpage_8php.html" target="_self">editwebpage.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_26_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="events_8php.html" target="_self">events.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_27_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="fbrowser_8php.html" target="_self">fbrowser.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_28_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="feed_8php.html" target="_self">feed.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_29_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="filer_8php.html" target="_self">filer.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_30_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="filerm_8php.html" target="_self">filerm.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_31_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="filestorage_8php.html" target="_self">filestorage.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_32_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2follow_8php.html" target="_self">follow.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_33_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="fsuggest_8php.html" target="_self">fsuggest.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_34_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2group_8php.html" target="_self">group.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_35_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="hcard_8php.html" target="_self">hcard.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_20_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dirprofile_8php.html" target="_self">dirprofile.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_21_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dirsearch_8php.html" target="_self">dirsearch.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_22_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="display_8php.html" target="_self">display.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_23_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editblock_8php.html" target="_self">editblock.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_24_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editlayout_8php.html" target="_self">editlayout.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_25_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editpost_8php.html" target="_self">editpost.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_26_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editwebpage_8php.html" target="_self">editwebpage.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_27_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="events_8php.html" target="_self">events.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_28_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="fbrowser_8php.html" target="_self">fbrowser.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_29_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="feed_8php.html" target="_self">feed.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_30_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="filer_8php.html" target="_self">filer.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_31_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="filerm_8php.html" target="_self">filerm.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_32_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="filestorage_8php.html" target="_self">filestorage.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_33_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2follow_8php.html" target="_self">follow.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_34_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="fsuggest_8php.html" target="_self">fsuggest.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_35_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2group_8php.html" target="_self">group.php</a></td><td class="desc"></td></tr>
<tr id="row_1_36_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="help_8php.html" target="_self">help.php</a></td><td class="desc"></td></tr>
<tr id="row_1_37_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="home_8php.html" target="_self">home.php</a></td><td class="desc"></td></tr>
<tr id="row_1_38_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="hostxrd_8php.html" target="_self">hostxrd.php</a></td><td class="desc"></td></tr>
<tr id="row_1_39_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="import_8php.html" target="_self">import.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_40_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="intro_8php.html" target="_self">intro.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_41_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="invite_8php.html" target="_self">invite.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_42_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="item_8php.html" target="_self">item.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_43_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lastpost_8php.html" target="_self">lastpost.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_44_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="layouts_8php.html" target="_self">layouts.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_45_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="like_8php.html" target="_self">like.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_46_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lockview_8php.html" target="_self">lockview.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_47_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="login_8php.html" target="_self">login.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_48_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lostpass_8php.html" target="_self">lostpass.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_49_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="magic_8php.html" target="_self">magic.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_50_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="manage_8php.html" target="_self">manage.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_51_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="match_8php.html" target="_self">match.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_52_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2menu_8php.html" target="_self">menu.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_53_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2message_8php.html" target="_self">message.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_54_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mitem_8php.html" target="_self">mitem.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_55_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mood_8php.html" target="_self">mood.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_56_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="msearch_8php.html" target="_self">msearch.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_57_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2network_8php.html" target="_self">network.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_58_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="new__channel_8php.html" target="_self">new_channel.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_40_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="invite_8php.html" target="_self">invite.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_41_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="item_8php.html" target="_self">item.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_42_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="layouts_8php.html" target="_self">layouts.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_43_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="like_8php.html" target="_self">like.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_44_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lockview_8php.html" target="_self">lockview.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_45_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="login_8php.html" target="_self">login.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_46_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lostpass_8php.html" target="_self">lostpass.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_47_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="magic_8php.html" target="_self">magic.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_48_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mail_8php.html" target="_self">mail.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_49_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="manage_8php.html" target="_self">manage.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_50_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="match_8php.html" target="_self">match.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_51_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2menu_8php.html" target="_self">menu.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_52_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2message_8php.html" target="_self">message.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_53_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mitem_8php.html" target="_self">mitem.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_54_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mood_8php.html" target="_self">mood.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_55_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="msearch_8php.html" target="_self">msearch.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_56_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2network_8php.html" target="_self">network.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_57_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="new__channel_8php.html" target="_self">new_channel.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_58_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="notes_8php.html" target="_self">notes.php</a></td><td class="desc"></td></tr>
<tr id="row_1_59_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="notifications_8php.html" target="_self">notifications.php</a></td><td class="desc"></td></tr>
<tr id="row_1_60_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2notify_8php.html" target="_self">notify.php</a></td><td class="desc"></td></tr>
<tr id="row_1_61_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2oembed_8php.html" target="_self">oembed.php</a></td><td class="desc"></td></tr>
@@ -269,49 +269,49 @@ $(document).ready(function(){initNavTree('files.html','');});
<tr id="row_1_77_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="profiles_8php.html" target="_self">profiles.php</a></td><td class="desc"></td></tr>
<tr id="row_1_78_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="profperm_8php.html" target="_self">profperm.php</a></td><td class="desc"></td></tr>
<tr id="row_1_79_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="pubsites_8php.html" target="_self">pubsites.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_80_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="qsearch_8php.html" target="_self">qsearch.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_81_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="randprof_8php.html" target="_self">randprof.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_82_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="redir_8php.html" target="_self">redir.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_83_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="register_8php.html" target="_self">register.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_84_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="regmod_8php.html" target="_self">regmod.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_85_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="removeme_8php.html" target="_self">removeme.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_86_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rmagic_8php.html" target="_self">rmagic.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_87_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rpost_8php.html" target="_self">rpost.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_88_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rsd__xml_8php.html" target="_self">rsd_xml.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_89_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="search_8php.html" target="_self">search.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_90_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="search__ac_8php.html" target="_self">search_ac.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_91_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="settings_8php.html" target="_self">settings.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_92_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="setup_8php.html" target="_self">setup.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_93_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="share_8php.html" target="_self">share.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_94_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="siteinfo_8php.html" target="_self">siteinfo.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_95_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="sitelist_8php.html" target="_self">sitelist.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_96_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="smilies_8php.html" target="_self">smilies.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_97_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="sources_8php.html" target="_self">sources.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_98_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="starred_8php.html" target="_self">starred.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_99_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="subthread_8php.html" target="_self">subthread.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_100_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="suggest_8php.html" target="_self">suggest.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_101_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="tagger_8php.html" target="_self">tagger.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_102_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="tagrm_8php.html" target="_self">tagrm.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_103_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="thing_8php.html" target="_self">thing.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_104_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="toggle__mobile_8php.html" target="_self">toggle_mobile.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_105_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="toggle__safesearch_8php.html" target="_self">toggle_safesearch.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_106_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="uexport_8php.html" target="_self">uexport.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_107_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__channel_8php.html" target="_self">update_channel.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_108_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__community_8php.html" target="_self">update_community.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_109_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__display_8php.html" target="_self">update_display.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_110_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__network_8php.html" target="_self">update_network.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_111_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__search_8php.html" target="_self">update_search.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_112_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="view_8php.html" target="_self">view.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_113_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="viewconnections_8php.html" target="_self">viewconnections.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_114_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="viewsrc_8php.html" target="_self">viewsrc.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_115_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="vote_8php.html" target="_self">vote.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_116_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="wall__attach_8php.html" target="_self">wall_attach.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_117_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="wall__upload_8php.html" target="_self">wall_upload.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_118_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="webfinger_8php.html" target="_self">webfinger.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_119_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="webpages_8php.html" target="_self">webpages.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_120_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="wfinger_8php.html" target="_self">wfinger.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_121_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="xchan_8php.html" target="_self">xchan.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_122_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="xrd_8php.html" target="_self">xrd.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_80_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="randprof_8php.html" target="_self">randprof.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_81_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="register_8php.html" target="_self">register.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_82_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="regmod_8php.html" target="_self">regmod.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_83_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="removeme_8php.html" target="_self">removeme.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_84_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rmagic_8php.html" target="_self">rmagic.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_85_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rpost_8php.html" target="_self">rpost.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_86_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rsd__xml_8php.html" target="_self">rsd_xml.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_87_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="search_8php.html" target="_self">search.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_88_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="search__ac_8php.html" target="_self">search_ac.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_89_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="settings_8php.html" target="_self">settings.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_90_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="setup_8php.html" target="_self">setup.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_91_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="share_8php.html" target="_self">share.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_92_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="siteinfo_8php.html" target="_self">siteinfo.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_93_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="sitelist_8php.html" target="_self">sitelist.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_94_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="smilies_8php.html" target="_self">smilies.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_95_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="sources_8php.html" target="_self">sources.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_96_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="sslify_8php.html" target="_self">sslify.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_97_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="starred_8php.html" target="_self">starred.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_98_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="subthread_8php.html" target="_self">subthread.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_99_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="suggest_8php.html" target="_self">suggest.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_100_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="tagger_8php.html" target="_self">tagger.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_101_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="tagrm_8php.html" target="_self">tagrm.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_102_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="thing_8php.html" target="_self">thing.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_103_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="toggle__mobile_8php.html" target="_self">toggle_mobile.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_104_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="toggle__safesearch_8php.html" target="_self">toggle_safesearch.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_105_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="uexport_8php.html" target="_self">uexport.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_106_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__channel_8php.html" target="_self">update_channel.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_107_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__community_8php.html" target="_self">update_community.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_108_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__display_8php.html" target="_self">update_display.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_109_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__network_8php.html" target="_self">update_network.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_110_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__search_8php.html" target="_self">update_search.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_111_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="view_8php.html" target="_self">view.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_112_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="viewconnections_8php.html" target="_self">viewconnections.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_113_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="viewsrc_8php.html" target="_self">viewsrc.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_114_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="vote_8php.html" target="_self">vote.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_115_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="wall__attach_8php.html" target="_self">wall_attach.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_116_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="wall__upload_8php.html" target="_self">wall_upload.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_117_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="webfinger_8php.html" target="_self">webfinger.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_118_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="webpages_8php.html" target="_self">webpages.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_119_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="wfinger_8php.html" target="_self">wfinger.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_120_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="xchan_8php.html" target="_self">xchan.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_121_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="xrd_8php.html" target="_self">xrd.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_122_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="xref_8php.html" target="_self">xref.php</a></td><td class="desc"></td></tr>
<tr id="row_1_123_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="zfinger_8php.html" target="_self">zfinger.php</a></td><td class="desc"></td></tr>
<tr id="row_1_124_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="zotfeed_8php.html" target="_self">zotfeed.php</a></td><td class="desc"></td></tr>
<tr id="row_1_125_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="zping_8php.html" target="_self">zping.php</a></td><td class="desc"></td></tr>
@@ -337,10 +337,8 @@ $(document).ready(function(){initNavTree('files.html','');});
<tr id="row_3_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="full_8php.html" target="_self">full.php</a></td><td class="desc"></td></tr>
<tr id="row_3_0_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="minimal_8php.html" target="_self">minimal.php</a></td><td class="desc"></td></tr>
<tr id="row_3_0_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod__import_8php.html" target="_self">mod_import.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_0_4_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod__new__channel_8php.html" target="_self">mod_new_channel.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_0_5_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod__register_8php.html" target="_self">mod_register.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_0_6_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="none_8php.html" target="_self">none.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_0_7_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="php_2theme__init_8php.html" target="_self">theme_init.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_0_4_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="none_8php.html" target="_self">none.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_0_5_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="php_2theme__init_8php.html" target="_self">theme_init.php</a></td><td class="desc"></td></tr>
<tr id="row_3_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_')"/><img id="img_3_1_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_')"/><a class="el" href="dir_8543001e5d25368a6edede3e63efb554.html" target="_self">theme</a></td><td class="desc"></td></tr>
<tr id="row_3_1_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_0_')"/><img id="img_3_1_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_0_')"/><a class="el" href="dir_d520c5cf583201d9437764f209363c22.html" target="_self">apw</a></td><td class="desc"></td></tr>
<tr id="row_3_1_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_0_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_0_0_')"/><img id="img_3_1_0_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_0_0_')"/><a class="el" href="dir_cb8a8f75dcdd0b3fbfcc82e9eda410c5.html" target="_self">php</a></td><td class="desc"></td></tr>
diff --git a/doc/html/filestorage_8php.html b/doc/html/filestorage_8php.html
index 7b3d146ab..91508e06f 100644
--- a/doc/html/filestorage_8php.html
+++ b/doc/html/filestorage_8php.html
@@ -112,6 +112,8 @@ $(document).ready(function(){initNavTree('filestorage_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
+<tr class="memitem:ad3b64e3ece9831f9d3a9f00c0ae983cd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post</a> (&amp;$a)</td></tr>
+<tr class="separator:ad3b64e3ece9831f9d3a9f00c0ae983cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61bb1be78472555df4ce619f51014040"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content</a> (&amp;$a)</td></tr>
<tr class="separator:a61bb1be78472555df4ce619f51014040"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -132,6 +134,22 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="ad3b64e3ece9831f9d3a9f00c0ae983cd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">filestorage_post </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/filestorage_8php.js b/doc/html/filestorage_8php.js
index 347b67626..86f35b70c 100644
--- a/doc/html/filestorage_8php.js
+++ b/doc/html/filestorage_8php.js
@@ -1,4 +1,5 @@
var filestorage_8php =
[
- [ "filestorage_content", "filestorage_8php.html#a61bb1be78472555df4ce619f51014040", null ]
+ [ "filestorage_content", "filestorage_8php.html#a61bb1be78472555df4ce619f51014040", null ],
+ [ "filestorage_post", "filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd", null ]
]; \ No newline at end of file
diff --git a/doc/html/full_8php.html b/doc/html/full_8php.html
index 2e22f58c7..acfbf2149 100644
--- a/doc/html/full_8php.html
+++ b/doc/html/full_8php.html
@@ -112,7 +112,7 @@ $(document).ready(function(){initNavTree('full_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
-<tr class="memitem:a6fac1b4b8cdfde06ea1b7713479e92db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="full_8php.html#a6fac1b4b8cdfde06ea1b7713479e92db">if</a> (<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav</a> &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td></tr>
+<tr class="memitem:a6fac1b4b8cdfde06ea1b7713479e92db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="full_8php.html#a6fac1b4b8cdfde06ea1b7713479e92db">if</a> (<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav</a> &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td></tr>
<tr class="separator:a6fac1b4b8cdfde06ea1b7713479e92db"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Variable Documentation</h2>
@@ -121,7 +121,7 @@ Variables</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav</a> &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td>
+ <td class="memname">if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav</a> &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td>
</tr>
</table>
</div><div class="memdoc">
diff --git a/doc/html/functions.html b/doc/html/functions.html
index 07bf3f97b..dc4831efd 100644
--- a/doc/html/functions.html
+++ b/doc/html/functions.html
@@ -154,15 +154,17 @@ $(document).ready(function(){initNavTree('functions.html','');});
<li>$argv
: <a class="el" href="classApp.html#ab3da757abe5cb45bf88f07cc51a73b58">App</a>
</li>
-<li>$attach
-: <a class="el" href="classRedInode.html#a7b317eb1230930154107ed51e54193f5">RedInode</a>
-</li>
<li>$auth
-: <a class="el" href="classRedDirectory.html#a9616af16cd19a18a6afebebcc2881c44">RedDirectory</a>
+: <a class="el" href="classRedBrowser.html#ab6d6d1e2a67e06b344a4cede1bd00b35">RedBrowser</a>
+, <a class="el" href="classRedDirectory.html#a9616af16cd19a18a6afebebcc2881c44">RedDirectory</a>
+, <a class="el" href="classRedFile.html#a4b5d0e33f919c6c175b30a55de6263f2">RedFile</a>
</li>
<li>$baseurl
: <a class="el" href="classApp.html#ad5175536561021548ae8188e24c7b80c">App</a>
</li>
+<li>$browser
+: <a class="el" href="classRedBasicAuth.html#af14337f1baad407f8a85d48205c0f30e">RedBasicAuth</a>
+</li>
<li>$cached_profile_image
: <a class="el" href="classApp.html#abe0e4fa91097f7a6588e1213a834121c">App</a>
</li>
@@ -176,8 +178,14 @@ $(document).ready(function(){initNavTree('functions.html','');});
: <a class="el" href="classApp.html#a050b0696118da47e8b30859ad1a2c149">App</a>
, <a class="el" href="classItem.html#acc32426c0f465391be8a99ad810c7b8e">Item</a>
</li>
+<li>$channel_hash
+: <a class="el" href="classRedBasicAuth.html#ad5a3ea4dc4783b242d9dc6e76478b6ef">RedBasicAuth</a>
+</li>
<li>$channel_id
-: <a class="el" href="classRedDirectory.html#ae624dcaa4d73a517f4b1616d33df690d">RedDirectory</a>
+: <a class="el" href="classRedBasicAuth.html#a2dab393650d1573e3515969a153e8354">RedBasicAuth</a>
+</li>
+<li>$channel_name
+: <a class="el" href="classRedBasicAuth.html#a438ab125b6ef46581947e35d49cdebac">RedBasicAuth</a>
</li>
<li>$children
: <a class="el" href="classItem.html#a80dcd0fb7673776c0967839d429c2a0f">Item</a>
@@ -241,9 +249,6 @@ $(document).ready(function(){initNavTree('functions.html','');});
: <a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">dba_driver</a>
, <a class="el" href="classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a">Template</a>
</li>
-<li>$dir_key
-: <a class="el" href="classRedDirectory.html#a8d5df814b2f825dd14c628a51b5829b5">RedDirectory</a>
-</li>
<li>$done
: <a class="el" href="classTemplate.html#abda4c8d049f70553338eae7c905e9d5c">Template</a>
</li>
@@ -251,9 +256,15 @@ $(document).ready(function(){initNavTree('functions.html','');});
: <a class="el" href="classApp.html#ac1a8b2cd40609b231a560201a08852ba">App</a>
, <a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">dba_driver</a>
</li>
+<li>$ext_path
+: <a class="el" href="classRedDirectory.html#a0f113244cd85c17848df991001d024f4">RedDirectory</a>
+</li>
<li>$filename
: <a class="el" href="classFriendicaSmarty.html#a33fabbd4d6eef869df496adf357ae690">FriendicaSmarty</a>
</li>
+<li>$folder_hash
+: <a class="el" href="classRedDirectory.html#aa10254abf177bb2a0e4a88495725e09b">RedDirectory</a>
+</li>
<li>$force_max_items
: <a class="el" href="classApp.html#ae3f47830543d0d902f66913def8db66b">App</a>
</li>
@@ -304,6 +315,7 @@ $(document).ready(function(){initNavTree('functions.html','');});
</li>
<li>$name
: <a class="el" href="classFriendicaSmartyEngine.html#aaba6a42101bc9ae32e36b7fa2e243f02">FriendicaSmartyEngine</a>
+, <a class="el" href="classRedFile.html#acc48c05cd5a70951cb3c615ad84f03ba">RedFile</a>
, <a class="el" href="classTemplate.html#a6eb301a51cc94d8b94f4548fbad85eae">Template</a>
</li>
<li>$nav_sel
@@ -314,11 +326,21 @@ $(document).ready(function(){initNavTree('functions.html','');});
</li>
<li>$observer
: <a class="el" href="classApp.html#a4ffe529fb14389f7fedf5fdc5f722e7f">App</a>
+, <a class="el" href="classRedBasicAuth.html#aa75dc43b59adc98e38a98517d3fd35d1">RedBasicAuth</a>
, <a class="el" href="classConversation.html#a8748445aa26047ebed5141f3c3cbc244">Conversation</a>
</li>
+<li>$os_path
+: <a class="el" href="classRedDirectory.html#a3c148c07ad909985125aa4926d8d0021">RedDirectory</a>
+</li>
+<li>$owner_id
+: <a class="el" href="classRedBasicAuth.html#a09c1488a0b290f5a54dc15180c5690d7">RedBasicAuth</a>
+</li>
<li>$owner_name
: <a class="el" href="classItem.html#a9594df6014b0b6f45364ea7a34510130">Item</a>
</li>
+<li>$owner_nick
+: <a class="el" href="classRedBasicAuth.html#a8d09b8d784cc810a0b3be580d05106a7">RedBasicAuth</a>
+</li>
<li>$owner_photo
: <a class="el" href="classItem.html#a078f95b4134ce3a1df344cf8d386f986">Item</a>
</li>
@@ -343,6 +365,9 @@ $(document).ready(function(){initNavTree('functions.html','');});
<li>$plugins
: <a class="el" href="classApp.html#ae9f96338f32187d308b67b980eea0008">App</a>
</li>
+<li>$poi
+: <a class="el" href="classApp.html#a1936f2afce0dc0d1bbed15ae1f2ee81a">App</a>
+</li>
<li>$prepared_item
: <a class="el" href="classConversation.html#a5b6adbb2fe24f0f53d6c22660dff91b2">Conversation</a>
</li>
@@ -376,6 +401,9 @@ $(document).ready(function(){initNavTree('functions.html','');});
<li>$replace
: <a class="el" href="classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10">Template</a>
</li>
+<li>$root_dir
+: <a class="el" href="classRedDirectory.html#ad87c514a307ec97ba0f1372e9bcfa6a4">RedDirectory</a>
+</li>
<li>$scheme
: <a class="el" href="classApp.html#ad082d63acc078e5bf23825a03bdd6a76">App</a>
</li>
@@ -416,7 +444,8 @@ $(document).ready(function(){initNavTree('functions.html','');});
: <a class="el" href="classConversation.html#a41f4a549e6a99f98935c4742addd22c8">Conversation</a>
</li>
<li>$timezone
-: <a class="el" href="classApp.html#ab35b01a366a2ea95725e97af278f87ab">App</a>
+: <a class="el" href="classRedBasicAuth.html#a2d0246ed446fd5e55c17938b4ce6ac47">RedBasicAuth</a>
+, <a class="el" href="classApp.html#ab35b01a366a2ea95725e97af278f87ab">App</a>
</li>
<li>$toplevel
: <a class="el" href="classItem.html#a5cfa6cf964f433a917a81cab079ff9d8">Item</a>
diff --git a/doc/html/functions_0x5f.html b/doc/html/functions_0x5f.html
index ed59f06f7..7caef9ab3 100644
--- a/doc/html/functions_0x5f.html
+++ b/doc/html/functions_0x5f.html
@@ -144,10 +144,10 @@ $(document).ready(function(){initNavTree('functions_0x5f.html','');});
, <a class="el" href="classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09">Conversation</a>
, <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty</a>
, <a class="el" href="classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae">photo_driver</a>
-, <a class="el" href="classRedInode.html#a21a6f92921c037c868e6fae30c7c51bb">RedInode</a>
+, <a class="el" href="classRedDirectory.html#a1e35e3cd31d2a15250655e4cafdea180">RedDirectory</a>
, <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine</a>
-, <a class="el" href="classRedDirectory.html#add0bf2c049230fec4913e769d126e6e6">RedDirectory</a>
-, <a class="el" href="classRedFile.html#ad4588b90004a2741b1a4ced10355904c">RedFile</a>
+, <a class="el" href="classRedFile.html#a9a67bdb34c9db6ce144b3f371148b183">RedFile</a>
+, <a class="el" href="classRedBrowser.html#a4b76be9ccef0262cf78fffb4129eda93">RedBrowser</a>
, <a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">dba_driver</a>
, <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">Item</a>
, <a class="el" href="classFKOAuth1.html#a2f1276872329a6f0b704ccda1a4b9fa6">FKOAuth1</a>
diff --git a/doc/html/functions_0x64.html b/doc/html/functions_0x64.html
index 34949c740..1fd41d048 100644
--- a/doc/html/functions_0x64.html
+++ b/doc/html/functions_0x64.html
@@ -143,7 +143,7 @@ $(document).ready(function(){initNavTree('functions_0x64.html','');});
: <a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dba_driver</a>
</li>
<li>delete()
-: <a class="el" href="classRedInode.html#a5e8f09bc887725c3c448f8d72fe3edfc">RedInode</a>
+: <a class="el" href="classRedFile.html#aef71c9eaac7052be7dc8602eb12171e7">RedFile</a>
</li>
<li>deliver()
: <a class="el" href="classZotDriver.html#a876e3e0e4cad83c0b58c8696b344be6f">ZotDriver</a>
diff --git a/doc/html/functions_0x67.html b/doc/html/functions_0x67.html
index 65da95e12..9d6326e00 100644
--- a/doc/html/functions_0x67.html
+++ b/doc/html/functions_0x67.html
@@ -142,9 +142,12 @@ $(document).ready(function(){initNavTree('functions_0x67.html','');});
<li>gen_token()
: <a class="el" href="classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819">FKOAuthDataStore</a>
</li>
+<li>generateDirectoryIndex()
+: <a class="el" href="classRedBrowser.html#a1f7daf50bb9bfcde7345b3b1908dbd7e">RedBrowser</a>
+</li>
<li>get()
-: <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache</a>
-, <a class="el" href="classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535">RedFile</a>
+: <a class="el" href="classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535">RedFile</a>
+, <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache</a>
</li>
<li>get_account()
: <a class="el" href="classApp.html#a08bc87aff64f39fbc084e9d6545cee4d">App</a>
@@ -267,6 +270,9 @@ $(document).ready(function(){initNavTree('functions_0x67.html','');});
<li>getContentType()
: <a class="el" href="classRedFile.html#a26416827eb68554d033d1e2e5cc6dd3b">RedFile</a>
</li>
+<li>getDir()
+: <a class="el" href="classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4">RedDirectory</a>
+</li>
<li>getETag()
: <a class="el" href="classRedFile.html#ae96d5caa2db7a461c57b24380fa87e28">RedFile</a>
</li>
@@ -278,14 +284,19 @@ $(document).ready(function(){initNavTree('functions_0x67.html','');});
</li>
<li>getImage()
: <a class="el" href="classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc">photo_imagick</a>
-, <a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">photo_driver</a>
, <a class="el" href="classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484">photo_gd</a>
+, <a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">photo_driver</a>
</li>
<li>getLastModified()
-: <a class="el" href="classRedInode.html#a8503d4f247186e9e55bc42b37e067fb6">RedInode</a>
+: <a class="el" href="classRedDirectory.html#a6c7e08199abc24e6eeb94a4037ef8bfc">RedDirectory</a>
+, <a class="el" href="classRedFile.html#a41562a28007789bbe7fe06d6a20eef47">RedFile</a>
</li>
<li>getName()
-: <a class="el" href="classRedInode.html#aec5706105400764124db39d4bc68d458">RedInode</a>
+: <a class="el" href="classRedDirectory.html#af6e4475dbd5abcdede00d20b8d388583">RedDirectory</a>
+, <a class="el" href="classRedFile.html#a0c961c5f49544d2502420361fa526437">RedFile</a>
+</li>
+<li>getQuotaInfo()
+: <a class="el" href="classRedDirectory.html#a2f7a574f2115f099d6dd103d5b252375">RedDirectory</a>
</li>
<li>getSize()
: <a class="el" href="classRedFile.html#acb1edbe1848fab05347746fa1ea09d8f">RedFile</a>
diff --git a/doc/html/functions_0x68.html b/doc/html/functions_0x68.html
index ef9f36a46..016fe2e28 100644
--- a/doc/html/functions_0x68.html
+++ b/doc/html/functions_0x68.html
@@ -145,6 +145,9 @@ $(document).ready(function(){initNavTree('functions_0x68.html','');});
<li>head_set_icon()
: <a class="el" href="classApp.html#a8863703a0305eaa45eb970dbd2046291">App</a>
</li>
+<li>htmlActionsPanel()
+: <a class="el" href="classRedBrowser.html#a7f6bf0bda07833f4c647557bd172e349">RedBrowser</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/functions_0x73.html b/doc/html/functions_0x73.html
index 3b042769b..b737a6e41 100644
--- a/doc/html/functions_0x73.html
+++ b/doc/html/functions_0x73.html
@@ -211,27 +211,39 @@ $(document).ready(function(){initNavTree('functions_0x73.html','');});
<li>set_profile_owner()
: <a class="el" href="classConversation.html#a8898bddc1e8990e81dab9a13a532cc93">Conversation</a>
</li>
+<li>set_template()
+: <a class="el" href="classItem.html#af1b73df9b7c4b927e26b7e243b491f42">Item</a>
+</li>
<li>set_template_engine()
: <a class="el" href="classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7">App</a>
</li>
<li>set_widget()
: <a class="el" href="classApp.html#a123b903dfe5d3488cc68db3471d36fd2">App</a>
</li>
+<li>set_writeable()
+: <a class="el" href="classRedBrowser.html#a40fdbb9d9fe6c1243bbf135dd5b0a06f">RedBrowser</a>
+</li>
+<li>setBrowserPlugin()
+: <a class="el" href="classRedBasicAuth.html#a358ddad4abb5aa8c1382cf49a907adbc">RedBasicAuth</a>
+</li>
+<li>setCurrentUser()
+: <a class="el" href="classRedBasicAuth.html#a072e8244a9a7f191b32d3db5ac94f857">RedBasicAuth</a>
+</li>
<li>setDimensions()
: <a class="el" href="classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e">photo_gd</a>
, <a class="el" href="classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143">photo_driver</a>
, <a class="el" href="classphoto__imagick.html#af92901d252c1e6ab5b54eebedbed23bb">photo_imagick</a>
</li>
<li>setName()
-: <a class="el" href="classRedInode.html#a3d76322f25d847b123b3df37a26dd04e">RedInode</a>
+: <a class="el" href="classRedFile.html#a38a82bfc1b30028ea6ac75923e90fa25">RedFile</a>
</li>
<li>store()
: <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver</a>
</li>
<li>supportedTypes()
-: <a class="el" href="classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7">photo_imagick</a>
+: <a class="el" href="classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd">photo_gd</a>
+, <a class="el" href="classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7">photo_imagick</a>
, <a class="el" href="classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da">photo_driver</a>
-, <a class="el" href="classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd">photo_gd</a>
</li>
</ul>
</div><!-- contents -->
diff --git a/doc/html/functions_func.html b/doc/html/functions_func.html
index d4e774f53..701cc4693 100644
--- a/doc/html/functions_func.html
+++ b/doc/html/functions_func.html
@@ -143,10 +143,10 @@ $(document).ready(function(){initNavTree('functions_func.html','');});
, <a class="el" href="classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09">Conversation</a>
, <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty</a>
, <a class="el" href="classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae">photo_driver</a>
-, <a class="el" href="classRedInode.html#a21a6f92921c037c868e6fae30c7c51bb">RedInode</a>
+, <a class="el" href="classRedDirectory.html#a1e35e3cd31d2a15250655e4cafdea180">RedDirectory</a>
, <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine</a>
-, <a class="el" href="classRedDirectory.html#add0bf2c049230fec4913e769d126e6e6">RedDirectory</a>
-, <a class="el" href="classRedFile.html#ad4588b90004a2741b1a4ced10355904c">RedFile</a>
+, <a class="el" href="classRedFile.html#a9a67bdb34c9db6ce144b3f371148b183">RedFile</a>
+, <a class="el" href="classRedBrowser.html#a4b76be9ccef0262cf78fffb4129eda93">RedBrowser</a>
, <a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">dba_driver</a>
, <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">Item</a>
, <a class="el" href="classFKOAuth1.html#a2f1276872329a6f0b704ccda1a4b9fa6">FKOAuth1</a>
diff --git a/doc/html/functions_func_0x64.html b/doc/html/functions_func_0x64.html
index 0eff5a139..05999bb82 100644
--- a/doc/html/functions_func_0x64.html
+++ b/doc/html/functions_func_0x64.html
@@ -142,7 +142,7 @@ $(document).ready(function(){initNavTree('functions_func_0x64.html','');});
: <a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dba_driver</a>
</li>
<li>delete()
-: <a class="el" href="classRedInode.html#a5e8f09bc887725c3c448f8d72fe3edfc">RedInode</a>
+: <a class="el" href="classRedFile.html#aef71c9eaac7052be7dc8602eb12171e7">RedFile</a>
</li>
<li>deliver()
: <a class="el" href="classZotDriver.html#a876e3e0e4cad83c0b58c8696b344be6f">ZotDriver</a>
diff --git a/doc/html/functions_func_0x67.html b/doc/html/functions_func_0x67.html
index a4e4046a9..efe646350 100644
--- a/doc/html/functions_func_0x67.html
+++ b/doc/html/functions_func_0x67.html
@@ -141,9 +141,12 @@ $(document).ready(function(){initNavTree('functions_func_0x67.html','');});
<li>gen_token()
: <a class="el" href="classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819">FKOAuthDataStore</a>
</li>
+<li>generateDirectoryIndex()
+: <a class="el" href="classRedBrowser.html#a1f7daf50bb9bfcde7345b3b1908dbd7e">RedBrowser</a>
+</li>
<li>get()
-: <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache</a>
-, <a class="el" href="classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535">RedFile</a>
+: <a class="el" href="classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535">RedFile</a>
+, <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache</a>
</li>
<li>get_account()
: <a class="el" href="classApp.html#a08bc87aff64f39fbc084e9d6545cee4d">App</a>
@@ -266,6 +269,9 @@ $(document).ready(function(){initNavTree('functions_func_0x67.html','');});
<li>getContentType()
: <a class="el" href="classRedFile.html#a26416827eb68554d033d1e2e5cc6dd3b">RedFile</a>
</li>
+<li>getDir()
+: <a class="el" href="classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4">RedDirectory</a>
+</li>
<li>getETag()
: <a class="el" href="classRedFile.html#ae96d5caa2db7a461c57b24380fa87e28">RedFile</a>
</li>
@@ -277,14 +283,19 @@ $(document).ready(function(){initNavTree('functions_func_0x67.html','');});
</li>
<li>getImage()
: <a class="el" href="classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc">photo_imagick</a>
-, <a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">photo_driver</a>
, <a class="el" href="classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484">photo_gd</a>
+, <a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">photo_driver</a>
</li>
<li>getLastModified()
-: <a class="el" href="classRedInode.html#a8503d4f247186e9e55bc42b37e067fb6">RedInode</a>
+: <a class="el" href="classRedDirectory.html#a6c7e08199abc24e6eeb94a4037ef8bfc">RedDirectory</a>
+, <a class="el" href="classRedFile.html#a41562a28007789bbe7fe06d6a20eef47">RedFile</a>
</li>
<li>getName()
-: <a class="el" href="classRedInode.html#aec5706105400764124db39d4bc68d458">RedInode</a>
+: <a class="el" href="classRedDirectory.html#af6e4475dbd5abcdede00d20b8d388583">RedDirectory</a>
+, <a class="el" href="classRedFile.html#a0c961c5f49544d2502420361fa526437">RedFile</a>
+</li>
+<li>getQuotaInfo()
+: <a class="el" href="classRedDirectory.html#a2f7a574f2115f099d6dd103d5b252375">RedDirectory</a>
</li>
<li>getSize()
: <a class="el" href="classRedFile.html#acb1edbe1848fab05347746fa1ea09d8f">RedFile</a>
diff --git a/doc/html/functions_func_0x68.html b/doc/html/functions_func_0x68.html
index ff61d438c..355e603d1 100644
--- a/doc/html/functions_func_0x68.html
+++ b/doc/html/functions_func_0x68.html
@@ -144,6 +144,9 @@ $(document).ready(function(){initNavTree('functions_func_0x68.html','');});
<li>head_set_icon()
: <a class="el" href="classApp.html#a8863703a0305eaa45eb970dbd2046291">App</a>
</li>
+<li>htmlActionsPanel()
+: <a class="el" href="classRedBrowser.html#a7f6bf0bda07833f4c647557bd172e349">RedBrowser</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/functions_func_0x73.html b/doc/html/functions_func_0x73.html
index be0ab7e00..d055a1ca6 100644
--- a/doc/html/functions_func_0x73.html
+++ b/doc/html/functions_func_0x73.html
@@ -210,27 +210,39 @@ $(document).ready(function(){initNavTree('functions_func_0x73.html','');});
<li>set_profile_owner()
: <a class="el" href="classConversation.html#a8898bddc1e8990e81dab9a13a532cc93">Conversation</a>
</li>
+<li>set_template()
+: <a class="el" href="classItem.html#af1b73df9b7c4b927e26b7e243b491f42">Item</a>
+</li>
<li>set_template_engine()
: <a class="el" href="classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7">App</a>
</li>
<li>set_widget()
: <a class="el" href="classApp.html#a123b903dfe5d3488cc68db3471d36fd2">App</a>
</li>
+<li>set_writeable()
+: <a class="el" href="classRedBrowser.html#a40fdbb9d9fe6c1243bbf135dd5b0a06f">RedBrowser</a>
+</li>
+<li>setBrowserPlugin()
+: <a class="el" href="classRedBasicAuth.html#a358ddad4abb5aa8c1382cf49a907adbc">RedBasicAuth</a>
+</li>
+<li>setCurrentUser()
+: <a class="el" href="classRedBasicAuth.html#a072e8244a9a7f191b32d3db5ac94f857">RedBasicAuth</a>
+</li>
<li>setDimensions()
: <a class="el" href="classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e">photo_gd</a>
, <a class="el" href="classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143">photo_driver</a>
, <a class="el" href="classphoto__imagick.html#af92901d252c1e6ab5b54eebedbed23bb">photo_imagick</a>
</li>
<li>setName()
-: <a class="el" href="classRedInode.html#a3d76322f25d847b123b3df37a26dd04e">RedInode</a>
+: <a class="el" href="classRedFile.html#a38a82bfc1b30028ea6ac75923e90fa25">RedFile</a>
</li>
<li>store()
: <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver</a>
</li>
<li>supportedTypes()
-: <a class="el" href="classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7">photo_imagick</a>
+: <a class="el" href="classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd">photo_gd</a>
+, <a class="el" href="classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7">photo_imagick</a>
, <a class="el" href="classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da">photo_driver</a>
-, <a class="el" href="classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd">photo_gd</a>
</li>
</ul>
</div><!-- contents -->
diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html
index ad6f3d122..711b28d89 100644
--- a/doc/html/functions_vars.html
+++ b/doc/html/functions_vars.html
@@ -135,15 +135,17 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>$argv
: <a class="el" href="classApp.html#ab3da757abe5cb45bf88f07cc51a73b58">App</a>
</li>
-<li>$attach
-: <a class="el" href="classRedInode.html#a7b317eb1230930154107ed51e54193f5">RedInode</a>
-</li>
<li>$auth
-: <a class="el" href="classRedDirectory.html#a9616af16cd19a18a6afebebcc2881c44">RedDirectory</a>
+: <a class="el" href="classRedBrowser.html#ab6d6d1e2a67e06b344a4cede1bd00b35">RedBrowser</a>
+, <a class="el" href="classRedDirectory.html#a9616af16cd19a18a6afebebcc2881c44">RedDirectory</a>
+, <a class="el" href="classRedFile.html#a4b5d0e33f919c6c175b30a55de6263f2">RedFile</a>
</li>
<li>$baseurl
: <a class="el" href="classApp.html#ad5175536561021548ae8188e24c7b80c">App</a>
</li>
+<li>$browser
+: <a class="el" href="classRedBasicAuth.html#af14337f1baad407f8a85d48205c0f30e">RedBasicAuth</a>
+</li>
<li>$cached_profile_image
: <a class="el" href="classApp.html#abe0e4fa91097f7a6588e1213a834121c">App</a>
</li>
@@ -157,8 +159,14 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
: <a class="el" href="classApp.html#a050b0696118da47e8b30859ad1a2c149">App</a>
, <a class="el" href="classItem.html#acc32426c0f465391be8a99ad810c7b8e">Item</a>
</li>
+<li>$channel_hash
+: <a class="el" href="classRedBasicAuth.html#ad5a3ea4dc4783b242d9dc6e76478b6ef">RedBasicAuth</a>
+</li>
<li>$channel_id
-: <a class="el" href="classRedDirectory.html#ae624dcaa4d73a517f4b1616d33df690d">RedDirectory</a>
+: <a class="el" href="classRedBasicAuth.html#a2dab393650d1573e3515969a153e8354">RedBasicAuth</a>
+</li>
+<li>$channel_name
+: <a class="el" href="classRedBasicAuth.html#a438ab125b6ef46581947e35d49cdebac">RedBasicAuth</a>
</li>
<li>$children
: <a class="el" href="classItem.html#a80dcd0fb7673776c0967839d429c2a0f">Item</a>
@@ -222,9 +230,6 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
: <a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">dba_driver</a>
, <a class="el" href="classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a">Template</a>
</li>
-<li>$dir_key
-: <a class="el" href="classRedDirectory.html#a8d5df814b2f825dd14c628a51b5829b5">RedDirectory</a>
-</li>
<li>$done
: <a class="el" href="classTemplate.html#abda4c8d049f70553338eae7c905e9d5c">Template</a>
</li>
@@ -232,9 +237,15 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
: <a class="el" href="classApp.html#ac1a8b2cd40609b231a560201a08852ba">App</a>
, <a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">dba_driver</a>
</li>
+<li>$ext_path
+: <a class="el" href="classRedDirectory.html#a0f113244cd85c17848df991001d024f4">RedDirectory</a>
+</li>
<li>$filename
: <a class="el" href="classFriendicaSmarty.html#a33fabbd4d6eef869df496adf357ae690">FriendicaSmarty</a>
</li>
+<li>$folder_hash
+: <a class="el" href="classRedDirectory.html#aa10254abf177bb2a0e4a88495725e09b">RedDirectory</a>
+</li>
<li>$force_max_items
: <a class="el" href="classApp.html#ae3f47830543d0d902f66913def8db66b">App</a>
</li>
@@ -285,6 +296,7 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
</li>
<li>$name
: <a class="el" href="classFriendicaSmartyEngine.html#aaba6a42101bc9ae32e36b7fa2e243f02">FriendicaSmartyEngine</a>
+, <a class="el" href="classRedFile.html#acc48c05cd5a70951cb3c615ad84f03ba">RedFile</a>
, <a class="el" href="classTemplate.html#a6eb301a51cc94d8b94f4548fbad85eae">Template</a>
</li>
<li>$nav_sel
@@ -295,11 +307,21 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
</li>
<li>$observer
: <a class="el" href="classApp.html#a4ffe529fb14389f7fedf5fdc5f722e7f">App</a>
+, <a class="el" href="classRedBasicAuth.html#aa75dc43b59adc98e38a98517d3fd35d1">RedBasicAuth</a>
, <a class="el" href="classConversation.html#a8748445aa26047ebed5141f3c3cbc244">Conversation</a>
</li>
+<li>$os_path
+: <a class="el" href="classRedDirectory.html#a3c148c07ad909985125aa4926d8d0021">RedDirectory</a>
+</li>
+<li>$owner_id
+: <a class="el" href="classRedBasicAuth.html#a09c1488a0b290f5a54dc15180c5690d7">RedBasicAuth</a>
+</li>
<li>$owner_name
: <a class="el" href="classItem.html#a9594df6014b0b6f45364ea7a34510130">Item</a>
</li>
+<li>$owner_nick
+: <a class="el" href="classRedBasicAuth.html#a8d09b8d784cc810a0b3be580d05106a7">RedBasicAuth</a>
+</li>
<li>$owner_photo
: <a class="el" href="classItem.html#a078f95b4134ce3a1df344cf8d386f986">Item</a>
</li>
@@ -324,6 +346,9 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>$plugins
: <a class="el" href="classApp.html#ae9f96338f32187d308b67b980eea0008">App</a>
</li>
+<li>$poi
+: <a class="el" href="classApp.html#a1936f2afce0dc0d1bbed15ae1f2ee81a">App</a>
+</li>
<li>$prepared_item
: <a class="el" href="classConversation.html#a5b6adbb2fe24f0f53d6c22660dff91b2">Conversation</a>
</li>
@@ -357,6 +382,9 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>$replace
: <a class="el" href="classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10">Template</a>
</li>
+<li>$root_dir
+: <a class="el" href="classRedDirectory.html#ad87c514a307ec97ba0f1372e9bcfa6a4">RedDirectory</a>
+</li>
<li>$scheme
: <a class="el" href="classApp.html#ad082d63acc078e5bf23825a03bdd6a76">App</a>
</li>
@@ -397,7 +425,8 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
: <a class="el" href="classConversation.html#a41f4a549e6a99f98935c4742addd22c8">Conversation</a>
</li>
<li>$timezone
-: <a class="el" href="classApp.html#ab35b01a366a2ea95725e97af278f87ab">App</a>
+: <a class="el" href="classRedBasicAuth.html#a2d0246ed446fd5e55c17938b4ce6ac47">RedBasicAuth</a>
+, <a class="el" href="classApp.html#ab35b01a366a2ea95725e97af278f87ab">App</a>
</li>
<li>$toplevel
: <a class="el" href="classItem.html#a5cfa6cf964f433a917a81cab079ff9d8">Item</a>
diff --git a/doc/html/globals_0x61.html b/doc/html/globals_0x61.html
index a4bef56e4..41dce38c8 100644
--- a/doc/html/globals_0x61.html
+++ b/doc/html/globals_0x61.html
@@ -213,6 +213,9 @@ $(document).ready(function(){initNavTree('globals_0x61.html','');});
<li>ACCOUNT_ROLE_ALLOWCODE
: <a class="el" href="boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688">boot.php</a>
</li>
+<li>ACCOUNT_ROLE_SYSTEM
+: <a class="el" href="boot_8php.html#a7c2eb822d50e1554bf5c32861f36342b">boot.php</a>
+</li>
<li>account_total()
: <a class="el" href="account_8php.html#a43e3042b2723d76915a030bac3c668b6">account.php</a>
</li>
@@ -222,6 +225,9 @@ $(document).ready(function(){initNavTree('globals_0x61.html','');});
<li>account_verify_password()
: <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">auth.php</a>
</li>
+<li>achievements_content()
+: <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements.php</a>
+</li>
<li>acl_init()
: <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl.php</a>
</li>
@@ -375,9 +381,6 @@ $(document).ready(function(){initNavTree('globals_0x61.html','');});
<li>all_friends()
: <a class="el" href="socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586">socgraph.php</a>
</li>
-<li>allfriends_content()
-: <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends.php</a>
-</li>
<li>allowed_email()
: <a class="el" href="include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694">network.php</a>
</li>
@@ -585,9 +588,15 @@ $(document).ready(function(){initNavTree('globals_0x61.html','');});
<li>attach_by_hash_nodata()
: <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach.php</a>
</li>
+<li>attach_change_permissions()
+: <a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach.php</a>
+</li>
<li>attach_count_files()
: <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach.php</a>
</li>
+<li>attach_delete()
+: <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach.php</a>
+</li>
<li>ATTACH_FLAG_DIR
: <a class="el" href="boot_8php.html#aa74438cf71e48e37bf7b440b94243985">boot.php</a>
</li>
diff --git a/doc/html/globals_0x62.html b/doc/html/globals_0x62.html
index c1db54272..6d06af0a4 100644
--- a/doc/html/globals_0x62.html
+++ b/doc/html/globals_0x62.html
@@ -153,9 +153,15 @@ $(document).ready(function(){initNavTree('globals_0x62.html','');});
<li>bb2diaspora()
: <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora.php</a>
</li>
+<li>bb_location()
+: <a class="el" href="bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd">bbcode.php</a>
+</li>
<li>bb_parse_crypt()
: <a class="el" href="bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f">bbcode.php</a>
</li>
+<li>bb_qr()
+: <a class="el" href="bbcode_8php.html#a98d0eecc620c19561639f06cfbe8e74c">bbcode.php</a>
+</li>
<li>bb_ShareAttributes()
: <a class="el" href="bbcode_8php.html#a1c69e021d5e0aef97d6966bf3169c86a">bbcode.php</a>
</li>
@@ -202,11 +208,14 @@ $(document).ready(function(){initNavTree('globals_0x62.html','');});
: <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5">theme.php</a>
</li>
<li>blogtheme_form()
-: <a class="el" href="view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">config.php</a>
+: <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">config.php</a>
</li>
<li>blogtheme_imgurl()
: <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec">theme.php</a>
</li>
+<li>bookmarks_menu_fetch()
+: <a class="el" href="include_2menu_8php.html#a7fb5f4847bc94436e43be4b81478febc">menu.php</a>
+</li>
<li>breaklines()
: <a class="el" href="html2plain_8php.html#a3214912e3d00cf0a948072daccf16740">html2plain.php</a>
</li>
diff --git a/doc/html/globals_0x63.html b/doc/html/globals_0x63.html
index 3e16d0a6d..eaefb6b94 100644
--- a/doc/html/globals_0x63.html
+++ b/doc/html/globals_0x63.html
@@ -171,9 +171,6 @@ $(document).ready(function(){initNavTree('globals_0x63.html','');});
<li>chanman_remove_everything_from_network()
: <a class="el" href="include_2chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b">chanman.php</a>
</li>
-<li>channel_aside()
-: <a class="el" href="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel.php</a>
-</li>
<li>channel_content()
: <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel.php</a>
</li>
@@ -252,6 +249,9 @@ $(document).ready(function(){initNavTree('globals_0x63.html','');});
<li>check_smarty3()
: <a class="el" href="setup_8php.html#afd8b0b3ade1507c45325caf377bf459d">setup.php</a>
</li>
+<li>check_store()
+: <a class="el" href="setup_8php.html#ab4b71369a25021d59247c917e98d8246">setup.php</a>
+</li>
<li>check_webbie()
: <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">text.php</a>
</li>
@@ -277,7 +277,7 @@ $(document).ready(function(){initNavTree('globals_0x63.html','');});
: <a class="el" href="boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77">boot.php</a>
</li>
<li>cloud_init()
-: <a class="el" href="cloud_8php.html#a080071b784fe01d04ed6c09d9f2785b8">cloud.php</a>
+: <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud.php</a>
</li>
<li>collect_recipients()
: <a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">items.php</a>
@@ -306,9 +306,6 @@ $(document).ready(function(){initNavTree('globals_0x63.html','');});
<li>comanche_widget()
: <a class="el" href="comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f">comanche.php</a>
</li>
-<li>common_aside()
-: <a class="el" href="common_8php.html#a3b12ec67b3d3edcf595c8d195da5d14a">common.php</a>
-</li>
<li>common_content()
: <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common.php</a>
</li>
@@ -345,9 +342,6 @@ $(document).ready(function(){initNavTree('globals_0x63.html','');});
<li>connect_post()
: <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect.php</a>
</li>
-<li>connections_aside()
-: <a class="el" href="connections_8php.html#af48f7ad20914760ba9874c090384e35a">connections.php</a>
-</li>
<li>connections_clone()
: <a class="el" href="connections_8php.html#a15af118efee9c948b6f8294e54a73bb2">connections.php</a>
</li>
@@ -360,6 +354,18 @@ $(document).ready(function(){initNavTree('globals_0x63.html','');});
<li>connections_post()
: <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections.php</a>
</li>
+<li>connedit_clone()
+: <a class="el" href="connedit_8php.html#a707ea7e63cf9674025b1d6b081ae74f5">connedit.php</a>
+</li>
+<li>connedit_content()
+: <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit.php</a>
+</li>
+<li>connedit_init()
+: <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit.php</a>
+</li>
+<li>connedit_post()
+: <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit.php</a>
+</li>
<li>construct_activity_object()
: <a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">items.php</a>
</li>
@@ -429,20 +435,11 @@ $(document).ready(function(){initNavTree('globals_0x63.html','');});
<li>create_account()
: <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">account.php</a>
</li>
-<li>create_dir_account()
-: <a class="el" href="identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd">identity.php</a>
-</li>
<li>create_identity()
: <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">identity.php</a>
</li>
-<li>crepair_content()
-: <a class="el" href="crepair_8php.html#a29464c01838e209c8059cfcd2d195caa">crepair.php</a>
-</li>
-<li>crepair_init()
-: <a class="el" href="crepair_8php.html#ab089978e50df156bbfabf9f8f5ccd198">crepair.php</a>
-</li>
-<li>crepair_post()
-: <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair.php</a>
+<li>create_sys_channel()
+: <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">identity.php</a>
</li>
<li>cronhooks_run()
: <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks.php</a>
diff --git a/doc/html/globals_0x64.html b/doc/html/globals_0x64.html
index bf0bb5f4d..b8730af37 100644
--- a/doc/html/globals_0x64.html
+++ b/doc/html/globals_0x64.html
@@ -237,9 +237,6 @@ $(document).ready(function(){initNavTree('globals_0x64.html','');});
<li>dir_tagblock()
: <a class="el" href="taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1">taxonomy.php</a>
</li>
-<li>directory_aside()
-: <a class="el" href="mod_2directory_8php.html#aa1d928543212871491706216742dd73c">directory.php</a>
-</li>
<li>directory_content()
: <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory.php</a>
</li>
@@ -267,6 +264,9 @@ $(document).ready(function(){initNavTree('globals_0x64.html','');});
<li>directory_run()
: <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory.php</a>
</li>
+<li>dirprofile_init()
+: <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile.php</a>
+</li>
<li>dirsearch_content()
: <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch.php</a>
</li>
diff --git a/doc/html/globals_0x66.html b/doc/html/globals_0x66.html
index e5f1aed68..4fac5f32f 100644
--- a/doc/html/globals_0x66.html
+++ b/doc/html/globals_0x66.html
@@ -189,6 +189,9 @@ $(document).ready(function(){initNavTree('globals_0x66.html','');});
<li>filestorage_content()
: <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage.php</a>
</li>
+<li>filestorage_post()
+: <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage.php</a>
+</li>
<li>find_thread_parent_index()
: <a class="el" href="conversation_8php.html#ae59703b07ce2ddf627b4172ff26058b6">conversation.php</a>
</li>
@@ -228,9 +231,6 @@ $(document).ready(function(){initNavTree('globals_0x66.html','');});
<li>follow_init()
: <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow.php</a>
</li>
-<li>follow_widget()
-: <a class="el" href="contact__widgets_8php.html#af24e693532a045954caab515942cfc6f">contact_widgets.php</a>
-</li>
<li>foreach
: <a class="el" href="typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5">typo.php</a>
</li>
diff --git a/doc/html/globals_0x67.html b/doc/html/globals_0x67.html
index b671ce7ba..128e4ff68 100644
--- a/doc/html/globals_0x67.html
+++ b/doc/html/globals_0x67.html
@@ -177,6 +177,9 @@ $(document).ready(function(){initNavTree('globals_0x67.html','');});
<li>get_capath()
: <a class="el" href="include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7">network.php</a>
</li>
+<li>get_cloudpath()
+: <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">attach.php</a>
+</li>
<li>get_config()
: <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">config.php</a>
</li>
@@ -189,6 +192,9 @@ $(document).ready(function(){initNavTree('globals_0x67.html','');});
<li>get_db_errno()
: <a class="el" href="setup_8php.html#a8652788e8589778c5f81634a9d5b9429">setup.php</a>
</li>
+<li>get_default_profile_photo()
+: <a class="el" href="identity_8php.html#ab1485a26b032956e1496fc08c58b83ed">identity.php</a>
+</li>
<li>get_dim()
: <a class="el" href="datetime_8php.html#a7df24d72ea05922d3127363e2295174c">datetime.php</a>
</li>
@@ -250,7 +256,7 @@ $(document).ready(function(){initNavTree('globals_0x67.html','');});
: <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">permissions.php</a>
</li>
<li>get_plink()
-: <a class="el" href="text_8php.html#a3ef8c0cf31f35f77462067de8712fa34">text.php</a>
+: <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">text.php</a>
</li>
<li>get_plugin_info()
: <a class="el" href="plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35">plugin.php</a>
@@ -270,6 +276,9 @@ $(document).ready(function(){initNavTree('globals_0x67.html','');});
<li>get_rpost_path()
: <a class="el" href="zot_8php.html#a8e22dbc6f884be3644a892a876cbd972">zot.php</a>
</li>
+<li>get_sys_channel()
+: <a class="el" href="identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51">identity.php</a>
+</li>
<li>get_tags()
: <a class="el" href="text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623">text.php</a>
</li>
@@ -288,6 +297,9 @@ $(document).ready(function(){initNavTree('globals_0x67.html','');});
<li>get_theme_uid()
: <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">identity.php</a>
</li>
+<li>get_things()
+: <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">taxonomy.php</a>
+</li>
<li>get_xconfig()
: <a class="el" href="include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e">config.php</a>
</li>
@@ -312,9 +324,6 @@ $(document).ready(function(){initNavTree('globals_0x67.html','');});
<li>group_add_member()
: <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group.php</a>
</li>
-<li>group_aside()
-: <a class="el" href="mod_2group_8php.html#aeb0784dd928e53e6d8693513bec8928c">group.php</a>
-</li>
<li>group_byname()
: <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group.php</a>
</li>
@@ -340,7 +349,7 @@ $(document).ready(function(){initNavTree('globals_0x67.html','');});
: <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">acl_selectors.php</a>
</li>
<li>group_side()
-: <a class="el" href="include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17">group.php</a>
+: <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group.php</a>
</li>
<li>groups_containing()
: <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">group.php</a>
diff --git a/doc/html/globals_0x68.html b/doc/html/globals_0x68.html
index fd225fed0..9d9ea946c 100644
--- a/doc/html/globals_0x68.html
+++ b/doc/html/globals_0x68.html
@@ -145,17 +145,11 @@ $(document).ready(function(){initNavTree('globals_0x68.html','');});
<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
<li>handle_tag()
-: <a class="el" href="item_8php.html#abd0e603a6696051af16476eb968d52e7">item.php</a>
+: <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">item.php</a>
</li>
<li>has_permissions()
: <a class="el" href="items_8php.html#a77051724d1784074ff187e73a4db93fe">items.php</a>
</li>
-<li>hcard_aside()
-: <a class="el" href="hcard_8php.html#a956c7cae2009652a37900306e5b7b73d">hcard.php</a>
-</li>
-<li>hcard_init()
-: <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard.php</a>
-</li>
<li>head_add_css()
: <a class="el" href="plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a">plugin.php</a>
</li>
@@ -171,12 +165,24 @@ $(document).ready(function(){initNavTree('globals_0x68.html','');});
<li>head_get_js()
: <a class="el" href="plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1">plugin.php</a>
</li>
+<li>head_remove_css()
+: <a class="el" href="plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf">plugin.php</a>
+</li>
+<li>head_remove_js()
+: <a class="el" href="plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4">plugin.php</a>
+</li>
<li>head_set_icon()
: <a class="el" href="boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84">boot.php</a>
</li>
<li>help_content()
: <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help.php</a>
</li>
+<li>home_content()
+: <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home.php</a>
+</li>
+<li>home_init()
+: <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home.php</a>
+</li>
<li>hostxrd_init()
: <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd.php</a>
</li>
diff --git a/doc/html/globals_0x69.html b/doc/html/globals_0x69.html
index b7e2cc9a6..14705638b 100644
--- a/doc/html/globals_0x69.html
+++ b/doc/html/globals_0x69.html
@@ -182,7 +182,7 @@ $(document).ready(function(){initNavTree('globals_0x69.html','');});
: <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import.php</a>
</li>
<li>import_profile_photo()
-: <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">photo_driver.php</a>
+: <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">photo_driver.php</a>
</li>
<li>import_site()
: <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">zot.php</a>
@@ -202,15 +202,6 @@ $(document).ready(function(){initNavTree('globals_0x69.html','');});
<li>install_plugin()
: <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">plugin.php</a>
</li>
-<li>intro_aside()
-: <a class="el" href="intro_8php.html#abc3abf25da64f98f215126eb08c7936b">intro.php</a>
-</li>
-<li>intro_content()
-: <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro.php</a>
-</li>
-<li>intro_post()
-: <a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro.php</a>
-</li>
<li>invite_content()
: <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite.php</a>
</li>
@@ -223,12 +214,21 @@ $(document).ready(function(){initNavTree('globals_0x69.html','');});
<li>is_ajax()
: <a class="el" href="boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c">boot.php</a>
</li>
+<li>is_foreigner()
+: <a class="el" href="identity_8php.html#ae2b140df652a55ca11bb6a99005fce35">identity.php</a>
+</li>
+<li>is_member()
+: <a class="el" href="identity_8php.html#a9637c557e13d9671f3eeb124ab98212a">identity.php</a>
+</li>
<li>is_site_admin()
: <a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">boot.php</a>
</li>
<li>ITEM_BLOCKED
: <a class="el" href="boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f">boot.php</a>
</li>
+<li>ITEM_BUG
+: <a class="el" href="boot_8php.html#a87b0f279f8413c7e4d805c5d85f20d34">boot.php</a>
+</li>
<li>ITEM_BUILDBLOCK
: <a class="el" href="boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf">boot.php</a>
</li>
diff --git a/doc/html/globals_0x6c.html b/doc/html/globals_0x6c.html
index 3124f0a25..08820eb43 100644
--- a/doc/html/globals_0x6c.html
+++ b/doc/html/globals_0x6c.html
@@ -153,15 +153,6 @@ $(document).ready(function(){initNavTree('globals_0x6c.html','');});
<li>LANGUAGE_DETECT_MIN_LENGTH
: <a class="el" href="boot_8php.html#a17cf72338b040891781a4bcbdd9a8595">boot.php</a>
</li>
-<li>lastpost_aside()
-: <a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost.php</a>
-</li>
-<li>lastpost_content()
-: <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost.php</a>
-</li>
-<li>lastpost_init()
-: <a class="el" href="lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c">lastpost.php</a>
-</li>
<li>layout_select()
: <a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">text.php</a>
</li>
diff --git a/doc/html/globals_0x6d.html b/doc/html/globals_0x6d.html
index c61a2e1e6..fe1f177e7 100644
--- a/doc/html/globals_0x6d.html
+++ b/doc/html/globals_0x6d.html
@@ -153,6 +153,9 @@ $(document).ready(function(){initNavTree('globals_0x6d.html','');});
<li>magiclink_url()
: <a class="el" href="text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6">text.php</a>
</li>
+<li>mail_content()
+: <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail.php</a>
+</li>
<li>MAIL_DELETED
: <a class="el" href="boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8">boot.php</a>
</li>
@@ -162,6 +165,9 @@ $(document).ready(function(){initNavTree('globals_0x6d.html','');});
<li>MAIL_OBSCURED
: <a class="el" href="boot_8php.html#a44ae1542a805ffd7f826fb511db07374">boot.php</a>
</li>
+<li>mail_post()
+: <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail.php</a>
+</li>
<li>MAIL_RECALLED
: <a class="el" href="boot_8php.html#ae4861de36017fe399c1839f778bad9f5">boot.php</a>
</li>
@@ -201,6 +207,9 @@ $(document).ready(function(){initNavTree('globals_0x6d.html','');});
<li>menu_add_item()
: <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu.php</a>
</li>
+<li>MENU_BOOKMARK
+: <a class="el" href="boot_8php.html#a458e19af801bc4b0d1f1ce1a6d9e857e">boot.php</a>
+</li>
<li>menu_content()
: <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu.php</a>
</li>
@@ -243,14 +252,11 @@ $(document).ready(function(){initNavTree('globals_0x6d.html','');});
<li>menu_render()
: <a class="el" href="include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e">menu.php</a>
</li>
-<li>message_aside()
-: <a class="el" href="mod_2message_8php.html#af4ba72486117cc24335fd8e92a2112a7">message.php</a>
+<li>MENU_SYSTEM
+: <a class="el" href="boot_8php.html#a718a801b0be6cbaef5e519516da12721">boot.php</a>
</li>
<li>message_content()
-: <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message.php</a>
-</li>
-<li>message_post()
-: <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message.php</a>
+: <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message.php</a>
</li>
<li>micropro()
: <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">text.php</a>
diff --git a/doc/html/globals_0x6e.html b/doc/html/globals_0x6e.html
index 2c71a4ccb..8444dcae5 100644
--- a/doc/html/globals_0x6e.html
+++ b/doc/html/globals_0x6e.html
@@ -288,6 +288,9 @@ $(document).ready(function(){initNavTree('globals_0x6e.html','');});
<li>notags()
: <a class="el" href="text_8php.html#a1af49756c8c71902a66c7e329c462beb">text.php</a>
</li>
+<li>notes_init()
+: <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes.php</a>
+</li>
<li>notice()
: <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">boot.php</a>
</li>
diff --git a/doc/html/globals_0x6f.html b/doc/html/globals_0x6f.html
index 0d80bf4f8..b2ee6bc3a 100644
--- a/doc/html/globals_0x6f.html
+++ b/doc/html/globals_0x6f.html
@@ -148,7 +148,7 @@ $(document).ready(function(){initNavTree('globals_0x6f.html','');});
: <a class="el" href="mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117">api.php</a>
</li>
<li>obj_verb_selector()
-: <a class="el" href="taxonomy_8php.html#ac12a651a42ed77f8dc7072c6168811a2">taxonomy.php</a>
+: <a class="el" href="taxonomy_8php.html#af387463d42ffdf7d2ab3d5b22e40a0c7">taxonomy.php</a>
</li>
<li>obj_verbs()
: <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">taxonomy.php</a>
diff --git a/doc/html/globals_0x70.html b/doc/html/globals_0x70.html
index b5a650642..ff17f32c6 100644
--- a/doc/html/globals_0x70.html
+++ b/doc/html/globals_0x70.html
@@ -146,8 +146,6 @@ $(document).ready(function(){initNavTree('globals_0x70.html','');});
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
<li>page
: <a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">mod_import.php</a>
-, <a class="el" href="mod__new__channel_8php.html#a8db1899eeeb44dabd0904065b63627bb">mod_new_channel.php</a>
-, <a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">mod_register.php</a>
</li>
<li>PAGE_ADULT
: <a class="el" href="boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32">boot.php</a>
@@ -179,6 +177,9 @@ $(document).ready(function(){initNavTree('globals_0x70.html','');});
<li>PAGE_REMOVED
: <a class="el" href="boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6">boot.php</a>
</li>
+<li>PAGE_SYSTEM
+: <a class="el" href="boot_8php.html#a6ee7a72d558d1851bbb9e3cdde377932">boot.php</a>
+</li>
<li>pagelist_widget()
: <a class="el" href="page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0">page_widgets.php</a>
</li>
@@ -332,6 +333,9 @@ $(document).ready(function(){initNavTree('globals_0x70.html','');});
<li>ping_init()
: <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping.php</a>
</li>
+<li>pipe_streams()
+: <a class="el" href="include_2attach_8php.html#a5d484de2d19a93071571d6499a50ae34">attach.php</a>
+</li>
<li>pkcs5_pad()
: <a class="el" href="crypto_8php.html#ad5e51fd44cff93cfaa07a37e24a5edec">crypto.php</a>
</li>
@@ -506,9 +510,6 @@ $(document).ready(function(){initNavTree('globals_0x70.html','');});
<li>profile_activity()
: <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">activities.php</a>
</li>
-<li>profile_aside()
-: <a class="el" href="profile_8php.html#a1a2482b775476f2f64ea5e8f4fc3fd1e">profile.php</a>
-</li>
<li>profile_content()
: <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile.php</a>
</li>
@@ -521,9 +522,6 @@ $(document).ready(function(){initNavTree('globals_0x70.html','');});
<li>profile_load()
: <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">identity.php</a>
</li>
-<li>profile_photo_aside()
-: <a class="el" href="profile__photo_8php.html#ac9cd968a767e2ae1b88383b6cdd6dbe3">profile_photo.php</a>
-</li>
<li>profile_photo_init()
: <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo.php</a>
</li>
@@ -539,9 +537,6 @@ $(document).ready(function(){initNavTree('globals_0x70.html','');});
<li>profiler()
: <a class="el" href="text_8php.html#a8b0a799341b1fc4cba2c3ede3e3fc9b6">text.php</a>
</li>
-<li>profiles_aside()
-: <a class="el" href="profiles_8php.html#a2a3ac90f51941ff78b85e9389304969c">profiles.php</a>
-</li>
<li>profiles_content()
: <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles.php</a>
</li>
@@ -551,9 +546,6 @@ $(document).ready(function(){initNavTree('globals_0x70.html','');});
<li>profiles_post()
: <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles.php</a>
</li>
-<li>profperm_aside()
-: <a class="el" href="profperm_8php.html#a77fd398ae7c25142e1d9ad724ec347cc">profperm.php</a>
-</li>
<li>profperm_content()
: <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm.php</a>
</li>
diff --git a/doc/html/globals_0x71.html b/doc/html/globals_0x71.html
index c495a1b81..2ee22f485 100644
--- a/doc/html/globals_0x71.html
+++ b/doc/html/globals_0x71.html
@@ -150,9 +150,6 @@ $(document).ready(function(){initNavTree('globals_0x71.html','');});
<li>qp()
: <a class="el" href="text_8php.html#afc998d2796a6b2a08e96f7cc061e7221">text.php</a>
</li>
-<li>qsearch_init()
-: <a class="el" href="qsearch_8php.html#a0501887b95bd8fa21018b2936a668894">qsearch.php</a>
-</li>
<li>queue_run()
: <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue.php</a>
</li>
diff --git a/doc/html/globals_0x72.html b/doc/html/globals_0x72.html
index 8822626d2..147b9d5a1 100644
--- a/doc/html/globals_0x72.html
+++ b/doc/html/globals_0x72.html
@@ -186,8 +186,14 @@ $(document).ready(function(){initNavTree('globals_0x72.html','');});
<li>redbasic_init()
: <a class="el" href="redbasic_2php_2theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b">theme.php</a>
</li>
-<li>redir_init()
-: <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir.php</a>
+<li>RedChannelList()
+: <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">reddav.php</a>
+</li>
+<li>RedCollectionData()
+: <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">reddav.php</a>
+</li>
+<li>RedFileData()
+: <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">reddav.php</a>
</li>
<li>reduce()
: <a class="el" href="docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f">docblox_errorchecker.php</a>
diff --git a/doc/html/globals_0x73.html b/doc/html/globals_0x73.html
index bb8384a0e..25f4a2a3d 100644
--- a/doc/html/globals_0x73.html
+++ b/doc/html/globals_0x73.html
@@ -147,12 +147,12 @@ $(document).ready(function(){initNavTree('globals_0x73.html','');});
<li>sanitise_acl()
: <a class="el" href="text_8php.html#a9fbeae13c9abd6e27cb4d8d1817f969c">text.php</a>
</li>
-<li>saved_searches()
-: <a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">network.php</a>
-</li>
<li>scale_external_images()
: <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">network.php</a>
</li>
+<li>script_path()
+: <a class="el" href="plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3">plugin.php</a>
+</li>
<li>search()
: <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">text.php</a>
</li>
@@ -165,11 +165,8 @@ $(document).ready(function(){initNavTree('globals_0x73.html','');});
<li>search_init()
: <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search.php</a>
</li>
-<li>search_post()
-: <a class="el" href="search_8php.html#a230ec9681ddee3b5b8b40c8d550f32f7">search.php</a>
-</li>
-<li>search_saved_searches()
-: <a class="el" href="search_8php.html#aa911f7c7f0cdb0284e35d0ed610f19c6">search.php</a>
+<li>searchbox()
+: <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">text.php</a>
</li>
<li>select_timezone()
: <a class="el" href="datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f">datetime.php</a>
@@ -204,9 +201,6 @@ $(document).ready(function(){initNavTree('globals_0x73.html','');});
<li>set_xconfig()
: <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">config.php</a>
</li>
-<li>settings_aside()
-: <a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings.php</a>
-</li>
<li>settings_init()
: <a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings.php</a>
</li>
@@ -285,6 +279,12 @@ $(document).ready(function(){initNavTree('globals_0x73.html','');});
<li>SSL_POLICY_SELFSIGN
: <a class="el" href="boot_8php.html#adca48aee78465ae3064ca4432c0d87b5">boot.php</a>
</li>
+<li>sslify()
+: <a class="el" href="text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9">text.php</a>
+</li>
+<li>sslify_init()
+: <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify.php</a>
+</li>
<li>starred_init()
: <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred.php</a>
</li>
@@ -318,9 +318,6 @@ $(document).ready(function(){initNavTree('globals_0x73.html','');});
<li>subthread_content()
: <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread.php</a>
</li>
-<li>suggest_aside()
-: <a class="el" href="suggest_8php.html#a4df91c84594d51ba56b5918de414230d">suggest.php</a>
-</li>
<li>suggest_content()
: <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest.php</a>
</li>
diff --git a/doc/html/globals_0x74.html b/doc/html/globals_0x74.html
index 8f69addac..0617b994a 100644
--- a/doc/html/globals_0x74.html
+++ b/doc/html/globals_0x74.html
@@ -244,7 +244,7 @@ $(document).ready(function(){initNavTree('globals_0x74.html','');});
: <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">plugin.php</a>
</li>
<li>theme_post()
-: <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">config.php</a>
+: <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">config.php</a>
</li>
<li>theme_status()
: <a class="el" href="admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4">admin.php</a>
@@ -276,6 +276,12 @@ $(document).ready(function(){initNavTree('globals_0x74.html','');});
<li>tryoembed()
: <a class="el" href="bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7">bbcode.php</a>
</li>
+<li>tryzrlaudio()
+: <a class="el" href="bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322">bbcode.php</a>
+</li>
+<li>tryzrlvideo()
+: <a class="el" href="bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8">bbcode.php</a>
+</li>
<li>tt()
: <a class="el" href="language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d">language.php</a>
</li>
diff --git a/doc/html/globals_0x75.html b/doc/html/globals_0x75.html
index 2da566338..02a5f5f8a 100644
--- a/doc/html/globals_0x75.html
+++ b/doc/html/globals_0x75.html
@@ -204,6 +204,9 @@ $(document).ready(function(){initNavTree('globals_0x75.html','');});
<li>update_queue_time()
: <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">queue_fn.php</a>
</li>
+<li>update_remote_id()
+: <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">items.php</a>
+</li>
<li>update_search_content()
: <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search.php</a>
</li>
diff --git a/doc/html/globals_0x76.html b/doc/html/globals_0x76.html
index b6a1e3208..145d34826 100644
--- a/doc/html/globals_0x76.html
+++ b/doc/html/globals_0x76.html
@@ -162,9 +162,6 @@ $(document).ready(function(){initNavTree('globals_0x76.html','');});
<li>view_init()
: <a class="el" href="view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e">view.php</a>
</li>
-<li>viewconnections_aside()
-: <a class="el" href="viewconnections_8php.html#ae330cea4cddd091559659f8b469617b6">viewconnections.php</a>
-</li>
<li>viewconnections_content()
: <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections.php</a>
</li>
diff --git a/doc/html/globals_0x77.html b/doc/html/globals_0x77.html
index 7de93fd83..da5be2e74 100644
--- a/doc/html/globals_0x77.html
+++ b/doc/html/globals_0x77.html
@@ -171,12 +171,75 @@ $(document).ready(function(){initNavTree('globals_0x77.html','');});
<li>while
: <a class="el" href="docblox__errorchecker_8php.html#af4ca738a05beffe9c8c23e1f7aea3c2d">docblox_errorchecker.php</a>
</li>
+<li>widget_affinity()
+: <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widgets.php</a>
+</li>
+<li>widget_archive()
+: <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widgets.php</a>
+</li>
+<li>widget_categories()
+: <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widgets.php</a>
+</li>
+<li>widget_collections()
+: <a class="el" href="widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f">widgets.php</a>
+</li>
+<li>widget_design_tools()
+: <a class="el" href="widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b">widgets.php</a>
+</li>
+<li>widget_dirsafemode()
+: <a class="el" href="widgets_8php.html#a268b01ce1ab8fe2cb346cb769b9d1091">widgets.php</a>
+</li>
+<li>widget_dirsort()
+: <a class="el" href="widgets_8php.html#a95c06bc9be133e89768746302d2ac395">widgets.php</a>
+</li>
+<li>widget_dirtags()
+: <a class="el" href="widgets_8php.html#a08035db02ff6a23260146b4c64153422">widgets.php</a>
+</li>
+<li>widget_filer()
+: <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widgets.php</a>
+</li>
+<li>widget_findpeople()
+: <a class="el" href="widgets_8php.html#ade630b19fb4c622b7b2f6f8ef89eefa2">widgets.php</a>
+</li>
+<li>widget_follow()
+: <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widgets.php</a>
+</li>
+<li>widget_fullprofile()
+: <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widgets.php</a>
+</li>
+<li>widget_mailmenu()
+: <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widgets.php</a>
+</li>
+<li>widget_menu_preview()
+: <a class="el" href="widgets_8php.html#a3bdfb81bf9a8ddf219924fa7eaf22013">widgets.php</a>
+</li>
+<li>widget_notes()
+: <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widgets.php</a>
+</li>
+<li>widget_photo_albums()
+: <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widgets.php</a>
+</li>
<li>widget_profile()
: <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widgets.php</a>
</li>
+<li>widget_savedsearch()
+: <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widgets.php</a>
+</li>
+<li>widget_settings_menu()
+: <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widgets.php</a>
+</li>
+<li>widget_suggestions()
+: <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widgets.php</a>
+</li>
<li>widget_tagcloud()
: <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widgets.php</a>
</li>
+<li>widget_tagcloud_wall()
+: <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widgets.php</a>
+</li>
+<li>widget_vcard()
+: <a class="el" href="widgets_8php.html#abe03366fd22fd27d683518fa0765da50">widgets.php</a>
+</li>
<li>writepages_widget()
: <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">page_widgets.php</a>
</li>
diff --git a/doc/html/globals_0x78.html b/doc/html/globals_0x78.html
index 4435d4f57..f016dce14 100644
--- a/doc/html/globals_0x78.html
+++ b/doc/html/globals_0x78.html
@@ -159,12 +159,18 @@ $(document).ready(function(){initNavTree('globals_0x78.html','');});
<li>XCHAN_FLAGS_HIDDEN
: <a class="el" href="boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2">boot.php</a>
</li>
+<li>XCHAN_FLAGS_NORMAL
+: <a class="el" href="boot_8php.html#a8fdcc4ffb365a3267bd02ce8a8d466d6">boot.php</a>
+</li>
<li>XCHAN_FLAGS_ORPHAN
: <a class="el" href="boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f">boot.php</a>
</li>
<li>XCHAN_FLAGS_SELFCENSORED
: <a class="el" href="boot_8php.html#a5a681a672e007cdc22b43345d71f07c6">boot.php</a>
</li>
+<li>XCHAN_FLAGS_SYSTEM
+: <a class="el" href="boot_8php.html#afef254290febac854c85fc698d9483a6">boot.php</a>
+</li>
<li>xchan_mail_query()
: <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">text.php</a>
</li>
@@ -186,6 +192,9 @@ $(document).ready(function(){initNavTree('globals_0x78.html','');});
<li>xrd_init()
: <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd.php</a>
</li>
+<li>xref_init()
+: <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref.php</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/globals_func_0x61.html b/doc/html/globals_func_0x61.html
index b1e765e82..f553207f3 100644
--- a/doc/html/globals_func_0x61.html
+++ b/doc/html/globals_func_0x61.html
@@ -164,6 +164,9 @@ $(document).ready(function(){initNavTree('globals_func_0x61.html','');});
<li>account_verify_password()
: <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">auth.php</a>
</li>
+<li>achievements_content()
+: <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements.php</a>
+</li>
<li>acl_init()
: <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl.php</a>
</li>
@@ -239,9 +242,6 @@ $(document).ready(function(){initNavTree('globals_func_0x61.html','');});
<li>all_friends()
: <a class="el" href="socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586">socgraph.php</a>
</li>
-<li>allfriends_content()
-: <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends.php</a>
-</li>
<li>allowed_email()
: <a class="el" href="include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694">network.php</a>
</li>
@@ -446,9 +446,15 @@ $(document).ready(function(){initNavTree('globals_func_0x61.html','');});
<li>attach_by_hash_nodata()
: <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach.php</a>
</li>
+<li>attach_change_permissions()
+: <a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach.php</a>
+</li>
<li>attach_count_files()
: <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach.php</a>
</li>
+<li>attach_delete()
+: <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach.php</a>
+</li>
<li>attach_init()
: <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach.php</a>
</li>
diff --git a/doc/html/globals_func_0x62.html b/doc/html/globals_func_0x62.html
index 16b779949..0c3cc4bec 100644
--- a/doc/html/globals_func_0x62.html
+++ b/doc/html/globals_func_0x62.html
@@ -152,9 +152,15 @@ $(document).ready(function(){initNavTree('globals_func_0x62.html','');});
<li>bb2diaspora()
: <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora.php</a>
</li>
+<li>bb_location()
+: <a class="el" href="bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd">bbcode.php</a>
+</li>
<li>bb_parse_crypt()
: <a class="el" href="bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f">bbcode.php</a>
</li>
+<li>bb_qr()
+: <a class="el" href="bbcode_8php.html#a98d0eecc620c19561639f06cfbe8e74c">bbcode.php</a>
+</li>
<li>bb_ShareAttributes()
: <a class="el" href="bbcode_8php.html#a1c69e021d5e0aef97d6966bf3169c86a">bbcode.php</a>
</li>
@@ -201,11 +207,14 @@ $(document).ready(function(){initNavTree('globals_func_0x62.html','');});
: <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5">theme.php</a>
</li>
<li>blogtheme_form()
-: <a class="el" href="view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">config.php</a>
+: <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">config.php</a>
</li>
<li>blogtheme_imgurl()
: <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec">theme.php</a>
</li>
+<li>bookmarks_menu_fetch()
+: <a class="el" href="include_2menu_8php.html#a7fb5f4847bc94436e43be4b81478febc">menu.php</a>
+</li>
<li>breaklines()
: <a class="el" href="html2plain_8php.html#a3214912e3d00cf0a948072daccf16740">html2plain.php</a>
</li>
diff --git a/doc/html/globals_func_0x63.html b/doc/html/globals_func_0x63.html
index f4cbc1954..d0f872eec 100644
--- a/doc/html/globals_func_0x63.html
+++ b/doc/html/globals_func_0x63.html
@@ -170,9 +170,6 @@ $(document).ready(function(){initNavTree('globals_func_0x63.html','');});
<li>chanman_remove_everything_from_network()
: <a class="el" href="include_2chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b">chanman.php</a>
</li>
-<li>channel_aside()
-: <a class="el" href="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel.php</a>
-</li>
<li>channel_content()
: <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel.php</a>
</li>
@@ -251,6 +248,9 @@ $(document).ready(function(){initNavTree('globals_func_0x63.html','');});
<li>check_smarty3()
: <a class="el" href="setup_8php.html#afd8b0b3ade1507c45325caf377bf459d">setup.php</a>
</li>
+<li>check_store()
+: <a class="el" href="setup_8php.html#ab4b71369a25021d59247c917e98d8246">setup.php</a>
+</li>
<li>check_webbie()
: <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">text.php</a>
</li>
@@ -267,7 +267,7 @@ $(document).ready(function(){initNavTree('globals_func_0x63.html','');});
: <a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest.php</a>
</li>
<li>cloud_init()
-: <a class="el" href="cloud_8php.html#a080071b784fe01d04ed6c09d9f2785b8">cloud.php</a>
+: <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud.php</a>
</li>
<li>collect_recipients()
: <a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">items.php</a>
@@ -296,9 +296,6 @@ $(document).ready(function(){initNavTree('globals_func_0x63.html','');});
<li>comanche_widget()
: <a class="el" href="comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f">comanche.php</a>
</li>
-<li>common_aside()
-: <a class="el" href="common_8php.html#a3b12ec67b3d3edcf595c8d195da5d14a">common.php</a>
-</li>
<li>common_content()
: <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common.php</a>
</li>
@@ -335,9 +332,6 @@ $(document).ready(function(){initNavTree('globals_func_0x63.html','');});
<li>connect_post()
: <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect.php</a>
</li>
-<li>connections_aside()
-: <a class="el" href="connections_8php.html#af48f7ad20914760ba9874c090384e35a">connections.php</a>
-</li>
<li>connections_clone()
: <a class="el" href="connections_8php.html#a15af118efee9c948b6f8294e54a73bb2">connections.php</a>
</li>
@@ -350,6 +344,18 @@ $(document).ready(function(){initNavTree('globals_func_0x63.html','');});
<li>connections_post()
: <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections.php</a>
</li>
+<li>connedit_clone()
+: <a class="el" href="connedit_8php.html#a707ea7e63cf9674025b1d6b081ae74f5">connedit.php</a>
+</li>
+<li>connedit_content()
+: <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit.php</a>
+</li>
+<li>connedit_init()
+: <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit.php</a>
+</li>
+<li>connedit_post()
+: <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit.php</a>
+</li>
<li>construct_activity_object()
: <a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">items.php</a>
</li>
@@ -410,20 +416,11 @@ $(document).ready(function(){initNavTree('globals_func_0x63.html','');});
<li>create_account()
: <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">account.php</a>
</li>
-<li>create_dir_account()
-: <a class="el" href="identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd">identity.php</a>
-</li>
<li>create_identity()
: <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">identity.php</a>
</li>
-<li>crepair_content()
-: <a class="el" href="crepair_8php.html#a29464c01838e209c8059cfcd2d195caa">crepair.php</a>
-</li>
-<li>crepair_init()
-: <a class="el" href="crepair_8php.html#ab089978e50df156bbfabf9f8f5ccd198">crepair.php</a>
-</li>
-<li>crepair_post()
-: <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair.php</a>
+<li>create_sys_channel()
+: <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">identity.php</a>
</li>
<li>cronhooks_run()
: <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks.php</a>
diff --git a/doc/html/globals_func_0x64.html b/doc/html/globals_func_0x64.html
index 407338bb3..bfb83e73e 100644
--- a/doc/html/globals_func_0x64.html
+++ b/doc/html/globals_func_0x64.html
@@ -230,9 +230,6 @@ $(document).ready(function(){initNavTree('globals_func_0x64.html','');});
<li>dir_tagblock()
: <a class="el" href="taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1">taxonomy.php</a>
</li>
-<li>directory_aside()
-: <a class="el" href="mod_2directory_8php.html#aa1d928543212871491706216742dd73c">directory.php</a>
-</li>
<li>directory_content()
: <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory.php</a>
</li>
@@ -242,6 +239,9 @@ $(document).ready(function(){initNavTree('globals_func_0x64.html','');});
<li>directory_run()
: <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory.php</a>
</li>
+<li>dirprofile_init()
+: <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile.php</a>
+</li>
<li>dirsearch_content()
: <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch.php</a>
</li>
diff --git a/doc/html/globals_func_0x66.html b/doc/html/globals_func_0x66.html
index 89475dd1f..badffe4f9 100644
--- a/doc/html/globals_func_0x66.html
+++ b/doc/html/globals_func_0x66.html
@@ -188,6 +188,9 @@ $(document).ready(function(){initNavTree('globals_func_0x66.html','');});
<li>filestorage_content()
: <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage.php</a>
</li>
+<li>filestorage_post()
+: <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage.php</a>
+</li>
<li>find_thread_parent_index()
: <a class="el" href="conversation_8php.html#ae59703b07ce2ddf627b4172ff26058b6">conversation.php</a>
</li>
@@ -227,9 +230,6 @@ $(document).ready(function(){initNavTree('globals_func_0x66.html','');});
<li>follow_init()
: <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow.php</a>
</li>
-<li>follow_widget()
-: <a class="el" href="contact__widgets_8php.html#af24e693532a045954caab515942cfc6f">contact_widgets.php</a>
-</li>
<li>format_categories()
: <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">text.php</a>
</li>
diff --git a/doc/html/globals_func_0x67.html b/doc/html/globals_func_0x67.html
index 34086b120..f67e4bb28 100644
--- a/doc/html/globals_func_0x67.html
+++ b/doc/html/globals_func_0x67.html
@@ -176,6 +176,9 @@ $(document).ready(function(){initNavTree('globals_func_0x67.html','');});
<li>get_capath()
: <a class="el" href="include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7">network.php</a>
</li>
+<li>get_cloudpath()
+: <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">attach.php</a>
+</li>
<li>get_config()
: <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">config.php</a>
</li>
@@ -188,6 +191,9 @@ $(document).ready(function(){initNavTree('globals_func_0x67.html','');});
<li>get_db_errno()
: <a class="el" href="setup_8php.html#a8652788e8589778c5f81634a9d5b9429">setup.php</a>
</li>
+<li>get_default_profile_photo()
+: <a class="el" href="identity_8php.html#ab1485a26b032956e1496fc08c58b83ed">identity.php</a>
+</li>
<li>get_dim()
: <a class="el" href="datetime_8php.html#a7df24d72ea05922d3127363e2295174c">datetime.php</a>
</li>
@@ -249,7 +255,7 @@ $(document).ready(function(){initNavTree('globals_func_0x67.html','');});
: <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">permissions.php</a>
</li>
<li>get_plink()
-: <a class="el" href="text_8php.html#a3ef8c0cf31f35f77462067de8712fa34">text.php</a>
+: <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">text.php</a>
</li>
<li>get_plugin_info()
: <a class="el" href="plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35">plugin.php</a>
@@ -269,6 +275,9 @@ $(document).ready(function(){initNavTree('globals_func_0x67.html','');});
<li>get_rpost_path()
: <a class="el" href="zot_8php.html#a8e22dbc6f884be3644a892a876cbd972">zot.php</a>
</li>
+<li>get_sys_channel()
+: <a class="el" href="identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51">identity.php</a>
+</li>
<li>get_tags()
: <a class="el" href="text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623">text.php</a>
</li>
@@ -287,6 +296,9 @@ $(document).ready(function(){initNavTree('globals_func_0x67.html','');});
<li>get_theme_uid()
: <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">identity.php</a>
</li>
+<li>get_things()
+: <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">taxonomy.php</a>
+</li>
<li>get_xconfig()
: <a class="el" href="include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e">config.php</a>
</li>
@@ -302,9 +314,6 @@ $(document).ready(function(){initNavTree('globals_func_0x67.html','');});
<li>group_add_member()
: <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group.php</a>
</li>
-<li>group_aside()
-: <a class="el" href="mod_2group_8php.html#aeb0784dd928e53e6d8693513bec8928c">group.php</a>
-</li>
<li>group_byname()
: <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group.php</a>
</li>
@@ -330,7 +339,7 @@ $(document).ready(function(){initNavTree('globals_func_0x67.html','');});
: <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">acl_selectors.php</a>
</li>
<li>group_side()
-: <a class="el" href="include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17">group.php</a>
+: <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group.php</a>
</li>
<li>groups_containing()
: <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">group.php</a>
diff --git a/doc/html/globals_func_0x68.html b/doc/html/globals_func_0x68.html
index b5382ad9d..8917d5efa 100644
--- a/doc/html/globals_func_0x68.html
+++ b/doc/html/globals_func_0x68.html
@@ -144,17 +144,11 @@ $(document).ready(function(){initNavTree('globals_func_0x68.html','');});
<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
<li>handle_tag()
-: <a class="el" href="item_8php.html#abd0e603a6696051af16476eb968d52e7">item.php</a>
+: <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">item.php</a>
</li>
<li>has_permissions()
: <a class="el" href="items_8php.html#a77051724d1784074ff187e73a4db93fe">items.php</a>
</li>
-<li>hcard_aside()
-: <a class="el" href="hcard_8php.html#a956c7cae2009652a37900306e5b7b73d">hcard.php</a>
-</li>
-<li>hcard_init()
-: <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard.php</a>
-</li>
<li>head_add_css()
: <a class="el" href="plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a">plugin.php</a>
</li>
@@ -170,12 +164,24 @@ $(document).ready(function(){initNavTree('globals_func_0x68.html','');});
<li>head_get_js()
: <a class="el" href="plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1">plugin.php</a>
</li>
+<li>head_remove_css()
+: <a class="el" href="plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf">plugin.php</a>
+</li>
+<li>head_remove_js()
+: <a class="el" href="plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4">plugin.php</a>
+</li>
<li>head_set_icon()
: <a class="el" href="boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84">boot.php</a>
</li>
<li>help_content()
: <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help.php</a>
</li>
+<li>home_content()
+: <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home.php</a>
+</li>
+<li>home_init()
+: <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home.php</a>
+</li>
<li>hostxrd_init()
: <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd.php</a>
</li>
diff --git a/doc/html/globals_func_0x69.html b/doc/html/globals_func_0x69.html
index cd82b3b08..dc155ac19 100644
--- a/doc/html/globals_func_0x69.html
+++ b/doc/html/globals_func_0x69.html
@@ -174,7 +174,7 @@ $(document).ready(function(){initNavTree('globals_func_0x69.html','');});
: <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import.php</a>
</li>
<li>import_profile_photo()
-: <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">photo_driver.php</a>
+: <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">photo_driver.php</a>
</li>
<li>import_site()
: <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">zot.php</a>
@@ -194,15 +194,6 @@ $(document).ready(function(){initNavTree('globals_func_0x69.html','');});
<li>install_plugin()
: <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">plugin.php</a>
</li>
-<li>intro_aside()
-: <a class="el" href="intro_8php.html#abc3abf25da64f98f215126eb08c7936b">intro.php</a>
-</li>
-<li>intro_content()
-: <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro.php</a>
-</li>
-<li>intro_post()
-: <a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro.php</a>
-</li>
<li>invite_content()
: <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite.php</a>
</li>
@@ -215,6 +206,12 @@ $(document).ready(function(){initNavTree('globals_func_0x69.html','');});
<li>is_ajax()
: <a class="el" href="boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c">boot.php</a>
</li>
+<li>is_foreigner()
+: <a class="el" href="identity_8php.html#ae2b140df652a55ca11bb6a99005fce35">identity.php</a>
+</li>
+<li>is_member()
+: <a class="el" href="identity_8php.html#a9637c557e13d9671f3eeb124ab98212a">identity.php</a>
+</li>
<li>is_site_admin()
: <a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">boot.php</a>
</li>
diff --git a/doc/html/globals_func_0x6c.html b/doc/html/globals_func_0x6c.html
index d361f9967..650b6ea8c 100644
--- a/doc/html/globals_func_0x6c.html
+++ b/doc/html/globals_func_0x6c.html
@@ -146,15 +146,6 @@ $(document).ready(function(){initNavTree('globals_func_0x6c.html','');});
<li>lang_selector()
: <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">text.php</a>
</li>
-<li>lastpost_aside()
-: <a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost.php</a>
-</li>
-<li>lastpost_content()
-: <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost.php</a>
-</li>
-<li>lastpost_init()
-: <a class="el" href="lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c">lastpost.php</a>
-</li>
<li>layout_select()
: <a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">text.php</a>
</li>
diff --git a/doc/html/globals_func_0x6d.html b/doc/html/globals_func_0x6d.html
index fdd3edaab..d8cd1849c 100644
--- a/doc/html/globals_func_0x6d.html
+++ b/doc/html/globals_func_0x6d.html
@@ -152,6 +152,12 @@ $(document).ready(function(){initNavTree('globals_func_0x6d.html','');});
<li>magiclink_url()
: <a class="el" href="text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6">text.php</a>
</li>
+<li>mail_content()
+: <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail.php</a>
+</li>
+<li>mail_post()
+: <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail.php</a>
+</li>
<li>mail_store()
: <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">items.php</a>
</li>
@@ -212,14 +218,8 @@ $(document).ready(function(){initNavTree('globals_func_0x6d.html','');});
<li>menu_render()
: <a class="el" href="include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e">menu.php</a>
</li>
-<li>message_aside()
-: <a class="el" href="mod_2message_8php.html#af4ba72486117cc24335fd8e92a2112a7">message.php</a>
-</li>
<li>message_content()
-: <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message.php</a>
-</li>
-<li>message_post()
-: <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message.php</a>
+: <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message.php</a>
</li>
<li>micropro()
: <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">text.php</a>
diff --git a/doc/html/globals_func_0x6e.html b/doc/html/globals_func_0x6e.html
index 0197c2b99..8af69c3b4 100644
--- a/doc/html/globals_func_0x6e.html
+++ b/doc/html/globals_func_0x6e.html
@@ -200,6 +200,9 @@ $(document).ready(function(){initNavTree('globals_func_0x6e.html','');});
<li>notags()
: <a class="el" href="text_8php.html#a1af49756c8c71902a66c7e329c462beb">text.php</a>
</li>
+<li>notes_init()
+: <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes.php</a>
+</li>
<li>notice()
: <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">boot.php</a>
</li>
diff --git a/doc/html/globals_func_0x6f.html b/doc/html/globals_func_0x6f.html
index 2f5e4b314..002e257c6 100644
--- a/doc/html/globals_func_0x6f.html
+++ b/doc/html/globals_func_0x6f.html
@@ -147,7 +147,7 @@ $(document).ready(function(){initNavTree('globals_func_0x6f.html','');});
: <a class="el" href="mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117">api.php</a>
</li>
<li>obj_verb_selector()
-: <a class="el" href="taxonomy_8php.html#ac12a651a42ed77f8dc7072c6168811a2">taxonomy.php</a>
+: <a class="el" href="taxonomy_8php.html#af387463d42ffdf7d2ab3d5b22e40a0c7">taxonomy.php</a>
</li>
<li>obj_verbs()
: <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">taxonomy.php</a>
diff --git a/doc/html/globals_func_0x70.html b/doc/html/globals_func_0x70.html
index b9d28bdc8..932009ab0 100644
--- a/doc/html/globals_func_0x70.html
+++ b/doc/html/globals_func_0x70.html
@@ -224,6 +224,9 @@ $(document).ready(function(){initNavTree('globals_func_0x70.html','');});
<li>ping_init()
: <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping.php</a>
</li>
+<li>pipe_streams()
+: <a class="el" href="include_2attach_8php.html#a5d484de2d19a93071571d6499a50ae34">attach.php</a>
+</li>
<li>pkcs5_pad()
: <a class="el" href="crypto_8php.html#ad5e51fd44cff93cfaa07a37e24a5edec">crypto.php</a>
</li>
@@ -374,9 +377,6 @@ $(document).ready(function(){initNavTree('globals_func_0x70.html','');});
<li>profile_activity()
: <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">activities.php</a>
</li>
-<li>profile_aside()
-: <a class="el" href="profile_8php.html#a1a2482b775476f2f64ea5e8f4fc3fd1e">profile.php</a>
-</li>
<li>profile_content()
: <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile.php</a>
</li>
@@ -389,9 +389,6 @@ $(document).ready(function(){initNavTree('globals_func_0x70.html','');});
<li>profile_load()
: <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">identity.php</a>
</li>
-<li>profile_photo_aside()
-: <a class="el" href="profile__photo_8php.html#ac9cd968a767e2ae1b88383b6cdd6dbe3">profile_photo.php</a>
-</li>
<li>profile_photo_init()
: <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo.php</a>
</li>
@@ -407,9 +404,6 @@ $(document).ready(function(){initNavTree('globals_func_0x70.html','');});
<li>profiler()
: <a class="el" href="text_8php.html#a8b0a799341b1fc4cba2c3ede3e3fc9b6">text.php</a>
</li>
-<li>profiles_aside()
-: <a class="el" href="profiles_8php.html#a2a3ac90f51941ff78b85e9389304969c">profiles.php</a>
-</li>
<li>profiles_content()
: <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles.php</a>
</li>
@@ -419,9 +413,6 @@ $(document).ready(function(){initNavTree('globals_func_0x70.html','');});
<li>profiles_post()
: <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles.php</a>
</li>
-<li>profperm_aside()
-: <a class="el" href="profperm_8php.html#a77fd398ae7c25142e1d9ad724ec347cc">profperm.php</a>
-</li>
<li>profperm_content()
: <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm.php</a>
</li>
diff --git a/doc/html/globals_func_0x71.html b/doc/html/globals_func_0x71.html
index d4e6316bf..196c5a89f 100644
--- a/doc/html/globals_func_0x71.html
+++ b/doc/html/globals_func_0x71.html
@@ -149,9 +149,6 @@ $(document).ready(function(){initNavTree('globals_func_0x71.html','');});
<li>qp()
: <a class="el" href="text_8php.html#afc998d2796a6b2a08e96f7cc061e7221">text.php</a>
</li>
-<li>qsearch_init()
-: <a class="el" href="qsearch_8php.html#a0501887b95bd8fa21018b2936a668894">qsearch.php</a>
-</li>
<li>queue_run()
: <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue.php</a>
</li>
diff --git a/doc/html/globals_func_0x72.html b/doc/html/globals_func_0x72.html
index a1b9af5a9..98b284dfa 100644
--- a/doc/html/globals_func_0x72.html
+++ b/doc/html/globals_func_0x72.html
@@ -173,8 +173,14 @@ $(document).ready(function(){initNavTree('globals_func_0x72.html','');});
<li>redbasic_init()
: <a class="el" href="redbasic_2php_2theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b">theme.php</a>
</li>
-<li>redir_init()
-: <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir.php</a>
+<li>RedChannelList()
+: <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">reddav.php</a>
+</li>
+<li>RedCollectionData()
+: <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">reddav.php</a>
+</li>
+<li>RedFileData()
+: <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">reddav.php</a>
</li>
<li>reduce()
: <a class="el" href="docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f">docblox_errorchecker.php</a>
diff --git a/doc/html/globals_func_0x73.html b/doc/html/globals_func_0x73.html
index ca9a9361b..1f3aca686 100644
--- a/doc/html/globals_func_0x73.html
+++ b/doc/html/globals_func_0x73.html
@@ -146,12 +146,12 @@ $(document).ready(function(){initNavTree('globals_func_0x73.html','');});
<li>sanitise_acl()
: <a class="el" href="text_8php.html#a9fbeae13c9abd6e27cb4d8d1817f969c">text.php</a>
</li>
-<li>saved_searches()
-: <a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">network.php</a>
-</li>
<li>scale_external_images()
: <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">network.php</a>
</li>
+<li>script_path()
+: <a class="el" href="plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3">plugin.php</a>
+</li>
<li>search()
: <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">text.php</a>
</li>
@@ -164,11 +164,8 @@ $(document).ready(function(){initNavTree('globals_func_0x73.html','');});
<li>search_init()
: <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search.php</a>
</li>
-<li>search_post()
-: <a class="el" href="search_8php.html#a230ec9681ddee3b5b8b40c8d550f32f7">search.php</a>
-</li>
-<li>search_saved_searches()
-: <a class="el" href="search_8php.html#aa911f7c7f0cdb0284e35d0ed610f19c6">search.php</a>
+<li>searchbox()
+: <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">text.php</a>
</li>
<li>select_timezone()
: <a class="el" href="datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f">datetime.php</a>
@@ -203,9 +200,6 @@ $(document).ready(function(){initNavTree('globals_func_0x73.html','');});
<li>set_xconfig()
: <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">config.php</a>
</li>
-<li>settings_aside()
-: <a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings.php</a>
-</li>
<li>settings_init()
: <a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings.php</a>
</li>
@@ -275,6 +269,12 @@ $(document).ready(function(){initNavTree('globals_func_0x73.html','');});
<li>sources_post()
: <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources.php</a>
</li>
+<li>sslify()
+: <a class="el" href="text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9">text.php</a>
+</li>
+<li>sslify_init()
+: <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify.php</a>
+</li>
<li>starred_init()
: <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred.php</a>
</li>
@@ -305,9 +305,6 @@ $(document).ready(function(){initNavTree('globals_func_0x73.html','');});
<li>subthread_content()
: <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread.php</a>
</li>
-<li>suggest_aside()
-: <a class="el" href="suggest_8php.html#a4df91c84594d51ba56b5918de414230d">suggest.php</a>
-</li>
<li>suggest_content()
: <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest.php</a>
</li>
diff --git a/doc/html/globals_func_0x74.html b/doc/html/globals_func_0x74.html
index f7a827882..025d49fd3 100644
--- a/doc/html/globals_func_0x74.html
+++ b/doc/html/globals_func_0x74.html
@@ -201,7 +201,7 @@ $(document).ready(function(){initNavTree('globals_func_0x74.html','');});
: <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">plugin.php</a>
</li>
<li>theme_post()
-: <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">config.php</a>
+: <a class="el" href="view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">config.php</a>
</li>
<li>theme_status()
: <a class="el" href="admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4">admin.php</a>
@@ -233,6 +233,12 @@ $(document).ready(function(){initNavTree('globals_func_0x74.html','');});
<li>tryoembed()
: <a class="el" href="bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7">bbcode.php</a>
</li>
+<li>tryzrlaudio()
+: <a class="el" href="bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322">bbcode.php</a>
+</li>
+<li>tryzrlvideo()
+: <a class="el" href="bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8">bbcode.php</a>
+</li>
<li>tt()
: <a class="el" href="language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d">language.php</a>
</li>
diff --git a/doc/html/globals_func_0x75.html b/doc/html/globals_func_0x75.html
index 7d53ad29c..5f9db65d9 100644
--- a/doc/html/globals_func_0x75.html
+++ b/doc/html/globals_func_0x75.html
@@ -194,6 +194,9 @@ $(document).ready(function(){initNavTree('globals_func_0x75.html','');});
<li>update_queue_time()
: <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">queue_fn.php</a>
</li>
+<li>update_remote_id()
+: <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">items.php</a>
+</li>
<li>update_search_content()
: <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search.php</a>
</li>
diff --git a/doc/html/globals_func_0x76.html b/doc/html/globals_func_0x76.html
index c61a91b6b..b8447e3c0 100644
--- a/doc/html/globals_func_0x76.html
+++ b/doc/html/globals_func_0x76.html
@@ -161,9 +161,6 @@ $(document).ready(function(){initNavTree('globals_func_0x76.html','');});
<li>view_init()
: <a class="el" href="view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e">view.php</a>
</li>
-<li>viewconnections_aside()
-: <a class="el" href="viewconnections_8php.html#ae330cea4cddd091559659f8b469617b6">viewconnections.php</a>
-</li>
<li>viewconnections_content()
: <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections.php</a>
</li>
diff --git a/doc/html/globals_func_0x77.html b/doc/html/globals_func_0x77.html
index 96406899a..31af26a40 100644
--- a/doc/html/globals_func_0x77.html
+++ b/doc/html/globals_func_0x77.html
@@ -167,12 +167,75 @@ $(document).ready(function(){initNavTree('globals_func_0x77.html','');});
<li>what_next()
: <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">setup.php</a>
</li>
+<li>widget_affinity()
+: <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widgets.php</a>
+</li>
+<li>widget_archive()
+: <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widgets.php</a>
+</li>
+<li>widget_categories()
+: <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widgets.php</a>
+</li>
+<li>widget_collections()
+: <a class="el" href="widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f">widgets.php</a>
+</li>
+<li>widget_design_tools()
+: <a class="el" href="widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b">widgets.php</a>
+</li>
+<li>widget_dirsafemode()
+: <a class="el" href="widgets_8php.html#a268b01ce1ab8fe2cb346cb769b9d1091">widgets.php</a>
+</li>
+<li>widget_dirsort()
+: <a class="el" href="widgets_8php.html#a95c06bc9be133e89768746302d2ac395">widgets.php</a>
+</li>
+<li>widget_dirtags()
+: <a class="el" href="widgets_8php.html#a08035db02ff6a23260146b4c64153422">widgets.php</a>
+</li>
+<li>widget_filer()
+: <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widgets.php</a>
+</li>
+<li>widget_findpeople()
+: <a class="el" href="widgets_8php.html#ade630b19fb4c622b7b2f6f8ef89eefa2">widgets.php</a>
+</li>
+<li>widget_follow()
+: <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widgets.php</a>
+</li>
+<li>widget_fullprofile()
+: <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widgets.php</a>
+</li>
+<li>widget_mailmenu()
+: <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widgets.php</a>
+</li>
+<li>widget_menu_preview()
+: <a class="el" href="widgets_8php.html#a3bdfb81bf9a8ddf219924fa7eaf22013">widgets.php</a>
+</li>
+<li>widget_notes()
+: <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widgets.php</a>
+</li>
+<li>widget_photo_albums()
+: <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widgets.php</a>
+</li>
<li>widget_profile()
: <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widgets.php</a>
</li>
+<li>widget_savedsearch()
+: <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widgets.php</a>
+</li>
+<li>widget_settings_menu()
+: <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widgets.php</a>
+</li>
+<li>widget_suggestions()
+: <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widgets.php</a>
+</li>
<li>widget_tagcloud()
: <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widgets.php</a>
</li>
+<li>widget_tagcloud_wall()
+: <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widgets.php</a>
+</li>
+<li>widget_vcard()
+: <a class="el" href="widgets_8php.html#abe03366fd22fd27d683518fa0765da50">widgets.php</a>
+</li>
<li>writepages_widget()
: <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">page_widgets.php</a>
</li>
diff --git a/doc/html/globals_func_0x78.html b/doc/html/globals_func_0x78.html
index f0f230193..24b97f465 100644
--- a/doc/html/globals_func_0x78.html
+++ b/doc/html/globals_func_0x78.html
@@ -170,6 +170,9 @@ $(document).ready(function(){initNavTree('globals_func_0x78.html','');});
<li>xrd_init()
: <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd.php</a>
</li>
+<li>xref_init()
+: <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref.php</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/globals_vars_0x61.html b/doc/html/globals_vars_0x61.html
index 8493d5b7d..4c85f18b6 100644
--- a/doc/html/globals_vars_0x61.html
+++ b/doc/html/globals_vars_0x61.html
@@ -193,6 +193,9 @@ $(document).ready(function(){initNavTree('globals_vars_0x61.html','');});
<li>ACCOUNT_ROLE_ALLOWCODE
: <a class="el" href="boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688">boot.php</a>
</li>
+<li>ACCOUNT_ROLE_SYSTEM
+: <a class="el" href="boot_8php.html#a7c2eb822d50e1554bf5c32861f36342b">boot.php</a>
+</li>
<li>ACCOUNT_UNVERIFIED
: <a class="el" href="boot_8php.html#af3a4271630aabd8be592213f925d6a36">boot.php</a>
</li>
diff --git a/doc/html/globals_vars_0x69.html b/doc/html/globals_vars_0x69.html
index 09db932b0..2d4e26940 100644
--- a/doc/html/globals_vars_0x69.html
+++ b/doc/html/globals_vars_0x69.html
@@ -148,6 +148,9 @@ $(document).ready(function(){initNavTree('globals_vars_0x69.html','');});
<li>ITEM_BLOCKED
: <a class="el" href="boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f">boot.php</a>
</li>
+<li>ITEM_BUG
+: <a class="el" href="boot_8php.html#a87b0f279f8413c7e4d805c5d85f20d34">boot.php</a>
+</li>
<li>ITEM_BUILDBLOCK
: <a class="el" href="boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf">boot.php</a>
</li>
diff --git a/doc/html/globals_vars_0x6d.html b/doc/html/globals_vars_0x6d.html
index b05529db2..b67fde2da 100644
--- a/doc/html/globals_vars_0x6d.html
+++ b/doc/html/globals_vars_0x6d.html
@@ -163,12 +163,18 @@ $(document).ready(function(){initNavTree('globals_vars_0x6d.html','');});
<li>MAX_LIKERS
: <a class="el" href="boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd">boot.php</a>
</li>
+<li>MENU_BOOKMARK
+: <a class="el" href="boot_8php.html#a458e19af801bc4b0d1f1ce1a6d9e857e">boot.php</a>
+</li>
<li>MENU_ITEM_NEWWIN
: <a class="el" href="boot_8php.html#ad11f30a6590d3d77f0c5e1e3909af8f5">boot.php</a>
</li>
<li>MENU_ITEM_ZID
: <a class="el" href="boot_8php.html#aed0dfb35f7dd00dc9e4f868ea7f7ff53">boot.php</a>
</li>
+<li>MENU_SYSTEM
+: <a class="el" href="boot_8php.html#a718a801b0be6cbaef5e519516da12721">boot.php</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/globals_vars_0x70.html b/doc/html/globals_vars_0x70.html
index 55e1dd040..02c290708 100644
--- a/doc/html/globals_vars_0x70.html
+++ b/doc/html/globals_vars_0x70.html
@@ -141,8 +141,6 @@ $(document).ready(function(){initNavTree('globals_vars_0x70.html','');});
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
<li>page
: <a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">mod_import.php</a>
-, <a class="el" href="mod__new__channel_8php.html#a8db1899eeeb44dabd0904065b63627bb">mod_new_channel.php</a>
-, <a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">mod_register.php</a>
</li>
<li>PAGE_ADULT
: <a class="el" href="boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32">boot.php</a>
@@ -168,6 +166,9 @@ $(document).ready(function(){initNavTree('globals_vars_0x70.html','');});
<li>PAGE_REMOVED
: <a class="el" href="boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6">boot.php</a>
</li>
+<li>PAGE_SYSTEM
+: <a class="el" href="boot_8php.html#a6ee7a72d558d1851bbb9e3cdde377932">boot.php</a>
+</li>
<li>PERMS_A_DELEGATE
: <a class="el" href="boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b">boot.php</a>
</li>
diff --git a/doc/html/globals_vars_0x78.html b/doc/html/globals_vars_0x78.html
index b115c36a0..4278aa8f4 100644
--- a/doc/html/globals_vars_0x78.html
+++ b/doc/html/globals_vars_0x78.html
@@ -148,12 +148,18 @@ $(document).ready(function(){initNavTree('globals_vars_0x78.html','');});
<li>XCHAN_FLAGS_HIDDEN
: <a class="el" href="boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2">boot.php</a>
</li>
+<li>XCHAN_FLAGS_NORMAL
+: <a class="el" href="boot_8php.html#a8fdcc4ffb365a3267bd02ce8a8d466d6">boot.php</a>
+</li>
<li>XCHAN_FLAGS_ORPHAN
: <a class="el" href="boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f">boot.php</a>
</li>
<li>XCHAN_FLAGS_SELFCENSORED
: <a class="el" href="boot_8php.html#a5a681a672e007cdc22b43345d71f07c6">boot.php</a>
</li>
+<li>XCHAN_FLAGS_SYSTEM
+: <a class="el" href="boot_8php.html#afef254290febac854c85fc698d9483a6">boot.php</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html
index 2a65d1ce0..d35fdc010 100644
--- a/doc/html/hierarchy.html
+++ b/doc/html/hierarchy.html
@@ -126,8 +126,8 @@ $(document).ready(function(){initNavTree('hierarchy.html','');});
<tr id="row_6_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedDirectory.html" target="_self">RedDirectory</a></td><td class="desc"></td></tr>
<tr id="row_7_"><td class="entry"><img id="arr_7_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('7_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>IFile</b></td><td class="desc"></td></tr>
<tr id="row_7_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedFile.html" target="_self">RedFile</a></td><td class="desc"></td></tr>
-<tr id="row_8_"><td class="entry"><img id="arr_8_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('8_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>INode</b></td><td class="desc"></td></tr>
-<tr id="row_8_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedInode.html" target="_self">RedInode</a></td><td class="desc"></td></tr>
+<tr id="row_8_"><td class="entry"><img id="arr_8_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('8_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>IQuota</b></td><td class="desc"></td></tr>
+<tr id="row_8_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedDirectory.html" target="_self">RedDirectory</a></td><td class="desc"></td></tr>
<tr id="row_9_"><td class="entry"><img id="arr_9_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('9_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="interfaceITemplateEngine.html" target="_self">ITemplateEngine</a></td><td class="desc"></td></tr>
<tr id="row_9_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFriendicaSmartyEngine.html" target="_self">FriendicaSmartyEngine</a></td><td class="desc"></td></tr>
<tr id="row_9_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classTemplate.html" target="_self">Template</a></td><td class="desc"></td></tr>
@@ -141,10 +141,12 @@ $(document).ready(function(){initNavTree('hierarchy.html','');});
<tr id="row_13_"><td class="entry"><img id="arr_13_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('13_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__driver.html" target="_self">photo_driver</a></td><td class="desc"></td></tr>
<tr id="row_13_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__gd.html" target="_self">photo_gd</a></td><td class="desc"></td></tr>
<tr id="row_13_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__imagick.html" target="_self">photo_imagick</a></td><td class="desc"></td></tr>
-<tr id="row_14_" class="even"><td class="entry"><img id="arr_14_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('14_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classProtoDriver.html" target="_self">ProtoDriver</a></td><td class="desc"></td></tr>
-<tr id="row_14_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classZotDriver.html" target="_self">ZotDriver</a></td><td class="desc"></td></tr>
-<tr id="row_15_" class="even"><td class="entry"><img id="arr_15_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('15_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>Smarty</b></td><td class="desc"></td></tr>
-<tr id="row_15_0_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFriendicaSmarty.html" target="_self">FriendicaSmarty</a></td><td class="desc"></td></tr>
+<tr id="row_14_" class="even"><td class="entry"><img id="arr_14_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('14_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>Plugin</b></td><td class="desc"></td></tr>
+<tr id="row_14_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedBrowser.html" target="_self">RedBrowser</a></td><td class="desc"></td></tr>
+<tr id="row_15_" class="even"><td class="entry"><img id="arr_15_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('15_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classProtoDriver.html" target="_self">ProtoDriver</a></td><td class="desc"></td></tr>
+<tr id="row_15_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classZotDriver.html" target="_self">ZotDriver</a></td><td class="desc"></td></tr>
+<tr id="row_16_" class="even"><td class="entry"><img id="arr_16_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('16_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>Smarty</b></td><td class="desc"></td></tr>
+<tr id="row_16_0_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFriendicaSmarty.html" target="_self">FriendicaSmarty</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
diff --git a/doc/html/hierarchy.js b/doc/html/hierarchy.js
index dcf3e740e..6259fc750 100644
--- a/doc/html/hierarchy.js
+++ b/doc/html/hierarchy.js
@@ -20,8 +20,8 @@ var hierarchy =
[ "IFile", null, [
[ "RedFile", "classRedFile.html", null ]
] ],
- [ "INode", null, [
- [ "RedInode", "classRedInode.html", null ]
+ [ "IQuota", null, [
+ [ "RedDirectory", "classRedDirectory.html", null ]
] ],
[ "ITemplateEngine", "interfaceITemplateEngine.html", [
[ "FriendicaSmartyEngine", "classFriendicaSmartyEngine.html", null ],
@@ -41,6 +41,9 @@ var hierarchy =
[ "photo_gd", "classphoto__gd.html", null ],
[ "photo_imagick", "classphoto__imagick.html", null ]
] ],
+ [ "Plugin", null, [
+ [ "RedBrowser", "classRedBrowser.html", null ]
+ ] ],
[ "ProtoDriver", "classProtoDriver.html", [
[ "ZotDriver", "classZotDriver.html", null ]
] ],
diff --git a/doc/html/home_8php.html b/doc/html/home_8php.html
index 33376ec42..ec629b7c2 100644
--- a/doc/html/home_8php.html
+++ b/doc/html/home_8php.html
@@ -103,10 +103,53 @@ $(document).ready(function(){initNavTree('home_8php.html','');});
</div>
<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">home.php File Reference</div> </div>
</div><!--header-->
<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ac4642c38b6f23a8d065dd4a75c620bde"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ac4642c38b6f23a8d065dd4a75c620bde"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1cf697851a646755baf537f75334c46"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content</a> (&amp;$a)</td></tr>
+<tr class="separator:aa1cf697851a646755baf537f75334c46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa1cf697851a646755baf537f75334c46"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">home_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac4642c38b6f23a8d065dd4a75c620bde"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">home_init </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/home_8php.js b/doc/html/home_8php.js
new file mode 100644
index 000000000..e4f6d5dc9
--- /dev/null
+++ b/doc/html/home_8php.js
@@ -0,0 +1,5 @@
+var home_8php =
+[
+ [ "home_content", "home_8php.html#aa1cf697851a646755baf537f75334c46", null ],
+ [ "home_init", "home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde", null ]
+]; \ No newline at end of file
diff --git a/doc/html/identity_8php.html b/doc/html/identity_8php.html
index 6bd7cb296..93673bb26 100644
--- a/doc/html/identity_8php.html
+++ b/doc/html/identity_8php.html
@@ -116,8 +116,10 @@ Functions</h2></td></tr>
<tr class="separator:ac9fcd5c4c371998790b5c55c3d0f4633"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2802bc13a00a17b867bba7978ba8f58"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname</a> ($name)</td></tr>
<tr class="separator:af2802bc13a00a17b867bba7978ba8f58"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abf6a9c6ed92d594f1d4513c4e22a7abd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd">create_dir_account</a> ()</td></tr>
-<tr class="separator:abf6a9c6ed92d594f1d4513c4e22a7abd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cf83ac2b645de12868edaa3a5718f05"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel</a> ()</td></tr>
+<tr class="separator:a1cf83ac2b645de12868edaa3a5718f05"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaff86ee3b5984821e7a256c2da5f1a51"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51">get_sys_channel</a> ()</td></tr>
+<tr class="separator:aaff86ee3b5984821e7a256c2da5f1a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77d2237f1846964634b1c99089c27c7d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#a77d2237f1846964634b1c99089c27c7d">channel_total</a> ()</td></tr>
<tr class="separator:a77d2237f1846964634b1c99089c27c7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a345f4c943d84de502ec6e72d2c813945"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity</a> ($arr)</td></tr>
@@ -148,6 +150,12 @@ Functions</h2></td></tr>
<tr class="separator:a5b815330f3d177ab383af37a6c12e532"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaeb666872995e3ab8da8f7bc5f3b2bd3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid</a> ()</td></tr>
<tr class="separator:aaeb666872995e3ab8da8f7bc5f3b2bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1485a26b032956e1496fc08c58b83ed"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#ab1485a26b032956e1496fc08c58b83ed">get_default_profile_photo</a> ($size=175)</td></tr>
+<tr class="separator:ab1485a26b032956e1496fc08c58b83ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2b140df652a55ca11bb6a99005fce35"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#ae2b140df652a55ca11bb6a99005fce35">is_foreigner</a> ($s)</td></tr>
+<tr class="separator:ae2b140df652a55ca11bb6a99005fce35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9637c557e13d9671f3eeb124ab98212a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#a9637c557e13d9671f3eeb124ab98212a">is_member</a> ($s)</td></tr>
+<tr class="separator:a9637c557e13d9671f3eeb124ab98212a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="aa870d2c1f558cfd52bef05bc124e8fa4"></a>
@@ -187,23 +195,6 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="abf6a9c6ed92d594f1d4513c4e22a7abd"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">create_dir_account </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p><a class="el" href="identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd">create_dir_account()</a> Create a system channel - which has no account attached</p>
-<p>Currently unused. </p>
-
-</div>
-</div>
<a class="anchor" id="a345f4c943d84de502ec6e72d2c813945"></a>
<div class="memitem">
<div class="memproto">
@@ -226,7 +217,23 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>array 'success' =&gt; boolean true or false 'message' =&gt; optional error text if success is false 'channel' =&gt; if successful the created channel array </dd></dl>
-<p>Referenced by <a class="el" href="identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd">create_dir_account()</a>, and <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel()</a>, and <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1cf83ac2b645de12868edaa3a5718f05"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">create_sys_channel </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p><a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel()</a> Create a system channel - which has no account attached </p>
</div>
</div>
@@ -245,6 +252,32 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="ab1485a26b032956e1496fc08c58b83ed"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_default_profile_photo </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$size</em> = <code>175</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>get_default_profile_photo($size = 175) Retrieves the path of the default_profile_photo for this system with the specified size. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">int</td><td class="paramname">$size</td><td>one of (175, 80, 48) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
+<p>Referenced by <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, and <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="ae381db3d43f8e7c1da8b15d14ecf5312"></a>
<div class="memitem">
<div class="memproto">
@@ -294,6 +327,23 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="aaff86ee3b5984821e7a256c2da5f1a51"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_sys_channel </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="aaeb666872995e3ab8da8f7bc5f3b2bd3"></a>
<div class="memitem">
<div class="memproto">
@@ -361,6 +411,56 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="ae2b140df652a55ca11bb6a99005fce35"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">is_foreigner </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>is_foreigner($s) Test whether a given identity is NOT a member of the Red Matrix </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$s,;</td><td>xchan_hash of the identity in question</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>boolean true or false </dd></dl>
+
+<p>Referenced by <a class="el" href="identity_8php.html#a9637c557e13d9671f3eeb124ab98212a">is_member()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9637c557e13d9671f3eeb124ab98212a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">is_member </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>is_member($s) Test whether a given identity is a member of the Red Matrix </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$s,;</td><td>xchan_hash of the identity in question</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>boolean true or false </dd></dl>
+
+</div>
+</div>
<a class="anchor" id="ad4a2c8caca8f6ae93633ebeca0ed6620"></a>
<div class="memitem">
<div class="memproto">
@@ -385,8 +485,6 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel_aside()</a>, <a class="el" href="common_8php.html#a3b12ec67b3d3edcf595c8d195da5d14a">common_aside()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="hcard_8php.html#a956c7cae2009652a37900306e5b7b73d">hcard_aside()</a>, <a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost_aside()</a>, <a class="el" href="profile_8php.html#a1a2482b775476f2f64ea5e8f4fc3fd1e">profile_aside()</a>, <a class="el" href="profile__photo_8php.html#ac9cd968a767e2ae1b88383b6cdd6dbe3">profile_photo_aside()</a>, <a class="el" href="profiles_8php.html#a2a3ac90f51941ff78b85e9389304969c">profiles_aside()</a>, <a class="el" href="profperm_8php.html#a77fd398ae7c25142e1d9ad724ec347cc">profperm_aside()</a>, and <a class="el" href="viewconnections_8php.html#ae330cea4cddd091559659f8b469617b6">viewconnections_aside()</a>.</p>
-
</div>
</div>
<a class="anchor" id="a4751b522ea913d0e7ed43e03d22e9e68"></a>
@@ -432,7 +530,7 @@ Functions</h2></td></tr>
<p>The channel default theme is also selected for use, unless over-riden elsewhere. </p>
<p>load/reload current theme info</p>
-<p>Referenced by <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c">lastpost_init()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, and <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>.</p>
+<p>Referenced by <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, and <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>.</p>
</div>
</div>
@@ -470,7 +568,7 @@ Functions</h2></td></tr>
<p>: array $profile</p>
<p>Returns HTML string stuitable for sidebar inclusion Exceptions: Returns empty string if passed $profile is wrong type or not populated </p>
-<p>Referenced by <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, and <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, and <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>.</p>
</div>
</div>
@@ -579,7 +677,7 @@ Functions</h2></td></tr>
<dl class="section return"><dt>Returns</dt><dd>string</dd></dl>
<p>'zid' string url - url to accept zid string zid - urlencoded zid string result - the return string we calculated, change it if you want to return something else </p>
-<p>Referenced by <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a3ef8c0cf31f35f77462067de8712fa34">get_plink()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e">menu_render()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, and <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>.</p>
+<p>Referenced by <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e">menu_render()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322">tryzrlaudio()</a>, <a class="el" href="bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8">tryzrlvideo()</a>, and <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>.</p>
</div>
</div>
diff --git a/doc/html/identity_8php.js b/doc/html/identity_8php.js
index a7710c10f..873f46450 100644
--- a/doc/html/identity_8php.js
+++ b/doc/html/identity_8php.js
@@ -2,15 +2,19 @@ var identity_8php =
[
[ "advanced_profile", "identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4", null ],
[ "channel_total", "identity_8php.html#a77d2237f1846964634b1c99089c27c7d", null ],
- [ "create_dir_account", "identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd", null ],
[ "create_identity", "identity_8php.html#a345f4c943d84de502ec6e72d2c813945", null ],
+ [ "create_sys_channel", "identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05", null ],
[ "get_birthdays", "identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51", null ],
+ [ "get_default_profile_photo", "identity_8php.html#ab1485a26b032956e1496fc08c58b83ed", null ],
[ "get_events", "identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312", null ],
[ "get_my_address", "identity_8php.html#a490972c02fdb638c52ec0e012a30bfd2", null ],
[ "get_my_url", "identity_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec", null ],
+ [ "get_sys_channel", "identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51", null ],
[ "get_theme_uid", "identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3", null ],
[ "identity_basic_export", "identity_8php.html#a3570a4eb77332b292d394c4132cb8f03", null ],
[ "identity_check_service_class", "identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633", null ],
+ [ "is_foreigner", "identity_8php.html#ae2b140df652a55ca11bb6a99005fce35", null ],
+ [ "is_member", "identity_8php.html#a9637c557e13d9671f3eeb124ab98212a", null ],
[ "profile_create_sidebar", "identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620", null ],
[ "profile_load", "identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68", null ],
[ "profile_sidebar", "identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc", null ],
diff --git a/doc/html/include_2attach_8php.html b/doc/html/include_2attach_8php.html
index 1a69949ee..21215feb6 100644
--- a/doc/html/include_2attach_8php.html
+++ b/doc/html/include_2attach_8php.html
@@ -128,6 +128,14 @@ Functions</h2></td></tr>
<tr class="separator:aeb07968990e66a88c95483ca09a7f909"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6830b3ab74a5d284876141ac80f6cbc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir</a> ($channel, $observer_hash, $arr=null)</td></tr>
<tr class="separator:ab6830b3ab74a5d284876141ac80f6cbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c0875eafb8c0f8a0620ff7a875a2221"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach_change_permissions</a> ($channel_id, $resource, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse=false)</td></tr>
+<tr class="separator:a5c0875eafb8c0f8a0620ff7a875a2221"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a70bd666e080c2af5a91f5d14c297b8cd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete</a> ($channel_id, $resource)</td></tr>
+<tr class="separator:a70bd666e080c2af5a91f5d14c297b8cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6aa00ea010ea030110faefb75eafc1ce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">get_cloudpath</a> ($arr)</td></tr>
+<tr class="separator:a6aa00ea010ea030110faefb75eafc1ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d484de2d19a93071571d6499a50ae34"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a5d484de2d19a93071571d6499a50ae34">pipe_streams</a> ($in, $out)</td></tr>
+<tr class="separator:a5d484de2d19a93071571d6499a50ae34"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a0d07c5b83d3d54e186f752e571847b36"></a>
@@ -186,6 +194,64 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a5c0875eafb8c0f8a0620ff7a875a2221"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">attach_change_permissions </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$resource</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$allow_cid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$allow_gid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$deny_cid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$deny_gid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$recurse</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a887d2d44a3ef18dcb6624e7fb58dc8e3"></a>
<div class="memitem">
<div class="memproto">
@@ -230,6 +296,34 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a70bd666e080c2af5a91f5d14c297b8cd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">attach_delete </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$resource</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">RedDirectory\createFile()</a>, <a class="el" href="classRedFile.html#aef71c9eaac7052be7dc8602eb12171e7">RedFile\delete()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, and <a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">RedFile\put()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a3634af95f11a023dd8e882c3c7a3600d"></a>
<div class="memitem">
<div class="memproto">
@@ -334,6 +428,8 @@ Functions</h2></td></tr>
<p>Required: $arr['filename'] $arr['folder'] // hash of parent directory, empty string for root directory</p>
<p>Optional: $arr['hash'] // precumputed hash for this node $arr['allow_cid'] $arr['allow_gid'] $arr['deny_cid'] $arr['deny_gid'] </p>
+<p>Referenced by <a class="el" href="classRedDirectory.html#a986936910f0216887a25e28916c166c7">RedDirectory\createDirectory()</a>.</p>
+
</div>
</div>
<a class="anchor" id="a84a8a64c4805e1525b42d4add464833f"></a>
@@ -376,6 +472,52 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a6aa00ea010ea030110faefb75eafc1ce"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_cloudpath </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5d484de2d19a93071571d6499a50ae34"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pipe_streams </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$in</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$out</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a6fdd92775f31c07d2863e16e0026018a"></a>
<div class="memitem">
<div class="memproto">
@@ -390,7 +532,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>.</p>
+<p>Referenced by <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, and <a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">RedDirectory\createFile()</a>.</p>
</div>
</div>
diff --git a/doc/html/include_2attach_8php.js b/doc/html/include_2attach_8php.js
index af10aa06f..8f134c5ae 100644
--- a/doc/html/include_2attach_8php.js
+++ b/doc/html/include_2attach_8php.js
@@ -2,10 +2,14 @@ var include_2attach_8php =
[
[ "attach_by_hash", "include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36", null ],
[ "attach_by_hash_nodata", "include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932", null ],
+ [ "attach_change_permissions", "include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221", null ],
[ "attach_count_files", "include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3", null ],
+ [ "attach_delete", "include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd", null ],
[ "attach_list_files", "include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d", null ],
[ "attach_mkdir", "include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc", null ],
[ "attach_store", "include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f", null ],
+ [ "get_cloudpath", "include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce", null ],
+ [ "pipe_streams", "include_2attach_8php.html#a5d484de2d19a93071571d6499a50ae34", null ],
[ "z_mime_content_type", "include_2attach_8php.html#a6fdd92775f31c07d2863e16e0026018a", null ],
[ "z_readdir", "include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909", null ]
]; \ No newline at end of file
diff --git a/doc/html/include_2config_8php.html b/doc/html/include_2config_8php.html
index bb9e9d40f..c7cafcc36 100644
--- a/doc/html/include_2config_8php.html
+++ b/doc/html/include_2config_8php.html
@@ -256,7 +256,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694">allowed_email()</a>, <a class="el" href="include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7">allowed_url()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">check_account_admin()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>, <a class="el" href="cloud_8php.html#a080071b784fe01d04ed6c09d9f2785b8">cloud_init()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="mod_2directory_8php.html#aa1d928543212871491706216742dd73c">directory_aside()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger()</a>, <a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d">find_upstream_directory()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90">get_max_import_size()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00">photo_gd\imageString()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">photo_imagick\load()</a>, <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a">new_keypair()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2">oembed_bbcode2html()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="qsearch_8php.html#a0501887b95bd8fa21018b2936a668894">qsearch_init()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a09cd81013505f83aea0771243a1e4e53">theme_admin()</a>, <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040">upgrade_link()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb">valid_email()</a>, <a class="el" href="include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02">validate_email()</a>, <a class="el" href="viewconnections_8php.html#ae330cea4cddd091559659f8b469617b6">viewconnections_aside()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694">allowed_email()</a>, <a class="el" href="include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7">allowed_url()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">check_account_admin()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">RedDirectory\createFile()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger()</a>, <a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d">find_upstream_directory()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ab1485a26b032956e1496fc08c58b83ed">get_default_profile_photo()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90">get_max_import_size()</a>, <a class="el" href="classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569">RedDirectory\getChild()</a>, <a class="el" href="classRedDirectory.html#aa42d3065f6f065b17db87146a7cb031a">RedDirectory\getChildren()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00">photo_gd\imageString()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">photo_imagick\load()</a>, <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a">new_keypair()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2">oembed_bbcode2html()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">RedFile\put()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a09cd81013505f83aea0771243a1e4e53">theme_admin()</a>, <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040">upgrade_link()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb">valid_email()</a>, <a class="el" href="include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02">validate_email()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -324,7 +324,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09">Conversation\__construct()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel_aside()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost_aside()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+<p>Referenced by <a class="el" href="classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09">Conversation\__construct()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, and <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>.</p>
</div>
</div>
@@ -468,7 +468,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, and <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#aef2da5582b7cb6b5f63e5ca5d69fd30b">theme_admin_post()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#aef2da5582b7cb6b5f63e5ca5d69fd30b">theme_admin_post()</a>, and <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>.</p>
</div>
</div>
@@ -508,7 +508,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, and <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">theme_post()</a>.</p>
+<p>Referenced by <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, and <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">theme_post()</a>.</p>
</div>
</div>
diff --git a/doc/html/include_2group_8php.html b/doc/html/include_2group_8php.html
index 21bff3376..84fc3442a 100644
--- a/doc/html/include_2group_8php.html
+++ b/doc/html/include_2group_8php.html
@@ -128,8 +128,8 @@ Functions</h2></td></tr>
<tr class="separator:a5bd191d9692e6c34d48c0ede10810f09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0e422a0f31c0c64fd9084ca03d85f32"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select</a> ($uid, $group= '')</td></tr>
<tr class="separator:ab0e422a0f31c0c64fd9084ca03d85f32"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1042d74055bafe54a6a30103d87a7f17"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17">group_side</a> ($every=&quot;contacts&quot;, $each=&quot;group&quot;, $edit=false, $group_id=0, $cid= '')</td></tr>
-<tr class="separator:a1042d74055bafe54a6a30103d87a7f17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a69bd7be032fa8ce4e49c43a42cc6e9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side</a> ($every=&quot;connections&quot;, $each=&quot;group&quot;, $edit=false, $group_id=0, $cid= '', $mode=1)</td></tr>
+<tr class="separator:a6a69bd7be032fa8ce4e49c43a42cc6e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22a81875259c7d3d64d4848afea6b345"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups</a> ($a)</td></tr>
<tr class="separator:a22a81875259c7d3d64d4848afea6b345"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a048f6892bfd28852de1b76470df411de"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#a048f6892bfd28852de1b76470df411de">member_of</a> ($c)</td></tr>
@@ -226,7 +226,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, and <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>.</p>
+<p>Referenced by <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, and <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>.</p>
</div>
</div>
@@ -254,7 +254,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, and <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>.</p>
+<p>Referenced by <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, and <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>.</p>
</div>
</div>
@@ -300,7 +300,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>.</p>
+<p>Referenced by <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>.</p>
</div>
</div>
@@ -366,7 +366,7 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a1042d74055bafe54a6a30103d87a7f17"></a>
+<a class="anchor" id="a6a69bd7be032fa8ce4e49c43a42cc6e9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -374,7 +374,7 @@ Functions</h2></td></tr>
<td class="memname">group_side </td>
<td>(</td>
<td class="paramtype">&#160;</td>
- <td class="paramname"><em>$every</em> = <code>&quot;contacts&quot;</code>, </td>
+ <td class="paramname"><em>$every</em> = <code>&quot;connections&quot;</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -398,7 +398,13 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
- <td class="paramname"><em>$cid</em> = <code>''</code>&#160;</td>
+ <td class="paramname"><em>$cid</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$mode</em> = <code>1</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -408,7 +414,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#af48f7ad20914760ba9874c090384e35a">connections_aside()</a>, <a class="el" href="mod_2group_8php.html#aeb0784dd928e53e6d8693513bec8928c">group_aside()</a>, and <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>.</p>
+<p>Referenced by <a class="el" href="widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f">widget_collections()</a>.</p>
</div>
</div>
@@ -436,7 +442,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17">group_side()</a>.</p>
+<p>Referenced by <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>.</p>
</div>
</div>
diff --git a/doc/html/include_2group_8php.js b/doc/html/include_2group_8php.js
index ef82dca8f..d9a775ade 100644
--- a/doc/html/include_2group_8php.js
+++ b/doc/html/include_2group_8php.js
@@ -8,7 +8,7 @@ var include_2group_8php =
[ "group_rec_byhash", "include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245", null ],
[ "group_rmv", "include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5", null ],
[ "group_rmv_member", "include_2group_8php.html#a540e3ef36f47d47532646be4241f6518", null ],
- [ "group_side", "include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17", null ],
+ [ "group_side", "include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9", null ],
[ "groups_containing", "include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f", null ],
[ "member_of", "include_2group_8php.html#a048f6892bfd28852de1b76470df411de", null ],
[ "mini_group_select", "include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32", null ]
diff --git a/doc/html/include_2menu_8php.html b/doc/html/include_2menu_8php.html
index 75adcc316..baf3b92f7 100644
--- a/doc/html/include_2menu_8php.html
+++ b/doc/html/include_2menu_8php.html
@@ -114,6 +114,8 @@ $(document).ready(function(){initNavTree('include_2menu_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a68ebbf492470c930f652013656f9071d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch</a> ($name, $uid, $observer_xchan)</td></tr>
<tr class="separator:a68ebbf492470c930f652013656f9071d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7fb5f4847bc94436e43be4b81478febc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2menu_8php.html#a7fb5f4847bc94436e43be4b81478febc">bookmarks_menu_fetch</a> ($uid, $observer_xchan, $flags=<a class="el" href="boot_8php.html#a458e19af801bc4b0d1f1ce1a6d9e857e">MENU_BOOKMARK</a>)</td></tr>
+<tr class="separator:a7fb5f4847bc94436e43be4b81478febc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a890cc6237971e15f15702e6b2e88502e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e">menu_render</a> ($menu)</td></tr>
<tr class="separator:a890cc6237971e15f15702e6b2e88502e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47447c01ba8ea04cd74af1d4c5b68fc7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7">menu_fetch_id</a> ($menu_id, $channel_id)</td></tr>
@@ -136,6 +138,38 @@ Functions</h2></td></tr>
<tr class="separator:a9aa8e0052dd47c1a93f53a983bd4620a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a7fb5f4847bc94436e43be4b81478febc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bookmarks_menu_fetch </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$observer_xchan</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$flags</em> = <code><a class="el" href="boot_8php.html#a458e19af801bc4b0d1f1ce1a6d9e857e">MENU_BOOKMARK</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="add35fae5e9695031b3d46e30ac409eb8"></a>
<div class="memitem">
<div class="memproto">
@@ -422,7 +456,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b">comanche_menu()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, and <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>.</p>
+<p>Referenced by <a class="el" href="comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b">comanche_menu()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, and <a class="el" href="widgets_8php.html#a3bdfb81bf9a8ddf219924fa7eaf22013">widget_menu_preview()</a>.</p>
</div>
</div>
diff --git a/doc/html/include_2menu_8php.js b/doc/html/include_2menu_8php.js
index b5ace532a..2f2bb4b73 100644
--- a/doc/html/include_2menu_8php.js
+++ b/doc/html/include_2menu_8php.js
@@ -1,5 +1,6 @@
var include_2menu_8php =
[
+ [ "bookmarks_menu_fetch", "include_2menu_8php.html#a7fb5f4847bc94436e43be4b81478febc", null ],
[ "menu_add_item", "include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8", null ],
[ "menu_create", "include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98", null ],
[ "menu_del_item", "include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a", null ],
diff --git a/doc/html/include_2message_8php.html b/doc/html/include_2message_8php.html
index d66e4bfa1..feacd5b3a 100644
--- a/doc/html/include_2message_8php.html
+++ b/doc/html/include_2message_8php.html
@@ -154,7 +154,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>.</p>
+<p>Referenced by <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, and <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>.</p>
</div>
</div>
@@ -188,7 +188,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>.</p>
+<p>Referenced by <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>.</p>
</div>
</div>
@@ -260,7 +260,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>.</p>
+<p>Referenced by <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>.</p>
</div>
</div>
@@ -313,7 +313,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<p>When a photo was uploaded into the message using the (profile wall) ajax uploader, The permissions are initially set to disallow anybody but the owner from seeing it. This is because the permissions may not yet have been set for the post. If it's private, the photo permissions should be set appropriately. But we didn't know the final permissions on the post until now. So now we'll look for links of uploaded messages that are in the post and set them to the same permissions as the post itself.</p>
-<p>Referenced by <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, and <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, and <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>.</p>
</div>
</div>
diff --git a/doc/html/include_2network_8php.html b/doc/html/include_2network_8php.html
index 5f9f69ea0..337fc9051 100644
--- a/doc/html/include_2network_8php.html
+++ b/doc/html/include_2network_8php.html
@@ -367,7 +367,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>(does not return, process is terminated) </dd></dl>
-<p>Referenced by <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, and <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>.</p>
+<p>Referenced by <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud_init()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, and <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>.</p>
</div>
</div>
@@ -385,7 +385,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18">api_albums()</a>, <a class="el" href="include_2api_8php.html#a72bfecac1970bc29b853073e816388ff">api_channel_stream()</a>, <a class="el" href="include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53">api_export_basic()</a>, <a class="el" href="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api_photos()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18">api_albums()</a>, <a class="el" href="include_2api_8php.html#a72bfecac1970bc29b853073e816388ff">api_channel_stream()</a>, <a class="el" href="include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53">api_export_basic()</a>, <a class="el" href="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api_photos()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -413,7 +413,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, and <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>.</p>
</div>
</div>
@@ -651,7 +651,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>array 'return_code' =&gt; HTTP return code or 0 if timeout or failure 'success' =&gt; boolean true (if HTTP 2xx result) or false 'header' =&gt; HTTP headers 'body' =&gt; fetched content </dd></dl>
-<p>Referenced by <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="parse__url_8php.html#a25635549f2c22955d72465f4d2e58993">parseurl_getsiteinfo()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
+<p>Referenced by <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="parse__url_8php.html#a25635549f2c22955d72465f4d2e58993">parseurl_getsiteinfo()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
</div>
</div>
diff --git a/doc/html/include_2photos_8php.html b/doc/html/include_2photos_8php.html
index 677c57517..2e9d67da2 100644
--- a/doc/html/include_2photos_8php.html
+++ b/doc/html/include_2photos_8php.html
@@ -292,7 +292,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>.</p>
+<p>Referenced by <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>.</p>
</div>
</div>
@@ -320,7 +320,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18">api_albums()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, and <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18">api_albums()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, and <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>.</p>
</div>
</div>
diff --git a/doc/html/item_8php.html b/doc/html/item_8php.html
index 17307d39a..87ae6f190 100644
--- a/doc/html/item_8php.html
+++ b/doc/html/item_8php.html
@@ -116,8 +116,8 @@ Functions</h2></td></tr>
<tr class="separator:a693cd09805755ab85bbb5ecae69a48c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a764bbb2e9a885a86fb23d0b5e4a09221"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content</a> (&amp;$a)</td></tr>
<tr class="separator:a764bbb2e9a885a86fb23d0b5e4a09221"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd0e603a6696051af16476eb968d52e7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="item_8php.html#abd0e603a6696051af16476eb968d52e7">handle_tag</a> ($a, &amp;$body, &amp;$inform, &amp;$str_tags, $profile_uid, $tag)</td></tr>
-<tr class="separator:abd0e603a6696051af16476eb968d52e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa22feef4de326e1d7078dedd892e615c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag</a> ($a, &amp;$body, &amp;$access_tag, &amp;$str_tags, $profile_uid, $tag)</td></tr>
+<tr class="separator:aa22feef4de326e1d7078dedd892e615c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b63a9d0cd02096e17dcf11f4afa7c10"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions</a> ($uid, $xchan_hash, $body, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny)</td></tr>
<tr class="separator:a7b63a9d0cd02096e17dcf11f4afa7c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3daae7944f737bd30412a0d042207c0f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="item_8php.html#a3daae7944f737bd30412a0d042207c0f">fix_attached_file_permissions</a> ($channel, $observer_hash, $body, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny)</td></tr>
@@ -242,7 +242,7 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="abd0e603a6696051af16476eb968d52e7"></a>
+<a class="anchor" id="aa22feef4de326e1d7078dedd892e615c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -262,7 +262,7 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$inform</em>, </td>
+ <td class="paramname"><em>$access_tag</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -293,7 +293,7 @@ Functions</h2></td></tr>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">unknown_type</td><td class="paramname">$body</td><td>the text to replace the tag in </td></tr>
- <tr><td class="paramtype">unknown_type</td><td class="paramname">$inform</td><td>a comma-seperated string containing everybody to inform </td></tr>
+ <tr><td class="paramtype">unknown_type</td><td class="paramname">$access_tag</td><td>- used to return tag ACL exclusions e.g. @!foo </td></tr>
<tr><td class="paramtype">unknown_type</td><td class="paramname">$str_tags</td><td>string to add the tag to </td></tr>
<tr><td class="paramtype">unknown_type</td><td class="paramname">$profile_uid</td><td></td></tr>
<tr><td class="paramtype">unknown_type</td><td class="paramname">$tag</td><td>the tag to replace</td></tr>
@@ -302,7 +302,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>boolean true if replaced, false if not replaced </dd></dl>
-<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>.</p>
+<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>.</p>
</div>
</div>
diff --git a/doc/html/item_8php.js b/doc/html/item_8php.js
index 07e890b13..6fe342a64 100644
--- a/doc/html/item_8php.js
+++ b/doc/html/item_8php.js
@@ -2,7 +2,7 @@ var item_8php =
[
[ "fix_attached_file_permissions", "item_8php.html#a3daae7944f737bd30412a0d042207c0f", null ],
[ "fix_attached_photo_permissions", "item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10", null ],
- [ "handle_tag", "item_8php.html#abd0e603a6696051af16476eb968d52e7", null ],
+ [ "handle_tag", "item_8php.html#aa22feef4de326e1d7078dedd892e615c", null ],
[ "item_check_service_class", "item_8php.html#a5b1b36cb301a94b38150074f0d424e74", null ],
[ "item_content", "item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221", null ],
[ "item_post", "item_8php.html#a693cd09805755ab85bbb5ecae69a48c3", null ]
diff --git a/doc/html/items_8php.html b/doc/html/items_8php.html
index cdb6587c5..1cba27d43 100644
--- a/doc/html/items_8php.html
+++ b/doc/html/items_8php.html
@@ -220,6 +220,8 @@ Functions</h2></td></tr>
<tr class="separator:a004e89d86b0f29b2c4da20108ecc4091"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a756738301f2ed96be50232500677d58a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch</a> ($arr, $channel=null, $observer_hash=null, $client_mode=<a class="el" href="boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731">CLIENT_MODE_NORMAL</a>, $module= 'network')</td></tr>
<tr class="separator:a756738301f2ed96be50232500677d58a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2baa9e05f1e8aa3dd61c85803ae39bd6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id</a> ($channel, $post_id, $webpage, $pagetitle, $namespace, $remote_id, $mid)</td></tr>
+<tr class="separator:a2baa9e05f1e8aa3dd61c85803ae39bd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a36e656667193c83aa2cc03a024fc131b"></a>
@@ -830,7 +832,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
</div>
</div>
@@ -1193,7 +1195,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, and <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>.</p>
+<p>Referenced by <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, and <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>.</p>
</div>
</div>
@@ -1221,7 +1223,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item()</a>.</p>
+<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item()</a>.</p>
</div>
</div>
@@ -1382,8 +1384,6 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel_aside()</a>, <a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost_aside()</a>, and <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>.</p>
-
</div>
</div>
<a class="anchor" id="ad2abb4644ff1f20fefbc80326fe01cf0"></a>
@@ -1410,7 +1410,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>, and <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>.</p>
</div>
</div>
@@ -1483,7 +1483,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, and <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>.</p>
+<p>Referenced by <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, and <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>.</p>
</div>
</div>
@@ -1561,6 +1561,64 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a2baa9e05f1e8aa3dd61c85803ae39bd6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">update_remote_id </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$post_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$webpage</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pagetitle</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$namespace</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$remote_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$mid</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a004e89d86b0f29b2c4da20108ecc4091"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/items_8php.js b/doc/html/items_8php.js
index 9a224b548..1ea725f92 100644
--- a/doc/html/items_8php.js
+++ b/doc/html/items_8php.js
@@ -53,5 +53,6 @@ var items_8php =
[ "termtype", "items_8php.html#ad34827ed330898456783fb14c7b46154", null ],
[ "tgroup_check", "items_8php.html#a88c6cf7649ac836fbbed82a7a0315110", null ],
[ "title_is_body", "items_8php.html#aa371905f0a211b307cb3f7188c6cba04", null ],
+ [ "update_remote_id", "items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6", null ],
[ "zot_feed", "items_8php.html#a004e89d86b0f29b2c4da20108ecc4091", null ]
]; \ No newline at end of file
diff --git a/doc/html/language_8php.html b/doc/html/language_8php.html
index ed8674731..c9615c7f0 100644
--- a/doc/html/language_8php.html
+++ b/doc/html/language_8php.html
@@ -280,7 +280,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">blogtheme_form()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a20f8b9851f23ee8894b8925584ef6821">check_form_security_std_err_msg()</a>, <a class="el" href="setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e">check_funcs()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f">check_htconfig()</a>, <a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">check_keys()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="setup_8php.html#afd8b0b3ade1507c45325caf377bf459d">check_smarty3()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f">contact_poll_interval()</a>, <a class="el" href="contact__selectors_8php.html#ae499960d6467bd30c78607b1018baf53">contact_reputation()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="crepair_8php.html#a29464c01838e209c8059cfcd2d195caa">crepair_content()</a>, <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post()</a>, <a class="el" href="datetime_8php.html#a5f29553799005b1fd4e9ce9d98ce05aa">datesel_format()</a>, <a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">day_translate()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774">dir_sort_links()</a>, <a class="el" href="taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1">dir_tagblock()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="contact__widgets_8php.html#af24e693532a045954caab515942cfc6f">follow_widget()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355">gender_selector()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">get_features()</a>, <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="text_8php.html#a3ef8c0cf31f35f77462067de8712fa34">get_plink()</a>, <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">get_poke_verbs()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17">group_side()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity_check_service_class()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">dba_driver\install()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e">item_post_type()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c">lastpost_init()</a>, <a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">layout_select()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="setup_8php.html#abe405d227ba7232971964a706d4f3bce">manual_config()</a>, <a class="el" href="profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798">marital_selector()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#af4ba72486117cc24335fd8e92a2112a7">message_aside()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs()</a>, <a class="el" href="include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2">oembed_bbcode2html()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">paginate()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="acl__selectors_8php.html#a7b5446e999636ceceea65c154d865a31">populate_acl()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">saved_searches()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="search_8php.html#aa911f7c7f0cdb0284e35d0ed610f19c6">search_saved_searches()</a>, <a class="el" href="datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f">select_timezone()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings_aside()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7">sexpref_selector()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2">tagblock()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865">timezone_cmp()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1">update_community_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d">upgrade_bool_message()</a>, <a class="el" href="plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040">upgrade_link()</a>, <a class="el" href="plugin_8php.html#a901657dd078e070516cf97285e0bada7">upgrade_message()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">writepages_widget()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">blogtheme_form()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a20f8b9851f23ee8894b8925584ef6821">check_form_security_std_err_msg()</a>, <a class="el" href="setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e">check_funcs()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f">check_htconfig()</a>, <a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">check_keys()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="setup_8php.html#afd8b0b3ade1507c45325caf377bf459d">check_smarty3()</a>, <a class="el" href="setup_8php.html#ab4b71369a25021d59247c917e98d8246">check_store()</a>, <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud_init()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f">contact_poll_interval()</a>, <a class="el" href="contact__selectors_8php.html#ae499960d6467bd30c78607b1018baf53">contact_reputation()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="datetime_8php.html#a5f29553799005b1fd4e9ce9d98ce05aa">datesel_format()</a>, <a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">day_translate()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774">dir_sort_links()</a>, <a class="el" href="taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1">dir_tagblock()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355">gender_selector()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">get_features()</a>, <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink()</a>, <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">get_poke_verbs()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="classRedBrowser.html#a7f6bf0bda07833f4c647557bd172e349">RedBrowser\htmlActionsPanel()</a>, <a class="el" href="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity_check_service_class()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">dba_driver\install()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e">item_post_type()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">layout_select()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="setup_8php.html#abe405d227ba7232971964a706d4f3bce">manual_config()</a>, <a class="el" href="profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798">marital_selector()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs()</a>, <a class="el" href="include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2">oembed_bbcode2html()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">paginate()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="acl__selectors_8php.html#a7b5446e999636ceceea65c154d865a31">populate_acl()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f">select_timezone()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7">sexpref_selector()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2">tagblock()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865">timezone_cmp()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1">update_community_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d">upgrade_bool_message()</a>, <a class="el" href="plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040">upgrade_link()</a>, <a class="el" href="plugin_8php.html#a901657dd078e070516cf97285e0bada7">upgrade_message()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">writepages_widget()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
diff --git a/doc/html/mail_8php.html b/doc/html/mail_8php.html
new file mode 100644
index 000000000..830975bf1
--- /dev/null
+++ b/doc/html/mail_8php.html
@@ -0,0 +1,155 @@
+<!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 Red Matrix: mod/mail.php File 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 Red Matrix
+ </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><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><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="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#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('mail_8php.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="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">mail.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:acfc2cc0bf4e0b178207758384977f25a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post</a> (&amp;$a)</td></tr>
+<tr class="separator:acfc2cc0bf4e0b178207758384977f25a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c7c485fc69f92371e8b20936040eca1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a3c7c485fc69f92371e8b20936040eca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a3c7c485fc69f92371e8b20936040eca1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">mail_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acfc2cc0bf4e0b178207758384977f25a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">mail_post </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/mail_8php.js b/doc/html/mail_8php.js
new file mode 100644
index 000000000..8c79edcb0
--- /dev/null
+++ b/doc/html/mail_8php.js
@@ -0,0 +1,5 @@
+var mail_8php =
+[
+ [ "mail_content", "mail_8php.html#a3c7c485fc69f92371e8b20936040eca1", null ],
+ [ "mail_post", "mail_8php.html#acfc2cc0bf4e0b178207758384977f25a", null ]
+]; \ No newline at end of file
diff --git a/doc/html/minimalisticdarkness_8php.html b/doc/html/minimalisticdarkness_8php.html
index 2c40df315..392bf74a8 100644
--- a/doc/html/minimalisticdarkness_8php.html
+++ b/doc/html/minimalisticdarkness_8php.html
@@ -206,7 +206,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+<p>Referenced by <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
</div>
</div>
diff --git a/doc/html/mod_2directory_8php.html b/doc/html/mod_2directory_8php.html
index be5007e01..cca2ed279 100644
--- a/doc/html/mod_2directory_8php.html
+++ b/doc/html/mod_2directory_8php.html
@@ -114,28 +114,10 @@ $(document).ready(function(){initNavTree('mod_2directory_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a5ee59c213508b6b9787612a8219cb5bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf">directory_init</a> (&amp;$a)</td></tr>
<tr class="separator:a5ee59c213508b6b9787612a8219cb5bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa1d928543212871491706216742dd73c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2directory_8php.html#aa1d928543212871491706216742dd73c">directory_aside</a> (&amp;$a)</td></tr>
-<tr class="separator:aa1d928543212871491706216742dd73c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac79396570d759da2efac24fcedf5b44"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content</a> (&amp;$a)</td></tr>
<tr class="separator:aac79396570d759da2efac24fcedf5b44"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="aa1d928543212871491706216742dd73c"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">directory_aside </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="aac79396570d759da2efac24fcedf5b44"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/mod_2directory_8php.js b/doc/html/mod_2directory_8php.js
index 9628750ce..783c03a81 100644
--- a/doc/html/mod_2directory_8php.js
+++ b/doc/html/mod_2directory_8php.js
@@ -1,6 +1,5 @@
var mod_2directory_8php =
[
- [ "directory_aside", "mod_2directory_8php.html#aa1d928543212871491706216742dd73c", null ],
[ "directory_content", "mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44", null ],
[ "directory_init", "mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf", null ]
]; \ No newline at end of file
diff --git a/doc/html/mod_2group_8php.html b/doc/html/mod_2group_8php.html
index 7b1c8a85d..e2e9f1fe1 100644
--- a/doc/html/mod_2group_8php.html
+++ b/doc/html/mod_2group_8php.html
@@ -112,30 +112,12 @@ $(document).ready(function(){initNavTree('mod_2group_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
-<tr class="memitem:aeb0784dd928e53e6d8693513bec8928c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2group_8php.html#aeb0784dd928e53e6d8693513bec8928c">group_aside</a> (&amp;$a)</td></tr>
-<tr class="separator:aeb0784dd928e53e6d8693513bec8928c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed1f009b1221348021bb34761160ef35"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post</a> (&amp;$a)</td></tr>
<tr class="separator:aed1f009b1221348021bb34761160ef35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07a64f6c65b0080d8190b3d9728a7a83"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content</a> (&amp;$a)</td></tr>
<tr class="separator:a07a64f6c65b0080d8190b3d9728a7a83"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="aeb0784dd928e53e6d8693513bec8928c"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">group_aside </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="a07a64f6c65b0080d8190b3d9728a7a83"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/mod_2group_8php.js b/doc/html/mod_2group_8php.js
index 361f32a48..4484dd52d 100644
--- a/doc/html/mod_2group_8php.js
+++ b/doc/html/mod_2group_8php.js
@@ -1,6 +1,5 @@
var mod_2group_8php =
[
- [ "group_aside", "mod_2group_8php.html#aeb0784dd928e53e6d8693513bec8928c", null ],
[ "group_content", "mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83", null ],
[ "group_post", "mod_2group_8php.html#aed1f009b1221348021bb34761160ef35", null ]
]; \ No newline at end of file
diff --git a/doc/html/mod_2message_8php.html b/doc/html/mod_2message_8php.html
index 4fddb1d45..459ddb125 100644
--- a/doc/html/mod_2message_8php.html
+++ b/doc/html/mod_2message_8php.html
@@ -112,53 +112,16 @@ $(document).ready(function(){initNavTree('mod_2message_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
-<tr class="memitem:af4ba72486117cc24335fd8e92a2112a7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2message_8php.html#af4ba72486117cc24335fd8e92a2112a7">message_aside</a> (&amp;$a)</td></tr>
-<tr class="separator:af4ba72486117cc24335fd8e92a2112a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0db7030362a7e9ed9549b341d7b35718"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post</a> (&amp;$a)</td></tr>
-<tr class="separator:a0db7030362a7e9ed9549b341d7b35718"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3547ed86d09a4bb8fa64ec374a40ee79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a>(!function_exists('<a class="el" href="conversation_8php.html#a0ee05f15255fb1cc3d89f30bc378a654">item_extract_images</a>')) <br class="typebreak"/>
-<a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a>(!function_exists('<a class="el" href="conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533">item_redir_and_replace_images</a>'))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content</a> (&amp;$a)</td></tr>
-<tr class="separator:a3547ed86d09a4bb8fa64ec374a40ee79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac72dfed3ce08fcb331d66b37edc6e15f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content</a> (&amp;$a)</td></tr>
+<tr class="separator:ac72dfed3ce08fcb331d66b37edc6e15f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="af4ba72486117cc24335fd8e92a2112a7"></a>
+<a class="anchor" id="ac72dfed3ce08fcb331d66b37edc6e15f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">message_aside </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3547ed86d09a4bb8fa64ec374a40ee79"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a> (!function_exists('<a class="el" href="conversation_8php.html#a0ee05f15255fb1cc3d89f30bc378a654">item_extract_images</a>')) <a class="el" href="redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a">if</a> (!function_exists('<a class="el" href="conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533">item_redir_and_replace_images</a>')) message_content </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0db7030362a7e9ed9549b341d7b35718"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">message_post </td>
+ <td class="memname">message_content </td>
<td>(</td>
<td class="paramtype">&amp;&#160;</td>
<td class="paramname"><em>$a</em></td><td>)</td>
diff --git a/doc/html/mod_2message_8php.js b/doc/html/mod_2message_8php.js
index 10f9423f9..4be200bf0 100644
--- a/doc/html/mod_2message_8php.js
+++ b/doc/html/mod_2message_8php.js
@@ -1,6 +1,4 @@
var mod_2message_8php =
[
- [ "message_aside", "mod_2message_8php.html#af4ba72486117cc24335fd8e92a2112a7", null ],
- [ "message_content", "mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79", null ],
- [ "message_post", "mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718", null ]
+ [ "message_content", "mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f", null ]
]; \ No newline at end of file
diff --git a/doc/html/mod_2network_8php.html b/doc/html/mod_2network_8php.html
index fa143845a..16de4ad96 100644
--- a/doc/html/mod_2network_8php.html
+++ b/doc/html/mod_2network_8php.html
@@ -114,8 +114,6 @@ $(document).ready(function(){initNavTree('mod_2network_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a180fce90ad11d7e0e45be094da7149ec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init</a> (&amp;$a)</td></tr>
<tr class="separator:a180fce90ad11d7e0e45be094da7149ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a36e03af6f2efe62ecaa247509365bfad"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">saved_searches</a> ($<a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search</a>)</td></tr>
-<tr class="separator:a36e03af6f2efe62ecaa247509365bfad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43f2f29b90c5e29072c561934bc8f8b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content</a> (&amp;$a, $update=0, $load=false)</td></tr>
<tr class="separator:a43f2f29b90c5e29072c561934bc8f8b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -170,24 +168,6 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a36e03af6f2efe62ecaa247509365bfad"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">saved_searches </td>
- <td>(</td>
- <td class="paramtype">&#160;</td>
- <td class="paramname"><em>$search</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Referenced by <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>.</p>
-
-</div>
-</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/mod_2network_8php.js b/doc/html/mod_2network_8php.js
index f076a234a..651e6f6bd 100644
--- a/doc/html/mod_2network_8php.js
+++ b/doc/html/mod_2network_8php.js
@@ -1,6 +1,5 @@
var mod_2network_8php =
[
[ "network_content", "mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4", null ],
- [ "network_init", "mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec", null ],
- [ "saved_searches", "mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad", null ]
+ [ "network_init", "mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec", null ]
]; \ No newline at end of file
diff --git a/doc/html/nav_8php.html b/doc/html/nav_8php.html
index c63c5e7ca..c00d5ce4c 100644
--- a/doc/html/nav_8php.html
+++ b/doc/html/nav_8php.html
@@ -158,7 +158,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, and <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, and <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>.</p>
</div>
</div>
diff --git a/doc/html/navtree.js b/doc/html/navtree.js
index 4557e049a..3eb466368 100644
--- a/doc/html/navtree.js
+++ b/doc/html/navtree.js
@@ -36,14 +36,14 @@ var NAVTREE =
var NAVTREEINDEX =
[
"BaseObject_8php.html",
-"boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7",
-"classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934",
-"contactgroup_8php.html",
-"globals_0x6c.html",
-"include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2",
-"php2po_8php.html",
-"suggest_8php.html#a4df91c84594d51ba56b5918de414230d",
-"zping_8php.html"
+"boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688",
+"classConversation.html#ae81221251307e315f566a11f921ce0a9",
+"comanche_8php.html#a5718daeda40bf835345fe061e8808cdf",
+"functions_func.html",
+"include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571",
+"opensearch_8php.html",
+"share_8php.html",
+"widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/doc/html/navtreeindex0.js b/doc/html/navtreeindex0.js
index caa304721..ffdfa6227 100644
--- a/doc/html/navtreeindex0.js
+++ b/doc/html/navtreeindex0.js
@@ -34,9 +34,11 @@ var NAVTREEINDEX0 =
"account_8php.html#ac1653efba62493b9d87513e1b6c04c83":[5,0,0,2,9],
"account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1":[5,0,0,2,8],
"account_8php.html#ae052bd5558847bd38e89c213561a9771":[5,0,0,2,2],
-"acl_8php.html":[5,0,1,1],
-"acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f":[5,0,1,1,1],
-"acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a":[5,0,1,1,0],
+"achievements_8php.html":[5,0,1,1],
+"achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e":[5,0,1,1,0],
+"acl_8php.html":[5,0,1,2],
+"acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f":[5,0,1,2,1],
+"acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a":[5,0,1,2,0],
"acl__selectors_8php.html":[5,0,0,3],
"acl__selectors_8php.html#a7b5446e999636ceceea65c154d865a31":[5,0,0,3,3],
"acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91":[5,0,0,3,0],
@@ -44,26 +46,24 @@ var NAVTREEINDEX0 =
"acl__selectors_8php.html#ad6664fb8330308e23f2645cd6624727e":[5,0,0,3,1],
"activities_8php.html":[5,0,0,4],
"activities_8php.html#a80134e807719b3c54aba971958d2e132":[5,0,0,4,0],
-"admin_8php.html":[5,0,1,2],
-"admin_8php.html#a1d1362698af14d209aa3a0fb655551dd":[5,0,1,2,4],
-"admin_8php.html#a233b7c8c31776b7020532003c6e44e1c":[5,0,1,2,5],
-"admin_8php.html#a54128076986ba80c4a103de3fc3e19a8":[5,0,1,2,6],
-"admin_8php.html#a5a696706a3869800e65fb365214241b7":[5,0,1,2,12],
-"admin_8php.html#a60ba9783ad14545814919970bc3fb725":[5,0,1,2,3],
-"admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2":[5,0,1,2,11],
-"admin_8php.html#a6943543f3138f6ee182cb701f415d1cc":[5,0,1,2,2],
-"admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade":[5,0,1,2,1],
-"admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e":[5,0,1,2,7],
-"admin_8php.html#ac6e95b920b5abd030cc522964987087a":[5,0,1,2,9],
-"admin_8php.html#acf51f5837a7427832144c2bf7308ada3":[5,0,1,2,13],
-"admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4":[5,0,1,2,15],
-"admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f":[5,0,1,2,8],
-"admin_8php.html#ae46311a3fefc21abc838a26e91789de6":[5,0,1,2,14],
-"admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb":[5,0,1,2,10],
-"admin_8php.html#af81f081851791cd15e49e8ff6722dc27":[5,0,1,2,16],
-"admin_8php.html#afef415e4011607fbb665610441595015":[5,0,1,2,0],
-"allfriends_8php.html":[5,0,1,3],
-"allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83":[5,0,1,3,0],
+"admin_8php.html":[5,0,1,3],
+"admin_8php.html#a1d1362698af14d209aa3a0fb655551dd":[5,0,1,3,4],
+"admin_8php.html#a233b7c8c31776b7020532003c6e44e1c":[5,0,1,3,5],
+"admin_8php.html#a54128076986ba80c4a103de3fc3e19a8":[5,0,1,3,6],
+"admin_8php.html#a5a696706a3869800e65fb365214241b7":[5,0,1,3,12],
+"admin_8php.html#a60ba9783ad14545814919970bc3fb725":[5,0,1,3,3],
+"admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2":[5,0,1,3,11],
+"admin_8php.html#a6943543f3138f6ee182cb701f415d1cc":[5,0,1,3,2],
+"admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade":[5,0,1,3,1],
+"admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e":[5,0,1,3,7],
+"admin_8php.html#ac6e95b920b5abd030cc522964987087a":[5,0,1,3,9],
+"admin_8php.html#acf51f5837a7427832144c2bf7308ada3":[5,0,1,3,13],
+"admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4":[5,0,1,3,15],
+"admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f":[5,0,1,3,8],
+"admin_8php.html#ae46311a3fefc21abc838a26e91789de6":[5,0,1,3,14],
+"admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb":[5,0,1,3,10],
+"admin_8php.html#af81f081851791cd15e49e8ff6722dc27":[5,0,1,3,16],
+"admin_8php.html#afef415e4011607fbb665610441595015":[5,0,1,3,0],
"annotated.html":[4,0],
"apps_8php.html":[5,0,1,5],
"apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c":[5,0,1,5,0],
@@ -87,14 +87,18 @@ var NAVTREEINDEX0 =
"bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba":[5,0,0,9,1],
"bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc":[5,0,0,9,4],
"bbcode_8php.html":[5,0,0,10],
-"bbcode_8php.html#a009f61aaf78771737ed0765c8463911b":[5,0,0,10,5],
-"bbcode_8php.html#a064dcfd9767df6f53be1a0e11ceeb15d":[5,0,0,10,4],
-"bbcode_8php.html#a1c69e021d5e0aef97d6966bf3169c86a":[5,0,0,10,1],
-"bbcode_8php.html#a2be26414a367118143cc89e2d58e7377":[5,0,0,10,2],
-"bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7":[5,0,0,10,6],
-"bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7":[5,0,0,10,7],
-"bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f":[5,0,0,10,0],
-"bbcode_8php.html#a8911e027907820df3db03b4f76724b50":[5,0,0,10,3],
+"bbcode_8php.html#a009f61aaf78771737ed0765c8463911b":[5,0,0,10,7],
+"bbcode_8php.html#a064dcfd9767df6f53be1a0e11ceeb15d":[5,0,0,10,6],
+"bbcode_8php.html#a1c69e021d5e0aef97d6966bf3169c86a":[5,0,0,10,3],
+"bbcode_8php.html#a2be26414a367118143cc89e2d58e7377":[5,0,0,10,4],
+"bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd":[5,0,0,10,0],
+"bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322":[5,0,0,10,10],
+"bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7":[5,0,0,10,8],
+"bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7":[5,0,0,10,9],
+"bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f":[5,0,0,10,1],
+"bbcode_8php.html#a8911e027907820df3db03b4f76724b50":[5,0,0,10,5],
+"bbcode_8php.html#a98d0eecc620c19561639f06cfbe8e74c":[5,0,0,10,2],
+"bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8":[5,0,0,10,11],
"blocks_8php.html":[5,0,1,7],
"blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12":[5,0,1,7,0],
"blogga_2php_2theme_8php.html":[5,0,3,1,1,0,2],
@@ -106,148 +110,144 @@ var NAVTREEINDEX0 =
"blogga_2view_2theme_2blog_2theme_8php.html#aae58cc837fe56473d9f3370abfe533ae":[5,0,3,1,1,1,0,0,2,1],
"blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec":[5,0,3,1,1,1,0,0,2,4],
"boot_8php.html":[5,0,4],
-"boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0":[5,0,4,128],
+"boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0":[5,0,4,130],
"boot_8php.html#a01353c9abebc3544ea080ac161729632":[5,0,4,34],
-"boot_8php.html#a022cea669f9f13ef7c6268b63884c57f":[5,0,4,142],
-"boot_8php.html#a02566ac9d891369a1d3ebb81a15722fc":[5,0,4,236],
+"boot_8php.html#a022cea669f9f13ef7c6268b63884c57f":[5,0,4,144],
+"boot_8php.html#a02566ac9d891369a1d3ebb81a15722fc":[5,0,4,241],
"boot_8php.html#a032bbd6d0321e99e9117332c9ed2b1b8":[5,0,4,50],
-"boot_8php.html#a03d19251c245587de7ed959300b87bdf":[5,0,4,158],
+"boot_8php.html#a03d19251c245587de7ed959300b87bdf":[5,0,4,162],
"boot_8php.html#a0450389f24c632906fbc24347700a543":[5,0,4,42],
-"boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b":[5,0,4,98],
+"boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b":[5,0,4,99],
"boot_8php.html#a081307d681d7d04f17b9ced2076e7c85":[5,0,4,1],
-"boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3":[5,0,4,197],
-"boot_8php.html#a0a98dd0110dc6c8e24cefc8ae74d5562":[5,0,4,63],
-"boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a":[5,0,4,162],
-"boot_8php.html#a0c59dde058efebbc66520d136cbd1631":[5,0,4,253],
-"boot_8php.html#a0cc8dc76bd10ac0ec81bac08a46f82fe":[5,0,4,249],
-"boot_8php.html#a0d877df1e20bae765e1708be50f6b503":[5,0,4,252],
+"boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3":[5,0,4,201],
+"boot_8php.html#a0a98dd0110dc6c8e24cefc8ae74d5562":[5,0,4,64],
+"boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a":[5,0,4,166],
+"boot_8php.html#a0c59dde058efebbc66520d136cbd1631":[5,0,4,258],
+"boot_8php.html#a0cc8dc76bd10ac0ec81bac08a46f82fe":[5,0,4,254],
+"boot_8php.html#a0d877df1e20bae765e1708be50f6b503":[5,0,4,257],
"boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84":[5,0,4,21],
-"boot_8php.html#a0e57f846e6d47a308feced0f7274f178":[5,0,4,55],
+"boot_8php.html#a0e57f846e6d47a308feced0f7274f178":[5,0,4,56],
"boot_8php.html#a0e6db7e365f2b041a828b93786f694bc":[5,0,4,15],
-"boot_8php.html#a0fb63e51c2a9814941842ae8f2f4dff8":[5,0,4,73],
-"boot_8php.html#a12c781cefc20167231e2e3fd5866b1b5":[5,0,4,77],
-"boot_8php.html#a14ba8f9e162f2559831ee3bf98e0c3bd":[5,0,4,74],
-"boot_8php.html#a14d44d4a00223dc3db4ea962325db192":[5,0,4,188],
-"boot_8php.html#a176664e78dcb9132e16be69418223eb2":[5,0,4,58],
-"boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805":[5,0,4,141],
-"boot_8php.html#a17cf72338b040891781a4bcbdd9a8595":[5,0,4,137],
-"boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd":[5,0,4,161],
-"boot_8php.html#a18a400fa45e5632811b33041d8c048bf":[5,0,4,131],
-"boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2":[5,0,4,260],
-"boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc":[5,0,4,230],
-"boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f":[5,0,4,261],
-"boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86":[5,0,4,165],
-"boot_8php.html#a1da180f961f49a11573cac4ff6c62c05":[5,0,4,72],
-"boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc":[5,0,4,209],
-"boot_8php.html#a1f5906598e90b5ea2b4245f682be4348":[5,0,4,100],
-"boot_8php.html#a1fbb93cf030f07391f22cc2948744869":[5,0,4,148],
-"boot_8php.html#a20f0eed431d25870b624b8937a07a59f":[5,0,4,181],
-"boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3":[5,0,4,232],
+"boot_8php.html#a0fb63e51c2a9814941842ae8f2f4dff8":[5,0,4,74],
+"boot_8php.html#a12c781cefc20167231e2e3fd5866b1b5":[5,0,4,78],
+"boot_8php.html#a14ba8f9e162f2559831ee3bf98e0c3bd":[5,0,4,75],
+"boot_8php.html#a14d44d4a00223dc3db4ea962325db192":[5,0,4,192],
+"boot_8php.html#a176664e78dcb9132e16be69418223eb2":[5,0,4,59],
+"boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805":[5,0,4,143],
+"boot_8php.html#a17cf72338b040891781a4bcbdd9a8595":[5,0,4,139],
+"boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd":[5,0,4,165],
+"boot_8php.html#a18a400fa45e5632811b33041d8c048bf":[5,0,4,133],
+"boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2":[5,0,4,265],
+"boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc":[5,0,4,235],
+"boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f":[5,0,4,267],
+"boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86":[5,0,4,169],
+"boot_8php.html#a1da180f961f49a11573cac4ff6c62c05":[5,0,4,73],
+"boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc":[5,0,4,214],
+"boot_8php.html#a1f5906598e90b5ea2b4245f682be4348":[5,0,4,101],
+"boot_8php.html#a1fbb93cf030f07391f22cc2948744869":[5,0,4,150],
+"boot_8php.html#a20f0eed431d25870b624b8937a07a59f":[5,0,4,185],
+"boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3":[5,0,4,237],
"boot_8php.html#a222395aa223cfbff6166fab0b4e2e1d5":[5,0,4,37],
"boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77":[5,0,4,20],
-"boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8":[5,0,4,96],
-"boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f":[5,0,4,88],
-"boot_8php.html#a2750985ec445617d7e82ae3098c91e3f":[5,0,4,242],
-"boot_8php.html#a285732e7889fa7f333cbe431111e1029":[5,0,4,184],
-"boot_8php.html#a29528a2544373cc19a378f350040c6a1":[5,0,4,79],
-"boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221":[5,0,4,123],
-"boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62":[5,0,4,207],
-"boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3":[5,0,4,101],
-"boot_8php.html#a2b525996e4426bdddbcec277778bde08":[5,0,4,228],
-"boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0":[5,0,4,180],
-"boot_8php.html#a2c8906f1af94a3559a5b4661067bb79d":[5,0,4,120],
-"boot_8php.html#a2e90096fede6acce16abf0da8cb2febe":[5,0,4,64],
-"boot_8php.html#a2f8f25b13480c37a5f22511f53da8bab":[5,0,4,69],
-"boot_8php.html#a32df13fec0e43281da5979e1f5579aa8":[5,0,4,214],
-"boot_8php.html#a3475ff6c2e575f946ea0ee377e944173":[5,0,4,135],
+"boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8":[5,0,4,97],
+"boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f":[5,0,4,89],
+"boot_8php.html#a2750985ec445617d7e82ae3098c91e3f":[5,0,4,247],
+"boot_8php.html#a285732e7889fa7f333cbe431111e1029":[5,0,4,188],
+"boot_8php.html#a29528a2544373cc19a378f350040c6a1":[5,0,4,80],
+"boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221":[5,0,4,125],
+"boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62":[5,0,4,212],
+"boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3":[5,0,4,102],
+"boot_8php.html#a2b525996e4426bdddbcec277778bde08":[5,0,4,233],
+"boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0":[5,0,4,184],
+"boot_8php.html#a2c8906f1af94a3559a5b4661067bb79d":[5,0,4,122],
+"boot_8php.html#a2e90096fede6acce16abf0da8cb2febe":[5,0,4,65],
+"boot_8php.html#a2f8f25b13480c37a5f22511f53da8bab":[5,0,4,70],
+"boot_8php.html#a32df13fec0e43281da5979e1f5579aa8":[5,0,4,219],
+"boot_8php.html#a3475ff6c2e575f946ea0ee377e944173":[5,0,4,137],
"boot_8php.html#a34c756469ebed32e2fc987bcde62d382":[5,0,4,39],
-"boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49":[5,0,4,113],
-"boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd":[5,0,4,150],
-"boot_8php.html#a36b31575f992a10b5927b76efba9362e":[5,0,4,264],
-"boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa":[5,0,4,169],
-"boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955":[5,0,4,103],
-"boot_8php.html#a3b56bfc6a0dd159070e316ddac3b7456":[5,0,4,108],
-"boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af":[5,0,4,263],
-"boot_8php.html#a3d6d4fc5fafcc9156811669158541caf":[5,0,4,205],
+"boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49":[5,0,4,115],
+"boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd":[5,0,4,152],
+"boot_8php.html#a36b31575f992a10b5927b76efba9362e":[5,0,4,271],
+"boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa":[5,0,4,173],
+"boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955":[5,0,4,104],
+"boot_8php.html#a3b56bfc6a0dd159070e316ddac3b7456":[5,0,4,109],
+"boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af":[5,0,4,270],
+"boot_8php.html#a3d6d4fc5fafcc9156811669158541caf":[5,0,4,210],
"boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4":[5,0,4,12],
-"boot_8php.html#a3e2ea123d29a72012db1241f96280b0e":[5,0,4,56],
-"boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77":[5,0,4,86],
+"boot_8php.html#a3e2ea123d29a72012db1241f96280b0e":[5,0,4,57],
+"boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77":[5,0,4,87],
"boot_8php.html#a400519fa181591cd6fdbb8f25fbcba0a":[5,0,4,48],
-"boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb":[5,0,4,124],
-"boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b":[5,0,4,200],
-"boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e":[5,0,4,179],
-"boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731":[5,0,4,85],
-"boot_8php.html#a444ce608ce34efb82ee11852f36e825f":[5,0,4,155],
-"boot_8php.html#a44ae1542a805ffd7f826fb511db07374":[5,0,4,145],
-"boot_8php.html#a44d069c8a1cfcc6d2007c506a17ff28f":[5,0,4,67],
-"boot_8php.html#a45b12aefab9675baffc7a07a09486db8":[5,0,4,250],
-"boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47":[5,0,4,167],
-"boot_8php.html#a4a12ce5de39789b0361e308d89925a20":[5,0,4,99],
-"boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4":[5,0,4,222],
-"boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e":[5,0,4,166],
+"boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb":[5,0,4,126],
+"boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b":[5,0,4,205],
+"boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e":[5,0,4,183],
+"boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731":[5,0,4,86],
+"boot_8php.html#a444ce608ce34efb82ee11852f36e825f":[5,0,4,159],
+"boot_8php.html#a44ae1542a805ffd7f826fb511db07374":[5,0,4,147],
+"boot_8php.html#a44d069c8a1cfcc6d2007c506a17ff28f":[5,0,4,68],
+"boot_8php.html#a458e19af801bc4b0d1f1ce1a6d9e857e":[5,0,4,153],
+"boot_8php.html#a45b12aefab9675baffc7a07a09486db8":[5,0,4,255],
+"boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47":[5,0,4,171],
+"boot_8php.html#a4a12ce5de39789b0361e308d89925a20":[5,0,4,100],
+"boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4":[5,0,4,227],
+"boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e":[5,0,4,170],
"boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3":[5,0,4,6],
-"boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6":[5,0,4,199],
-"boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115":[5,0,4,218],
-"boot_8php.html#a505410c7edc5f5bb5fa227b98359793e":[5,0,4,191],
-"boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa":[5,0,4,149],
+"boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6":[5,0,4,203],
+"boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115":[5,0,4,223],
+"boot_8php.html#a505410c7edc5f5bb5fa227b98359793e":[5,0,4,195],
+"boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa":[5,0,4,151],
"boot_8php.html#a52b599cd13e152ebc80d7e4413683195":[5,0,4,38],
-"boot_8php.html#a53e4bdb6f225da55115acb9277f75e53":[5,0,4,78],
+"boot_8php.html#a53e4bdb6f225da55115acb9277f75e53":[5,0,4,79],
"boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209":[5,0,4,31],
-"boot_8php.html#a56fd673eaa7014150297ce1162502db5":[5,0,4,183],
-"boot_8php.html#a57eee7352714c004d36c26dda74af73e":[5,0,4,217],
-"boot_8php.html#a5a681a672e007cdc22b43345d71f07c6":[5,0,4,262],
+"boot_8php.html#a56fd673eaa7014150297ce1162502db5":[5,0,4,187],
+"boot_8php.html#a57eee7352714c004d36c26dda74af73e":[5,0,4,222],
+"boot_8php.html#a5a681a672e007cdc22b43345d71f07c6":[5,0,4,268],
"boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1":[5,0,4,19],
-"boot_8php.html#a5ae728ac966ea1d3525a19e7fec59434":[5,0,4,57],
-"boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa":[5,0,4,173],
-"boot_8php.html#a5b8484922918946d041e5e0515dbe718":[5,0,4,195],
-"boot_8php.html#a5c3747e0f505f0d5271dc4c54e3feaf4":[5,0,4,75],
-"boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2":[5,0,4,153],
-"boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640":[5,0,4,196],
+"boot_8php.html#a5ae728ac966ea1d3525a19e7fec59434":[5,0,4,58],
+"boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa":[5,0,4,177],
+"boot_8php.html#a5b8484922918946d041e5e0515dbe718":[5,0,4,199],
+"boot_8php.html#a5c3747e0f505f0d5271dc4c54e3feaf4":[5,0,4,76],
+"boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2":[5,0,4,157],
+"boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640":[5,0,4,200],
"boot_8php.html#a623e49c79943f3e7bdb770d021683cf7":[5,0,4,18],
-"boot_8php.html#a62c832a95e38b1fa23e6cef39521b7d5":[5,0,4,71],
-"boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd":[5,0,4,246],
-"boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16":[5,0,4,159],
-"boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322":[5,0,4,133],
-"boot_8php.html#a68d1d5bc9c7ccb663dc671b48c66df11":[5,0,4,136],
+"boot_8php.html#a62c832a95e38b1fa23e6cef39521b7d5":[5,0,4,72],
+"boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd":[5,0,4,251],
+"boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16":[5,0,4,163],
+"boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322":[5,0,4,135],
+"boot_8php.html#a68d1d5bc9c7ccb663dc671b48c66df11":[5,0,4,138],
"boot_8php.html#a68eebe493e6f729ffd1aeda7a4b11155":[5,0,4,41],
-"boot_8php.html#a6969947145a139ec374ce098224d8e81":[5,0,4,139],
-"boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1":[5,0,4,234],
-"boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2":[5,0,4,221],
-"boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf":[5,0,4,215],
-"boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd":[5,0,4,97],
-"boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9":[5,0,4,89],
-"boot_8php.html#a6df1102664f64b274810db85197c2755":[5,0,4,203],
-"boot_8php.html#a6e57d913634d033b4d5ad72d99fd3e9d":[5,0,4,122],
-"boot_8php.html#a7176c0f9f1c98421b97735d892cf6252":[5,0,4,233],
+"boot_8php.html#a6969947145a139ec374ce098224d8e81":[5,0,4,141],
+"boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1":[5,0,4,239],
+"boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2":[5,0,4,226],
+"boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf":[5,0,4,220],
+"boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd":[5,0,4,98],
+"boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9":[5,0,4,90],
+"boot_8php.html#a6df1102664f64b274810db85197c2755":[5,0,4,208],
+"boot_8php.html#a6e57d913634d033b4d5ad72d99fd3e9d":[5,0,4,124],
+"boot_8php.html#a6ee7a72d558d1851bbb9e3cdde377932":[5,0,4,204],
+"boot_8php.html#a7176c0f9f1c98421b97735d892cf6252":[5,0,4,238],
+"boot_8php.html#a718a801b0be6cbaef5e519516da12721":[5,0,4,156],
"boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6":[5,0,4,26],
-"boot_8php.html#a7236b2cdcf59f02a42302e893a99013b":[5,0,4,174],
-"boot_8php.html#a749144d8dd9c1366596a0213c277d050":[5,0,4,126],
-"boot_8php.html#a74bf27f7564c9a37975e7b37d973dcab":[5,0,4,68],
+"boot_8php.html#a7236b2cdcf59f02a42302e893a99013b":[5,0,4,178],
+"boot_8php.html#a749144d8dd9c1366596a0213c277d050":[5,0,4,128],
+"boot_8php.html#a74bf27f7564c9a37975e7b37d973dcab":[5,0,4,69],
"boot_8php.html#a75a90b0eadd0df510f7e63210733634d":[5,0,4,2],
-"boot_8php.html#a75fc600186b13c3b25e661afefb5eac8":[5,0,4,254],
+"boot_8php.html#a75fc600186b13c3b25e661afefb5eac8":[5,0,4,259],
"boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006":[5,0,4,4],
-"boot_8php.html#a774f0f792ebfec1e774c5a17bb9d5966":[5,0,4,70],
-"boot_8php.html#a781916f83fcc8ff1035649afa45f0292":[5,0,4,83],
-"boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383":[5,0,4,224],
-"boot_8php.html#a7a8ba64d089cc0412c59a2eefc6d655c":[5,0,4,109],
-"boot_8php.html#a7aa57438db03834aaa0b468bdce773a6":[5,0,4,61],
-"boot_8php.html#a7af107fab8d62b9a73801713b774ed30":[5,0,4,125],
-"boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133":[5,0,4,154],
-"boot_8php.html#a7bff2278e68a71e524afd1c7c951e1e3":[5,0,4,65],
-"boot_8php.html#a7c286add8961fd2d79216314cd4aadd8":[5,0,4,102],
-"boot_8php.html#a7ed4581ab66ebcde97f6b3730856b028":[5,0,4,156],
+"boot_8php.html#a774f0f792ebfec1e774c5a17bb9d5966":[5,0,4,71],
+"boot_8php.html#a781916f83fcc8ff1035649afa45f0292":[5,0,4,84],
+"boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383":[5,0,4,229],
+"boot_8php.html#a7a8ba64d089cc0412c59a2eefc6d655c":[5,0,4,110],
+"boot_8php.html#a7aa57438db03834aaa0b468bdce773a6":[5,0,4,62],
+"boot_8php.html#a7af107fab8d62b9a73801713b774ed30":[5,0,4,127],
+"boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133":[5,0,4,158],
+"boot_8php.html#a7bff2278e68a71e524afd1c7c951e1e3":[5,0,4,66],
+"boot_8php.html#a7c286add8961fd2d79216314cd4aadd8":[5,0,4,103],
+"boot_8php.html#a7c2eb822d50e1554bf5c32861f36342b":[5,0,4,54],
+"boot_8php.html#a7ed4581ab66ebcde97f6b3730856b028":[5,0,4,160],
"boot_8php.html#a7f3474fec541e261fc8dff47313c4017":[5,0,4,45],
-"boot_8php.html#a7f4264232dbb6c3b41f2617deecb1866":[5,0,4,80],
-"boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf":[5,0,4,111],
-"boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed":[5,0,4,193],
+"boot_8php.html#a7f4264232dbb6c3b41f2617deecb1866":[5,0,4,81],
+"boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf":[5,0,4,113],
+"boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed":[5,0,4,197],
"boot_8php.html#a84057c5bfa1bca5fba8497fe005ee4d8":[5,0,4,49],
-"boot_8php.html#a845891f82bf6edd7fa2d578b66703112":[5,0,4,106],
-"boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688":[5,0,4,53],
-"boot_8php.html#a8663f32171568489dbb2a01dd00371f8":[5,0,4,118],
-"boot_8php.html#a882b666adfe21f035a0f8c02806066d6":[5,0,4,245],
-"boot_8php.html#a8892374789fd261eb32a7969d934a14a":[5,0,4,244],
-"boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701":[5,0,4,172],
-"boot_8php.html#a899d24fd074594ceebbf72e1feff335f":[5,0,4,16],
-"boot_8php.html#a8a60cc38bb567765fd926fef70205f16":[5,0,4,94],
-"boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55":[5,0,4,219]
+"boot_8php.html#a845891f82bf6edd7fa2d578b66703112":[5,0,4,107]
};
diff --git a/doc/html/navtreeindex1.js b/doc/html/navtreeindex1.js
index 28b238093..0c2c55806 100644
--- a/doc/html/navtreeindex1.js
+++ b/doc/html/navtreeindex1.js
@@ -1,130 +1,140 @@
var NAVTREEINDEX1 =
{
-"boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7":[5,0,4,121],
-"boot_8php.html#a8da836617174eed9fc2ac8054125354b":[5,0,4,115],
-"boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce":[5,0,4,226],
+"boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688":[5,0,4,53],
+"boot_8php.html#a8663f32171568489dbb2a01dd00371f8":[5,0,4,120],
+"boot_8php.html#a87b0f279f8413c7e4d805c5d85f20d34":[5,0,4,112],
+"boot_8php.html#a882b666adfe21f035a0f8c02806066d6":[5,0,4,250],
+"boot_8php.html#a8892374789fd261eb32a7969d934a14a":[5,0,4,249],
+"boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701":[5,0,4,176],
+"boot_8php.html#a899d24fd074594ceebbf72e1feff335f":[5,0,4,16],
+"boot_8php.html#a8a60cc38bb567765fd926fef70205f16":[5,0,4,95],
+"boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55":[5,0,4,224],
+"boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7":[5,0,4,123],
+"boot_8php.html#a8da836617174eed9fc2ac8054125354b":[5,0,4,117],
+"boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce":[5,0,4,231],
+"boot_8php.html#a8fdcc4ffb365a3267bd02ce8a8d466d6":[5,0,4,266],
"boot_8php.html#a9255af5ae9c887520091ea04763c1a88":[5,0,4,29],
"boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3":[5,0,4,11],
-"boot_8php.html#a93823d15ae07548a4c49de88d325cd26":[5,0,4,140],
-"boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08":[5,0,4,119],
-"boot_8php.html#a949116d9a295b214293006c060ca4848":[5,0,4,117],
-"boot_8php.html#a9690d73434125ce594a1f5e7c2a4f7c0":[5,0,4,256],
-"boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4":[5,0,4,231],
+"boot_8php.html#a93823d15ae07548a4c49de88d325cd26":[5,0,4,142],
+"boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08":[5,0,4,121],
+"boot_8php.html#a949116d9a295b214293006c060ca4848":[5,0,4,119],
+"boot_8php.html#a9690d73434125ce594a1f5e7c2a4f7c0":[5,0,4,261],
+"boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4":[5,0,4,236],
"boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90":[5,0,4,17],
-"boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b":[5,0,4,186],
-"boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777":[5,0,4,220],
+"boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b":[5,0,4,190],
+"boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777":[5,0,4,225],
"boot_8php.html#a9c80420e5a063a4a87ce4831f086134d":[5,0,4,44],
"boot_8php.html#a9cbab4ee728e9a8b4ce952bae643044e":[5,0,4,5],
-"boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964":[5,0,4,212],
-"boot_8php.html#a9d01ef178b72b145016cca1393415bc4":[5,0,4,187],
-"boot_8php.html#a9ea1290e00c6d40684892047f2c778a9":[5,0,4,259],
-"boot_8php.html#a9eeb8989272d5ff804a616898bb13659":[5,0,4,247],
-"boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f":[5,0,4,211],
-"boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42":[5,0,4,175],
+"boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964":[5,0,4,217],
+"boot_8php.html#a9d01ef178b72b145016cca1393415bc4":[5,0,4,191],
+"boot_8php.html#a9ea1290e00c6d40684892047f2c778a9":[5,0,4,264],
+"boot_8php.html#a9eeb8989272d5ff804a616898bb13659":[5,0,4,252],
+"boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f":[5,0,4,216],
+"boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42":[5,0,4,179],
"boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e":[5,0,4,24],
-"boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9":[5,0,4,194],
+"boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9":[5,0,4,198],
"boot_8php.html#aa3425e2de85b08f7041656d3a8502cb6":[5,0,4,40],
-"boot_8php.html#aa3679df31c8dad1b71816b0322d5baff":[5,0,4,147],
+"boot_8php.html#aa3679df31c8dad1b71816b0322d5baff":[5,0,4,149],
"boot_8php.html#aa4221641e5c21db69fa52c426b9017f5":[5,0,4,9],
-"boot_8php.html#aa544a6c078130d0967a1f4ed8ce0a2d2":[5,0,4,144],
-"boot_8php.html#aa589421267f0c2f0d643f727792cce35":[5,0,4,105],
-"boot_8php.html#aa74438cf71e48e37bf7b440b94243985":[5,0,4,82],
-"boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d":[5,0,4,91],
-"boot_8php.html#aa9244fc9cc221980c07a20cc534111be":[5,0,4,216],
-"boot_8php.html#aad33b494084f729b6ee3b0bc457718a1":[5,0,4,130],
-"boot_8php.html#aae6c941bde5fd6fce07e51dba7326ead":[5,0,4,201],
-"boot_8php.html#aaf9b76832ee5f85e56466af162ba8a14":[5,0,4,62],
-"boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f":[5,0,4,178],
-"boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f":[5,0,4,110],
-"boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6":[5,0,4,202],
+"boot_8php.html#aa544a6c078130d0967a1f4ed8ce0a2d2":[5,0,4,146],
+"boot_8php.html#aa589421267f0c2f0d643f727792cce35":[5,0,4,106],
+"boot_8php.html#aa74438cf71e48e37bf7b440b94243985":[5,0,4,83],
+"boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d":[5,0,4,92],
+"boot_8php.html#aa9244fc9cc221980c07a20cc534111be":[5,0,4,221],
+"boot_8php.html#aad33b494084f729b6ee3b0bc457718a1":[5,0,4,132],
+"boot_8php.html#aae6c941bde5fd6fce07e51dba7326ead":[5,0,4,206],
+"boot_8php.html#aaf9b76832ee5f85e56466af162ba8a14":[5,0,4,63],
+"boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f":[5,0,4,182],
+"boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f":[5,0,4,111],
+"boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6":[5,0,4,207],
"boot_8php.html#ab346a2ece14993861f3e4206befa94f0":[5,0,4,30],
-"boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8":[5,0,4,198],
-"boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0":[5,0,4,223],
-"boot_8php.html#ab4bddb41a0cf407178ec5278b950c393":[5,0,4,171],
-"boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e":[5,0,4,206],
-"boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764":[5,0,4,104],
-"boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf":[5,0,4,132],
+"boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8":[5,0,4,202],
+"boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0":[5,0,4,228],
+"boot_8php.html#ab4bddb41a0cf407178ec5278b950c393":[5,0,4,175],
+"boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e":[5,0,4,211],
+"boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764":[5,0,4,105],
+"boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf":[5,0,4,134],
"boot_8php.html#ab5ddbe69d3d03acd06e1fb281488cb78":[5,0,4,51],
-"boot_8php.html#ab724491497ab2618b23a01d5da60aec0":[5,0,4,189],
+"boot_8php.html#ab724491497ab2618b23a01d5da60aec0":[5,0,4,193],
"boot_8php.html#ab79b8b4555cae20d03f8200666d89d63":[5,0,4,7],
-"boot_8php.html#ab7d65a7e7417825a4db62906bb600729":[5,0,4,93],
+"boot_8php.html#ab7d65a7e7417825a4db62906bb600729":[5,0,4,94],
"boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda":[5,0,4,35],
-"boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86":[5,0,4,227],
+"boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86":[5,0,4,232],
"boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7":[5,0,4,3],
-"boot_8php.html#abd7bb40da9cc073297e49736b338ca07":[5,0,4,251],
-"boot_8php.html#abdcdfc873ace4e0902177bad934de0c0":[5,0,4,60],
-"boot_8php.html#abeb4d86e17cefa8584f1244e2183b0e1":[5,0,4,107],
-"boot_8php.html#abedd940e664017c61b48c6efa31d0cb8":[5,0,4,92],
-"boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450":[5,0,4,116],
+"boot_8php.html#abd7bb40da9cc073297e49736b338ca07":[5,0,4,256],
+"boot_8php.html#abdcdfc873ace4e0902177bad934de0c0":[5,0,4,61],
+"boot_8php.html#abeb4d86e17cefa8584f1244e2183b0e1":[5,0,4,108],
+"boot_8php.html#abedd940e664017c61b48c6efa31d0cb8":[5,0,4,93],
+"boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450":[5,0,4,118],
"boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c":[5,0,4,23],
-"boot_8php.html#ac195fc9003298923ea81f144388e24b1":[5,0,4,157],
-"boot_8php.html#ac43182e0d8bae7576a30b603774974f8":[5,0,4,225],
-"boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03":[5,0,4,90],
+"boot_8php.html#ac195fc9003298923ea81f144388e24b1":[5,0,4,161],
+"boot_8php.html#ac43182e0d8bae7576a30b603774974f8":[5,0,4,230],
+"boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03":[5,0,4,91],
"boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0":[5,0,4,33],
"boot_8php.html#ac8400313df2c831653f9036f71ebd86d":[5,0,4,52],
-"boot_8php.html#ac86615ddc0763a00f5311c90e991730c":[5,0,4,257],
-"boot_8php.html#ac890557fedc5b5a3b1d996249b1e1a20":[5,0,4,112],
-"boot_8php.html#ac99fc4d040764eac1736bec6973556fe":[5,0,4,114],
-"boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8":[5,0,4,185],
+"boot_8php.html#ac86615ddc0763a00f5311c90e991730c":[5,0,4,262],
+"boot_8php.html#ac890557fedc5b5a3b1d996249b1e1a20":[5,0,4,114],
+"boot_8php.html#ac99fc4d040764eac1736bec6973556fe":[5,0,4,116],
+"boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8":[5,0,4,189],
"boot_8php.html#aca47505b8732177f52bb2d647eb2741c":[5,0,4,32],
"boot_8php.html#aca5e42678e178c6b9034610d66666fd7":[5,0,4,13],
"boot_8php.html#acc4e0c910af066148b810e5fde55fff1":[5,0,4,8],
-"boot_8php.html#acca19aae62e1a6951a856b945de20d67":[5,0,4,160],
-"boot_8php.html#accd6f36cc9f40225cbd720e4d12a7c6e":[5,0,4,258],
-"boot_8php.html#acd877c405b06b348b37b6f7e62a211e9":[5,0,4,213],
-"boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32":[5,0,4,192],
-"boot_8php.html#aced60c7285192e80b7c4757e45a7f1e3":[5,0,4,59],
-"boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8":[5,0,4,143],
-"boot_8php.html#ad11f30a6590d3d77f0c5e1e3909af8f5":[5,0,4,151],
+"boot_8php.html#acca19aae62e1a6951a856b945de20d67":[5,0,4,164],
+"boot_8php.html#accd6f36cc9f40225cbd720e4d12a7c6e":[5,0,4,263],
+"boot_8php.html#acd877c405b06b348b37b6f7e62a211e9":[5,0,4,218],
+"boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32":[5,0,4,196],
+"boot_8php.html#aced60c7285192e80b7c4757e45a7f1e3":[5,0,4,60],
+"boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8":[5,0,4,145],
+"boot_8php.html#ad11f30a6590d3d77f0c5e1e3909af8f5":[5,0,4,154],
"boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13":[5,0,4,10],
-"boot_8php.html#ad302cb26b838898d475f57f61b0fcc9f":[5,0,4,66],
-"boot_8php.html#ad34c1547020a305915bcc39707744690":[5,0,4,81],
+"boot_8php.html#ad302cb26b838898d475f57f61b0fcc9f":[5,0,4,67],
+"boot_8php.html#ad34c1547020a305915bcc39707744690":[5,0,4,82],
"boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44":[5,0,4,27],
-"boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137":[5,0,4,208],
-"boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63":[5,0,4,235],
-"boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5":[5,0,4,229],
-"boot_8php.html#ada72d88ae39a7e3b45baea201cb49a29":[5,0,4,87],
-"boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272":[5,0,4,127],
-"boot_8php.html#adca48aee78465ae3064ca4432c0d87b5":[5,0,4,238],
+"boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137":[5,0,4,213],
+"boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63":[5,0,4,240],
+"boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5":[5,0,4,234],
+"boot_8php.html#ada72d88ae39a7e3b45baea201cb49a29":[5,0,4,88],
+"boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272":[5,0,4,129],
+"boot_8php.html#adca48aee78465ae3064ca4432c0d87b5":[5,0,4,243],
"boot_8php.html#add517a0958ac684792c62142a3877f81":[5,0,4,36],
"boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498":[5,0,4,22],
-"boot_8php.html#ae37444eaa42705185080ccf3e670cbc2":[5,0,4,243],
-"boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e":[5,0,4,168],
-"boot_8php.html#ae4861de36017fe399c1839f778bad9f5":[5,0,4,146],
-"boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95":[5,0,4,176],
-"boot_8php.html#aea392cb26ed617f3a8cde648385b5df0":[5,0,4,255],
+"boot_8php.html#ae37444eaa42705185080ccf3e670cbc2":[5,0,4,248],
+"boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e":[5,0,4,172],
+"boot_8php.html#ae4861de36017fe399c1839f778bad9f5":[5,0,4,148],
+"boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95":[5,0,4,180],
+"boot_8php.html#aea392cb26ed617f3a8cde648385b5df0":[5,0,4,260],
"boot_8php.html#aea7fc57a4d8e9dcb42f2601b0b9b761c":[5,0,4,25],
-"boot_8php.html#aead84fa27d7516b855220fe004964a45":[5,0,4,248],
+"boot_8php.html#aead84fa27d7516b855220fe004964a45":[5,0,4,253],
"boot_8php.html#aeb1039302affcbe7e8872c01c08c88f8":[5,0,4,46],
-"boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4":[5,0,4,210],
-"boot_8php.html#aecaa1b6945b317ba8f1daf4af2aed8e6":[5,0,4,239],
-"boot_8php.html#aed0dfb35f7dd00dc9e4f868ea7f7ff53":[5,0,4,152],
-"boot_8php.html#aedfb9501ed408278667995524e0d15cf":[5,0,4,95],
-"boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67":[5,0,4,163],
-"boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d":[5,0,4,177],
-"boot_8php.html#aefba06f1c0842036329033e7567ecf6d":[5,0,4,129],
+"boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4":[5,0,4,215],
+"boot_8php.html#aecaa1b6945b317ba8f1daf4af2aed8e6":[5,0,4,244],
+"boot_8php.html#aed0dfb35f7dd00dc9e4f868ea7f7ff53":[5,0,4,155],
+"boot_8php.html#aedfb9501ed408278667995524e0d15cf":[5,0,4,96],
+"boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67":[5,0,4,167],
+"boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d":[5,0,4,181],
+"boot_8php.html#aefba06f1c0842036329033e7567ecf6d":[5,0,4,131],
"boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4":[5,0,4,28],
-"boot_8php.html#af33d1b2e98a1e21af672005525d46dfe":[5,0,4,240],
-"boot_8php.html#af3905ea8f8568d0236db13fca40514e3":[5,0,4,170],
-"boot_8php.html#af3a4271630aabd8be592213f925d6a36":[5,0,4,54],
+"boot_8php.html#af33d1b2e98a1e21af672005525d46dfe":[5,0,4,245],
+"boot_8php.html#af3905ea8f8568d0236db13fca40514e3":[5,0,4,174],
+"boot_8php.html#af3a4271630aabd8be592213f925d6a36":[5,0,4,55],
"boot_8php.html#af3bdfc20979c16f15bb9c60446a480f9":[5,0,4,47],
-"boot_8php.html#af489d0c3166551b93e63a79ff2c9be35":[5,0,4,134],
-"boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461":[5,0,4,190],
-"boot_8php.html#af6f6f6f40139f12fc09ec47373b30919":[5,0,4,84],
-"boot_8php.html#af86c651547aa8f9e549ee40a09455549":[5,0,4,237],
-"boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d":[5,0,4,182],
-"boot_8php.html#afaf93b7026f784b113b4f8921745891e":[5,0,4,164],
-"boot_8php.html#afb97615e985a013799839b68b99018d7":[5,0,4,241],
+"boot_8php.html#af489d0c3166551b93e63a79ff2c9be35":[5,0,4,136],
+"boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461":[5,0,4,194],
+"boot_8php.html#af6f6f6f40139f12fc09ec47373b30919":[5,0,4,85],
+"boot_8php.html#af86c651547aa8f9e549ee40a09455549":[5,0,4,242],
+"boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d":[5,0,4,186],
+"boot_8php.html#afaf93b7026f784b113b4f8921745891e":[5,0,4,168],
+"boot_8php.html#afb97615e985a013799839b68b99018d7":[5,0,4,246],
"boot_8php.html#afbb1fe1b2c8c730ec8e08da93b6512c4":[5,0,4,43],
-"boot_8php.html#afe084c30a1810c10442edb4fbcbc0086":[5,0,4,76],
-"boot_8php.html#afe63ae69ba55299f813766e54df06ede":[5,0,4,138],
+"boot_8php.html#afe084c30a1810c10442edb4fbcbc0086":[5,0,4,77],
+"boot_8php.html#afe63ae69ba55299f813766e54df06ede":[5,0,4,140],
"boot_8php.html#afe88b920aa285982edb817a0dd44eb37":[5,0,4,14],
-"boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7":[5,0,4,204],
+"boot_8php.html#afef254290febac854c85fc698d9483a6":[5,0,4,269],
+"boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7":[5,0,4,209],
"cache_8php.html":[5,0,0,11],
"channel_8php.html":[5,0,1,9],
-"channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1":[5,0,1,9,1],
-"channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc":[5,0,1,9,2],
-"channel_8php.html#aea8e189f2fbabfda779349dd94082e8e":[5,0,1,9,0],
+"channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1":[5,0,1,9,0],
+"channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc":[5,0,1,9,1],
"chanview_8php.html":[5,0,1,10],
"chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b":[5,0,1,10,0],
"classApp.html":[4,0,5],
@@ -132,20 +142,21 @@ var NAVTREEINDEX1 =
"classApp.html#a050b0696118da47e8b30859ad1a2c149":[4,0,5,40],
"classApp.html#a084e03c77686d8c13390fef3f7428a2b":[4,0,5,5],
"classApp.html#a08bc87aff64f39fbc084e9d6545cee4d":[4,0,5,2],
-"classApp.html#a08c24d6a6fc52fcc784b0f765f13b820":[4,0,5,73],
+"classApp.html#a08c24d6a6fc52fcc784b0f765f13b820":[4,0,5,74],
"classApp.html#a08f0537964d98958d218066364cff785":[4,0,5,1],
"classApp.html#a0ce85be198e46570366cb3344f3c55b8":[4,0,5,50],
"classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d":[4,0,5,59],
"classApp.html#a123b903dfe5d3488cc68db3471d36fd2":[4,0,5,30],
-"classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11":[4,0,5,77],
+"classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11":[4,0,5,78],
"classApp.html#a14bd4b1c29f3aff371fe5d4cb11aeea3":[4,0,5,32],
+"classApp.html#a1936f2afce0dc0d1bbed15ae1f2ee81a":[4,0,5,72],
"classApp.html#a1a297e70b3667b83f4460aa7ed9f5d6f":[4,0,5,60],
"classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2":[4,0,5,8],
"classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7":[4,0,5,29],
"classApp.html#a230e975296cf164da2fee35ef720964f":[4,0,5,33],
-"classApp.html#a244b2d53b21be269aad2269d23192f95":[4,0,5,75],
+"classApp.html#a244b2d53b21be269aad2269d23192f95":[4,0,5,76],
"classApp.html#a256360c9184fed6d7556e0bc0a835d7f":[4,0,5,48],
-"classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f":[4,0,5,74],
+"classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f":[4,0,5,75],
"classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a":[4,0,5,12],
"classApp.html#a330410a288f3393d53772f5e98f857ea":[4,0,5,51],
"classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c":[4,0,5,65],
@@ -154,8 +165,8 @@ var NAVTREEINDEX1 =
"classApp.html#a3d84af5e42082098672531cd1a618853":[4,0,5,22],
"classApp.html#a4659785d13e4bac0bed50dbb1b0d4299":[4,0,5,6],
"classApp.html#a4776d9322edea17fae56afa5d01a323e":[4,0,5,24],
-"classApp.html#a4833bee2eae4ad1691a04fa19e11a766":[4,0,5,88],
-"classApp.html#a487332f8de40414ca1a54a4265570b70":[4,0,5,83],
+"classApp.html#a4833bee2eae4ad1691a04fa19e11a766":[4,0,5,89],
+"classApp.html#a487332f8de40414ca1a54a4265570b70":[4,0,5,84],
"classApp.html#a495ec082c2719314e536070ca1ce073d":[4,0,5,42],
"classApp.html#a4b67935096f66d1f14b657399a8461ac":[4,0,5,67],
"classApp.html#a4bdd7bfed62f50515fce652127bf481b":[4,0,5,25],
@@ -164,35 +175,35 @@ var NAVTREEINDEX1 =
"classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be":[4,0,5,9],
"classApp.html#a557d7b779d8259027f4724ebf7b248dc":[4,0,5,28],
"classApp.html#a560189f048d3db2f526841963cc43e97":[4,0,5,26],
-"classApp.html#a56b1a432c96aef8b1971f779c9d93c8c":[4,0,5,86],
-"classApp.html#a57d041fcc003d08c127dfa99a02bc192":[4,0,5,72],
+"classApp.html#a56b1a432c96aef8b1971f779c9d93c8c":[4,0,5,87],
+"classApp.html#a57d041fcc003d08c127dfa99a02bc192":[4,0,5,73],
"classApp.html#a58ac598544892ff7c32890291b72635e":[4,0,5,61],
"classApp.html#a59dd4b665c70e7dbd80682c014ff7145":[4,0,5,62],
"classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad":[4,0,5,3],
"classApp.html#a5cfc098c061b7d765add58fd2ca97445":[4,0,5,39],
-"classApp.html#a5f64620473a9727a48ebe9cf6f335a98":[4,0,5,78],
+"classApp.html#a5f64620473a9727a48ebe9cf6f335a98":[4,0,5,79],
"classApp.html#a604d659d6977a99de42a160343e5289a":[4,0,5,4],
"classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2":[4,0,5,45],
"classApp.html#a622eace13f8fc9f4b5672a68e2bc4396":[4,0,5,7],
-"classApp.html#a6844aedad10e201b8c3d80cfc9e876d3":[4,0,5,79],
-"classApp.html#a6859a4848a5c0049b4134cc4b34228b6":[4,0,5,80],
+"classApp.html#a6844aedad10e201b8c3d80cfc9e876d3":[4,0,5,80],
+"classApp.html#a6859a4848a5c0049b4134cc4b34228b6":[4,0,5,81],
"classApp.html#a6bcb19cdc4907077da72864686d5a780":[4,0,5,68],
"classApp.html#a6e4f0fbfa3cf6c11baebe22a03db6165":[4,0,5,64],
"classApp.html#a6f55d087e1ff4710132c1b0863faa2ee":[4,0,5,47],
-"classApp.html#a764cc6cd7578132c21d2b4545de9301c":[4,0,5,81],
+"classApp.html#a764cc6cd7578132c21d2b4545de9301c":[4,0,5,82],
"classApp.html#a78788f6e9d8b713b138f81e457c5cd08":[4,0,5,20],
"classApp.html#a7954862f44f606b0ff83d4c74d15e792":[4,0,5,57],
"classApp.html#a871898becd0697d778f36d9336253ae8":[4,0,5,14],
"classApp.html#a8863703a0305eaa45eb970dbd2046291":[4,0,5,16],
"classApp.html#a89e9feb2bfb5253883a9720beaffe876":[4,0,5,21],
-"classApp.html#a91fd3c8b89016113b05f3be24805ccff":[4,0,5,85],
+"classApp.html#a91fd3c8b89016113b05f3be24805ccff":[4,0,5,86],
"classApp.html#a94a1ed2dc493c58612d17035b74ae736":[4,0,5,31],
"classApp.html#a98ef4cfd36693a3457c879b76bc6d694":[4,0,5,44],
"classApp.html#a9bf62f8e39585c0aa48fcffc3bf3484d":[4,0,5,63],
-"classApp.html#aa5a87c46ab3fee21362c466bf78042ef":[4,0,5,89],
+"classApp.html#aa5a87c46ab3fee21362c466bf78042ef":[4,0,5,90],
"classApp.html#aab23c59172310fd30f2d60dc039d3eea":[4,0,5,13],
"classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e":[4,0,5,38],
-"classApp.html#ab35b01a366a2ea95725e97af278f87ab":[4,0,5,84],
+"classApp.html#ab35b01a366a2ea95725e97af278f87ab":[4,0,5,85],
"classApp.html#ab3da757abe5cb45bf88f07cc51a73b58":[4,0,5,35],
"classApp.html#ab47de68fa39806d1fb0976407e188b77":[4,0,5,70],
"classApp.html#abe0e4fa91097f7a6588e1213a834121c":[4,0,5,37],
@@ -204,16 +215,16 @@ var NAVTREEINDEX1 =
"classApp.html#ac73dc90e4764497e2f1b7e6612c8fb88":[4,0,5,43],
"classApp.html#acad5896b7a79ae31433ad8f89606c728":[4,0,5,69],
"classApp.html#acb27e607fe4c82603444676e25c36b70":[4,0,5,11],
-"classApp.html#ad082d63acc078e5bf23825a03bdd6a76":[4,0,5,76],
+"classApp.html#ad082d63acc078e5bf23825a03bdd6a76":[4,0,5,77],
"classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0":[4,0,5,41],
"classApp.html#ad5175536561021548ae8188e24c7b80c":[4,0,5,36],
"classApp.html#adb060d5c7f35a521ec7ec0effbe08097":[4,0,5,27],
"classApp.html#adb5a4bb657881e553978ff390babd01f":[4,0,5,10],
-"classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8":[4,0,5,87],
+"classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8":[4,0,5,88],
"classApp.html#ae3f47830543d0d902f66913def8db66b":[4,0,5,53],
"classApp.html#ae9f96338f32187d308b67b980eea0008":[4,0,5,71],
"classApp.html#aeb1fe1c8ad9aa639909bd183ce578536":[4,0,5,18],
-"classApp.html#aeca29fd4f7192ca07369b3c598c36e67":[4,0,5,82],
+"classApp.html#aeca29fd4f7192ca07369b3c598c36e67":[4,0,5,83],
"classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166":[4,0,5,15],
"classApp.html#af5007c42a693afd9c4899c243b2e1363":[4,0,5,49],
"classApp.html#af58db526040829b1c8bd95561b329262":[4,0,5,34],
@@ -238,16 +249,5 @@ var NAVTREEINDEX1 =
"classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3":[4,0,8,8],
"classConversation.html#aa95c1a62af38bdfba7add9549bec083b":[4,0,8,13],
"classConversation.html#adf25ce023b69a166c63c6e84e02c136a":[4,0,8,9],
-"classConversation.html#ae3d4190142e12b57051f11f2911f77a0":[4,0,8,4],
-"classConversation.html#ae81221251307e315f566a11f921ce0a9":[4,0,8,21],
-"classConversation.html#ae9937f9e0f3d927acc2bed46cc72e9ae":[4,0,8,18],
-"classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09":[4,0,8,0],
-"classConversation.html#afb03d1648dbfafe62caa1e30f32f2b1a":[4,0,8,15],
-"classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6":[4,0,8,14],
-"classFKOAuth1.html":[4,0,13],
-"classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f":[4,0,13,1],
-"classFKOAuth1.html#a2f1276872329a6f0b704ccda1a4b9fa6":[4,0,13,0],
-"classFKOAuthDataStore.html":[4,0,14],
-"classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1":[4,0,14,1],
-"classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050":[4,0,14,5]
+"classConversation.html#ae3d4190142e12b57051f11f2911f77a0":[4,0,8,4]
};
diff --git a/doc/html/navtreeindex2.js b/doc/html/navtreeindex2.js
index 9fc916d75..3d78c394d 100644
--- a/doc/html/navtreeindex2.js
+++ b/doc/html/navtreeindex2.js
@@ -1,5 +1,16 @@
var NAVTREEINDEX2 =
{
+"classConversation.html#ae81221251307e315f566a11f921ce0a9":[4,0,8,21],
+"classConversation.html#ae9937f9e0f3d927acc2bed46cc72e9ae":[4,0,8,18],
+"classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09":[4,0,8,0],
+"classConversation.html#afb03d1648dbfafe62caa1e30f32f2b1a":[4,0,8,15],
+"classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6":[4,0,8,14],
+"classFKOAuth1.html":[4,0,13],
+"classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f":[4,0,13,1],
+"classFKOAuth1.html#a2f1276872329a6f0b704ccda1a4b9fa6":[4,0,13,0],
+"classFKOAuthDataStore.html":[4,0,14],
+"classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1":[4,0,14,1],
+"classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050":[4,0,14,5],
"classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934":[4,0,14,4],
"classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599":[4,0,14,2],
"classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab":[4,0,14,3],
@@ -14,35 +25,35 @@ var NAVTREEINDEX2 =
"classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6":[4,0,16,0],
"classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2":[4,0,16,3],
"classItem.html":[4,0,17],
-"classItem.html#a007424e3e3171dcfb4312a02161da6cd":[4,0,17,33],
-"classItem.html#a078f95b4134ce3a1df344cf8d386f986":[4,0,17,36],
+"classItem.html#a007424e3e3171dcfb4312a02161da6cd":[4,0,17,34],
+"classItem.html#a078f95b4134ce3a1df344cf8d386f986":[4,0,17,37],
"classItem.html#a0c301aaed2b7d682728d18db3a22afa3":[4,0,17,8],
-"classItem.html#a1a1e42877e6ac7af50286142ceb483d2":[4,0,17,38],
-"classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2":[4,0,17,41],
+"classItem.html#a1a1e42877e6ac7af50286142ceb483d2":[4,0,17,39],
+"classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2":[4,0,17,42],
"classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2":[4,0,17,0],
"classItem.html#a2ce70ef63f9f4d86a09c351678806925":[4,0,17,24],
"classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf":[4,0,17,6],
"classItem.html#a428f448f89a8629055ea3294eb942aea":[4,0,17,16],
-"classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8":[4,0,17,43],
+"classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8":[4,0,17,44],
"classItem.html#a4b92e3a9d6212c553aa2661489bd95d8":[4,0,17,15],
"classItem.html#a5b2fafdca55aefeaa08993a5a60529f0":[4,0,17,20],
-"classItem.html#a5b561415861f5b89b0733aacfe0428d1":[4,0,17,39],
-"classItem.html#a5cfa6cf964f433a917a81cab079ff9d8":[4,0,17,42],
-"classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189":[4,0,17,44],
+"classItem.html#a5b561415861f5b89b0733aacfe0428d1":[4,0,17,40],
+"classItem.html#a5cfa6cf964f433a917a81cab079ff9d8":[4,0,17,43],
+"classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189":[4,0,17,45],
"classItem.html#a632185dd25c5caf277067c76230a4320":[4,0,17,4],
"classItem.html#a67892aa23d19f4431bb2e5f43c74000e":[4,0,17,12],
-"classItem.html#a7f7bc059de377319282cb4ef4a828480":[4,0,17,40],
-"classItem.html#a80dcd0fb7673776c0967839d429c2a0f":[4,0,17,30],
+"classItem.html#a7f7bc059de377319282cb4ef4a828480":[4,0,17,41],
+"classItem.html#a80dcd0fb7673776c0967839d429c2a0f":[4,0,17,31],
"classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51":[4,0,17,1],
"classItem.html#a904421c7a427411bb2ab473bca872f63":[4,0,17,7],
-"classItem.html#a90743c8348b13213275c223bb9333aa0":[4,0,17,31],
-"classItem.html#a9594df6014b0b6f45364ea7a34510130":[4,0,17,35],
+"classItem.html#a90743c8348b13213275c223bb9333aa0":[4,0,17,32],
+"classItem.html#a9594df6014b0b6f45364ea7a34510130":[4,0,17,36],
"classItem.html#a97c7feeea7f26a73176cb19faa455e12":[4,0,17,22],
"classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7":[4,0,17,28],
"classItem.html#a9f2d219da712390f59012fc32a342074":[4,0,17,14],
"classItem.html#aa0ee775ec94abccec6c798428835d001":[4,0,17,5],
"classItem.html#aa1bd19fc8b5577078530265a7bf64123":[4,0,17,26],
-"classItem.html#aa2c221231ad0fc3720ccc1f00f0c6304":[4,0,17,32],
+"classItem.html#aa2c221231ad0fc3720ccc1f00f0c6304":[4,0,17,33],
"classItem.html#aa452b5bcd8dea12119b09212c615cb41":[4,0,17,25],
"classItem.html#aa49e40f961dff66da32c5ae110e32993":[4,0,17,21],
"classItem.html#aa541bc4290e51bfd688d6921bebabc73":[4,0,17,13],
@@ -54,11 +65,12 @@ var NAVTREEINDEX2 =
"classItem.html#ac0f27e58532612f6e7a54c8a621b9b92":[4,0,17,11],
"classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c":[4,0,17,10],
"classItem.html#aca1e66988ed00cd627b2a359b72cd0ae":[4,0,17,3],
-"classItem.html#acc32426c0f465391be8a99ad810c7b8e":[4,0,17,29],
+"classItem.html#acc32426c0f465391be8a99ad810c7b8e":[4,0,17,30],
"classItem.html#ad3638f93065693c1f69eb349feb1b7aa":[4,0,17,9],
"classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8":[4,0,17,18],
-"classItem.html#aec24e233f9098f902b1e57e60dcb2019":[4,0,17,34],
-"classItem.html#afa54851df82962c7c42dea3cc9f5c92c":[4,0,17,37],
+"classItem.html#aec24e233f9098f902b1e57e60dcb2019":[4,0,17,35],
+"classItem.html#af1b73df9b7c4b927e26b7e243b491f42":[4,0,17,29],
+"classItem.html#afa54851df82962c7c42dea3cc9f5c92c":[4,0,17,38],
"classProtoDriver.html":[4,0,22],
"classProtoDriver.html#a1593f3abae050edbd9304f4f8bc4894a":[4,0,22,0],
"classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d":[4,0,22,2],
@@ -68,33 +80,54 @@ var NAVTREEINDEX2 =
"classProtoDriver.html#ae5b44739f84c10d00a9b65adf3785181":[4,0,22,5],
"classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b":[4,0,22,3],
"classRedBasicAuth.html":[4,0,23],
-"classRedBasicAuth.html#a8dfd9a0953f8884723b421b7c1acf79b":[4,0,23,0],
-"classRedDirectory.html":[4,0,24],
-"classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0":[4,0,24,3],
-"classRedDirectory.html#a5e3fc08b2bf9f61cea4d2ccae0495bec":[4,0,24,1],
-"classRedDirectory.html#a8d5df814b2f825dd14c628a51b5829b5":[4,0,24,8],
-"classRedDirectory.html#a9616af16cd19a18a6afebebcc2881c44":[4,0,24,6],
-"classRedDirectory.html#a986936910f0216887a25e28916c166c7":[4,0,24,2],
-"classRedDirectory.html#aa42d3065f6f065b17db87146a7cb031a":[4,0,24,5],
-"classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569":[4,0,24,4],
-"classRedDirectory.html#acb32b8df27538c57772824a745e751d7":[4,0,24,9],
-"classRedDirectory.html#add0bf2c049230fec4913e769d126e6e6":[4,0,24,0],
-"classRedDirectory.html#ae624dcaa4d73a517f4b1616d33df690d":[4,0,24,7],
-"classRedFile.html":[4,0,25],
-"classRedFile.html#a26416827eb68554d033d1e2e5cc6dd3b":[4,0,25,2],
-"classRedFile.html#a2ff12032b45538353eded9809d3b7550":[4,0,25,6],
-"classRedFile.html#a41a49a583eb276b75626fcf97f4a699c":[4,0,25,5],
-"classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535":[4,0,25,1],
-"classRedFile.html#acb1edbe1848fab05347746fa1ea09d8f":[4,0,25,4],
-"classRedFile.html#ad4588b90004a2741b1a4ced10355904c":[4,0,25,0],
-"classRedFile.html#ae96d5caa2db7a461c57b24380fa87e28":[4,0,25,3],
-"classRedInode.html":[4,0,26],
-"classRedInode.html#a21a6f92921c037c868e6fae30c7c51bb":[4,0,26,0],
-"classRedInode.html#a3d76322f25d847b123b3df37a26dd04e":[4,0,26,4],
-"classRedInode.html#a5e8f09bc887725c3c448f8d72fe3edfc":[4,0,26,1],
-"classRedInode.html#a7b317eb1230930154107ed51e54193f5":[4,0,26,5],
-"classRedInode.html#a8503d4f247186e9e55bc42b37e067fb6":[4,0,26,2],
-"classRedInode.html#aec5706105400764124db39d4bc68d458":[4,0,26,3],
+"classRedBasicAuth.html#a072e8244a9a7f191b32d3db5ac94f857":[4,0,23,1],
+"classRedBasicAuth.html#a09c1488a0b290f5a54dc15180c5690d7":[4,0,23,8],
+"classRedBasicAuth.html#a2d0246ed446fd5e55c17938b4ce6ac47":[4,0,23,10],
+"classRedBasicAuth.html#a2dab393650d1573e3515969a153e8354":[4,0,23,5],
+"classRedBasicAuth.html#a358ddad4abb5aa8c1382cf49a907adbc":[4,0,23,0],
+"classRedBasicAuth.html#a438ab125b6ef46581947e35d49cdebac":[4,0,23,6],
+"classRedBasicAuth.html#a8d09b8d784cc810a0b3be580d05106a7":[4,0,23,9],
+"classRedBasicAuth.html#a8dfd9a0953f8884723b421b7c1acf79b":[4,0,23,2],
+"classRedBasicAuth.html#aa75dc43b59adc98e38a98517d3fd35d1":[4,0,23,7],
+"classRedBasicAuth.html#ad5a3ea4dc4783b242d9dc6e76478b6ef":[4,0,23,4],
+"classRedBasicAuth.html#af14337f1baad407f8a85d48205c0f30e":[4,0,23,3],
+"classRedBrowser.html":[4,0,24],
+"classRedBrowser.html#a1f7daf50bb9bfcde7345b3b1908dbd7e":[4,0,24,1],
+"classRedBrowser.html#a40fdbb9d9fe6c1243bbf135dd5b0a06f":[4,0,24,3],
+"classRedBrowser.html#a4b76be9ccef0262cf78fffb4129eda93":[4,0,24,0],
+"classRedBrowser.html#a7f6bf0bda07833f4c647557bd172e349":[4,0,24,2],
+"classRedBrowser.html#ab6d6d1e2a67e06b344a4cede1bd00b35":[4,0,24,4],
+"classRedDirectory.html":[4,0,25],
+"classRedDirectory.html#a0f113244cd85c17848df991001d024f4":[4,0,25,11],
+"classRedDirectory.html#a1e35e3cd31d2a15250655e4cafdea180":[4,0,25,0],
+"classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0":[4,0,25,3],
+"classRedDirectory.html#a2f7a574f2115f099d6dd103d5b252375":[4,0,25,9],
+"classRedDirectory.html#a3c148c07ad909985125aa4926d8d0021":[4,0,25,13],
+"classRedDirectory.html#a5e3fc08b2bf9f61cea4d2ccae0495bec":[4,0,25,1],
+"classRedDirectory.html#a6c7e08199abc24e6eeb94a4037ef8bfc":[4,0,25,7],
+"classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4":[4,0,25,6],
+"classRedDirectory.html#a9616af16cd19a18a6afebebcc2881c44":[4,0,25,10],
+"classRedDirectory.html#a986936910f0216887a25e28916c166c7":[4,0,25,2],
+"classRedDirectory.html#aa10254abf177bb2a0e4a88495725e09b":[4,0,25,12],
+"classRedDirectory.html#aa42d3065f6f065b17db87146a7cb031a":[4,0,25,5],
+"classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569":[4,0,25,4],
+"classRedDirectory.html#acb32b8df27538c57772824a745e751d7":[4,0,25,14],
+"classRedDirectory.html#ad87c514a307ec97ba0f1372e9bcfa6a4":[4,0,25,15],
+"classRedDirectory.html#af6e4475dbd5abcdede00d20b8d388583":[4,0,25,8],
+"classRedFile.html":[4,0,26],
+"classRedFile.html#a0c961c5f49544d2502420361fa526437":[4,0,26,6],
+"classRedFile.html#a26416827eb68554d033d1e2e5cc6dd3b":[4,0,26,3],
+"classRedFile.html#a2ff12032b45538353eded9809d3b7550":[4,0,26,11],
+"classRedFile.html#a38a82bfc1b30028ea6ac75923e90fa25":[4,0,26,9],
+"classRedFile.html#a41562a28007789bbe7fe06d6a20eef47":[4,0,26,5],
+"classRedFile.html#a41a49a583eb276b75626fcf97f4a699c":[4,0,26,8],
+"classRedFile.html#a4b5d0e33f919c6c175b30a55de6263f2":[4,0,26,10],
+"classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535":[4,0,26,2],
+"classRedFile.html#a9a67bdb34c9db6ce144b3f371148b183":[4,0,26,0],
+"classRedFile.html#acb1edbe1848fab05347746fa1ea09d8f":[4,0,26,7],
+"classRedFile.html#acc48c05cd5a70951cb3c615ad84f03ba":[4,0,26,12],
+"classRedFile.html#ae96d5caa2db7a461c57b24380fa87e28":[4,0,26,4],
+"classRedFile.html#aef71c9eaac7052be7dc8602eb12171e7":[4,0,26,1],
"classTemplate.html":[4,0,27],
"classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b":[4,0,27,13],
"classTemplate.html#a285b5b2007dbbf733476273df3fed4ef":[4,0,27,12],
@@ -212,42 +245,9 @@ var NAVTREEINDEX2 =
"cli__suggest_8php.html":[5,0,0,14],
"cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2":[5,0,0,14,0],
"cloud_8php.html":[5,0,1,11],
-"cloud_8php.html#a080071b784fe01d04ed6c09d9f2785b8":[5,0,1,11,1],
+"cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d":[5,0,1,11,0],
"comanche_8php.html":[5,0,0,15],
"comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe":[5,0,0,15,4],
"comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922":[5,0,0,15,2],
-"comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b":[5,0,0,15,1],
-"comanche_8php.html#a5718daeda40bf835345fe061e8808cdf":[5,0,0,15,3],
-"comanche_8php.html#a5a7ab801717d38e91ac910b933973887":[5,0,0,15,0],
-"comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f":[5,0,0,15,6],
-"comanche_8php.html#ae9fe1ce574db3dd0931eada80234f82a":[5,0,0,15,5],
-"comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e":[5,0,0,15,7],
-"common_8php.html":[5,0,1,12],
-"common_8php.html#a3b12ec67b3d3edcf595c8d195da5d14a":[5,0,1,12,0],
-"common_8php.html#ab63408f39abef7a6915186e8dabc5a96":[5,0,1,12,1],
-"common_8php.html#aca62f113655809f41f49042ce9b123c2":[5,0,1,12,2],
-"community_8php.html":[5,0,1,13],
-"community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a":[5,0,1,13,0],
-"community_8php.html#a56c94ec978a38633c5628fa6f8e386d9":[5,0,1,13,1],
-"connect_8php.html":[5,0,1,14],
-"connect_8php.html#a417ec27afe33f21a929667a665e32ee2":[5,0,1,14,2],
-"connect_8php.html#a489f0a66c660de6ec4d6917b27674f07":[5,0,1,14,0],
-"connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36":[5,0,1,14,1],
-"connections_8php.html":[5,0,1,15],
-"connections_8php.html#a1224058db8e3fb56463eb312f98e561d":[5,0,1,15,4],
-"connections_8php.html#a15af118efee9c948b6f8294e54a73bb2":[5,0,1,15,1],
-"connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558":[5,0,1,15,3],
-"connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c":[5,0,1,15,2],
-"connections_8php.html#af48f7ad20914760ba9874c090384e35a":[5,0,1,15,0],
-"contact__selectors_8php.html":[5,0,0,18],
-"contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75":[5,0,0,18,1],
-"contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f":[5,0,0,18,0],
-"contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be":[5,0,0,18,3],
-"contact__selectors_8php.html#ae499960d6467bd30c78607b1018baf53":[5,0,0,18,2],
-"contact__widgets_8php.html":[5,0,0,19],
-"contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353":[5,0,0,19,0],
-"contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b":[5,0,0,19,2],
-"contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65":[5,0,0,19,1],
-"contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6":[5,0,0,19,3],
-"contact__widgets_8php.html#af24e693532a045954caab515942cfc6f":[5,0,0,19,4]
+"comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b":[5,0,0,15,1]
};
diff --git a/doc/html/navtreeindex3.js b/doc/html/navtreeindex3.js
index d333cde66..9172e91b1 100644
--- a/doc/html/navtreeindex3.js
+++ b/doc/html/navtreeindex3.js
@@ -1,7 +1,42 @@
var NAVTREEINDEX3 =
{
-"contactgroup_8php.html":[5,0,1,16],
-"contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3":[5,0,1,16,0],
+"comanche_8php.html#a5718daeda40bf835345fe061e8808cdf":[5,0,0,15,3],
+"comanche_8php.html#a5a7ab801717d38e91ac910b933973887":[5,0,0,15,0],
+"comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f":[5,0,0,15,6],
+"comanche_8php.html#ae9fe1ce574db3dd0931eada80234f82a":[5,0,0,15,5],
+"comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e":[5,0,0,15,7],
+"common_8php.html":[5,0,1,12],
+"common_8php.html#ab63408f39abef7a6915186e8dabc5a96":[5,0,1,12,0],
+"common_8php.html#aca62f113655809f41f49042ce9b123c2":[5,0,1,12,1],
+"community_8php.html":[5,0,1,13],
+"community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a":[5,0,1,13,0],
+"community_8php.html#a56c94ec978a38633c5628fa6f8e386d9":[5,0,1,13,1],
+"connect_8php.html":[5,0,1,14],
+"connect_8php.html#a417ec27afe33f21a929667a665e32ee2":[5,0,1,14,2],
+"connect_8php.html#a489f0a66c660de6ec4d6917b27674f07":[5,0,1,14,0],
+"connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36":[5,0,1,14,1],
+"connections_8php.html":[5,0,1,15],
+"connections_8php.html#a1224058db8e3fb56463eb312f98e561d":[5,0,1,15,3],
+"connections_8php.html#a15af118efee9c948b6f8294e54a73bb2":[5,0,1,15,0],
+"connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558":[5,0,1,15,2],
+"connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c":[5,0,1,15,1],
+"connedit_8php.html":[5,0,1,16],
+"connedit_8php.html#a234c48426b652bf4d37053f2af329ac5":[5,0,1,16,3],
+"connedit_8php.html#a4da871e075597a09a8b374b9171dd92e":[5,0,1,16,2],
+"connedit_8php.html#a707ea7e63cf9674025b1d6b081ae74f5":[5,0,1,16,0],
+"connedit_8php.html#a795acb3d9d841f55c255d7611681ab67":[5,0,1,16,1],
+"contact__selectors_8php.html":[5,0,0,18],
+"contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75":[5,0,0,18,1],
+"contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f":[5,0,0,18,0],
+"contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be":[5,0,0,18,3],
+"contact__selectors_8php.html#ae499960d6467bd30c78607b1018baf53":[5,0,0,18,2],
+"contact__widgets_8php.html":[5,0,0,19],
+"contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353":[5,0,0,19,0],
+"contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b":[5,0,0,19,2],
+"contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65":[5,0,0,19,1],
+"contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6":[5,0,0,19,3],
+"contactgroup_8php.html":[5,0,1,17],
+"contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3":[5,0,1,17,0],
"conversation_8php.html":[5,0,0,20],
"conversation_8php.html#a0891aaa4492cba2b51eda12fe01957f3":[5,0,0,20,7],
"conversation_8php.html#a0ee05f15255fb1cc3d89f30bc378a654":[5,0,0,20,9],
@@ -27,10 +62,6 @@ var NAVTREEINDEX3 =
"conversation_8php.html#ae996eb116d397a2c6396c312d7b98664":[5,0,0,20,18],
"conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0":[5,0,0,20,12],
"conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81":[5,0,0,20,3],
-"crepair_8php.html":[5,0,1,17],
-"crepair_8php.html#a29464c01838e209c8059cfcd2d195caa":[5,0,1,17,0],
-"crepair_8php.html#ab089978e50df156bbfabf9f8f5ccd198":[5,0,1,17,1],
-"crepair_8php.html#acc4493e1ffd1462a605dd9b870034513":[5,0,1,17,2],
"cronhooks_8php.html":[5,0,0,22],
"cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca":[5,0,0,22,0],
"crypto_8php.html":[5,0,0,23],
@@ -109,12 +140,14 @@ var NAVTREEINDEX3 =
"dir_d41ce877eb409a4791b288730010abe2.html":[5,0,1],
"dir_d44c64559bbebec7f509842c48db8b23.html":[5,0,0],
"dir_d520c5cf583201d9437764f209363c22.html":[5,0,3,1,0],
-"dirsearch_8php.html":[5,0,1,20],
-"dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752":[5,0,1,20,1],
-"dirsearch_8php.html#a985d410a170549429857af6ff2673149":[5,0,1,20,2],
-"dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c":[5,0,1,20,0],
-"display_8php.html":[5,0,1,21],
-"display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0":[5,0,1,21,0],
+"dirprofile_8php.html":[5,0,1,20],
+"dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052":[5,0,1,20,0],
+"dirsearch_8php.html":[5,0,1,21],
+"dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752":[5,0,1,21,1],
+"dirsearch_8php.html#a985d410a170549429857af6ff2673149":[5,0,1,21,2],
+"dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c":[5,0,1,21,0],
+"display_8php.html":[5,0,1,22],
+"display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0":[5,0,1,22,0],
"docblox__errorchecker_8php.html":[5,0,2,3],
"docblox__errorchecker_8php.html#a1659f0a629d408e0f849dbe4ee061e62":[5,0,2,3,3],
"docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec":[5,0,2,3,2],
@@ -127,14 +160,14 @@ var NAVTREEINDEX3 =
"docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6":[5,0,2,3,4],
"docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f":[5,0,2,3,1],
"docblox__errorchecker_8php.html#af4ca738a05beffe9c8c23e1f7aea3c2d":[5,0,2,3,10],
-"editblock_8php.html":[5,0,1,22],
-"editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6":[5,0,1,22,0],
-"editlayout_8php.html":[5,0,1,23],
-"editlayout_8php.html#aa877e4157a26b099de904164181dd386":[5,0,1,23,0],
-"editpost_8php.html":[5,0,1,24],
-"editpost_8php.html#a34011690864d122680c802e9e748ccfb":[5,0,1,24,0],
-"editwebpage_8php.html":[5,0,1,25],
-"editwebpage_8php.html#a375e945255fad79a71036528f7480650":[5,0,1,25,0],
+"editblock_8php.html":[5,0,1,23],
+"editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6":[5,0,1,23,0],
+"editlayout_8php.html":[5,0,1,24],
+"editlayout_8php.html#aa877e4157a26b099de904164181dd386":[5,0,1,24,0],
+"editpost_8php.html":[5,0,1,25],
+"editpost_8php.html#a34011690864d122680c802e9e748ccfb":[5,0,1,25,0],
+"editwebpage_8php.html":[5,0,1,26],
+"editwebpage_8php.html#a375e945255fad79a71036528f7480650":[5,0,1,26,0],
"enotify_8php.html":[5,0,0,28],
"enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc":[5,0,0,28,1],
"event_8php.html":[5,0,0,29],
@@ -145,9 +178,9 @@ var NAVTREEINDEX3 =
"event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850":[5,0,0,29,2],
"event_8php.html#a89ef533faf345db8d64a58d4856bde3a":[5,0,0,29,3],
"event_8php.html#abb74206cf42d694307c3d7abb7af9869":[5,0,0,29,4],
-"events_8php.html":[5,0,1,26],
-"events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec":[5,0,1,26,0],
-"events_8php.html#ab3e8a8f901175f8e40a8089eea45c075":[5,0,1,26,1],
+"events_8php.html":[5,0,1,27],
+"events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec":[5,0,1,27,0],
+"events_8php.html#ab3e8a8f901175f8e40a8089eea45c075":[5,0,1,27,1],
"expire_8php.html":[5,0,0,30],
"expire_8php.html#a444e45c9b67727b27db4c779fd51a298":[5,0,0,30,0],
"extract_8php.html":[5,0,2,4],
@@ -155,20 +188,21 @@ var NAVTREEINDEX3 =
"extract_8php.html#a50b05cf2e02ef0b67fcad97106dd7634":[5,0,2,4,2],
"extract_8php.html#a63bb4c41bc532baacf6a4976cfaa0feb":[5,0,2,4,0],
"extract_8php.html#a9590b15215a21e9b42eb546aeef79704":[5,0,2,4,1],
-"fbrowser_8php.html":[5,0,1,27],
-"fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4":[5,0,1,27,0],
+"fbrowser_8php.html":[5,0,1,28],
+"fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4":[5,0,1,28,0],
"features_8php.html":[5,0,0,31],
"features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0":[5,0,0,31,0],
"features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c":[5,0,0,31,1],
-"feed_8php.html":[5,0,1,28],
-"feed_8php.html#af86137700b56f33d1d5f25c8dec22c04":[5,0,1,28,0],
-"filer_8php.html":[5,0,1,29],
-"filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274":[5,0,1,29,0],
-"filerm_8php.html":[5,0,1,30],
-"filerm_8php.html#ae2eb28d2054fa2c37e38689882172208":[5,0,1,30,0],
+"feed_8php.html":[5,0,1,29],
+"feed_8php.html#af86137700b56f33d1d5f25c8dec22c04":[5,0,1,29,0],
+"filer_8php.html":[5,0,1,30],
+"filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274":[5,0,1,30,0],
+"filerm_8php.html":[5,0,1,31],
+"filerm_8php.html#ae2eb28d2054fa2c37e38689882172208":[5,0,1,31,0],
"files.html":[5,0],
-"filestorage_8php.html":[5,0,1,31],
-"filestorage_8php.html#a61bb1be78472555df4ce619f51014040":[5,0,1,31,0],
+"filestorage_8php.html":[5,0,1,32],
+"filestorage_8php.html#a61bb1be78472555df4ce619f51014040":[5,0,1,32,0],
+"filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd":[5,0,1,32,1],
"fpostit_8php.html":[5,0,2,0,0],
"fpostit_8php.html#a3f3ae3ae61578b5671673914fd894443":[5,0,2,0,0,0],
"fpostit_8php.html#a501b5ca82f287509fc691c88524064c1":[5,0,2,0,0,1],
@@ -189,9 +223,9 @@ var NAVTREEINDEX3 =
"friendica-to-smarty-tpl_8py.html#aecf730e0884bb4ddc6c0deb1ef85f8eb":[5,0,2,5,4],
"friendica-to-smarty-tpl_8py.html#af6b2c793958aae2aadc294577431f749":[5,0,2,5,3],
"friendica__smarty_8php.html":[5,0,0,33],
-"fsuggest_8php.html":[5,0,1,33],
-"fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d":[5,0,1,33,1],
-"fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998":[5,0,1,33,0],
+"fsuggest_8php.html":[5,0,1,34],
+"fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d":[5,0,1,34,1],
+"fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998":[5,0,1,34,0],
"full_8php.html":[5,0,3,0,1],
"full_8php.html#a6fac1b4b8cdfde06ea1b7713479e92db":[5,0,3,0,1,0],
"functions.html":[4,3,0],
@@ -215,39 +249,5 @@ var NAVTREEINDEX3 =
"functions_0x73.html":[4,3,0,17],
"functions_0x74.html":[4,3,0,18],
"functions_0x76.html":[4,3,0,19],
-"functions_func.html":[4,3,1,0],
-"functions_func.html":[4,3,1],
-"functions_func_0x61.html":[4,3,1,1],
-"functions_func_0x62.html":[4,3,1,2],
-"functions_func_0x63.html":[4,3,1,3],
-"functions_func_0x64.html":[4,3,1,4],
-"functions_func_0x65.html":[4,3,1,5],
-"functions_func_0x66.html":[4,3,1,6],
-"functions_func_0x67.html":[4,3,1,7],
-"functions_func_0x68.html":[4,3,1,8],
-"functions_func_0x69.html":[4,3,1,9],
-"functions_func_0x6c.html":[4,3,1,10],
-"functions_func_0x6e.html":[4,3,1,11],
-"functions_func_0x6f.html":[4,3,1,12],
-"functions_func_0x70.html":[4,3,1,13],
-"functions_func_0x71.html":[4,3,1,14],
-"functions_func_0x72.html":[4,3,1,15],
-"functions_func_0x73.html":[4,3,1,16],
-"functions_func_0x74.html":[4,3,1,17],
-"functions_func_0x76.html":[4,3,1,18],
-"functions_vars.html":[4,3,2],
-"globals.html":[5,1,0],
-"globals.html":[5,1,0,0],
-"globals_0x5f.html":[5,1,0,1],
-"globals_0x61.html":[5,1,0,2],
-"globals_0x62.html":[5,1,0,3],
-"globals_0x63.html":[5,1,0,4],
-"globals_0x64.html":[5,1,0,5],
-"globals_0x65.html":[5,1,0,6],
-"globals_0x66.html":[5,1,0,7],
-"globals_0x67.html":[5,1,0,8],
-"globals_0x68.html":[5,1,0,9],
-"globals_0x69.html":[5,1,0,10],
-"globals_0x6a.html":[5,1,0,11],
-"globals_0x6b.html":[5,1,0,12]
+"functions_func.html":[4,3,1]
};
diff --git a/doc/html/navtreeindex4.js b/doc/html/navtreeindex4.js
index 507a865e8..b9cfd47e0 100644
--- a/doc/html/navtreeindex4.js
+++ b/doc/html/navtreeindex4.js
@@ -1,5 +1,39 @@
var NAVTREEINDEX4 =
{
+"functions_func.html":[4,3,1,0],
+"functions_func_0x61.html":[4,3,1,1],
+"functions_func_0x62.html":[4,3,1,2],
+"functions_func_0x63.html":[4,3,1,3],
+"functions_func_0x64.html":[4,3,1,4],
+"functions_func_0x65.html":[4,3,1,5],
+"functions_func_0x66.html":[4,3,1,6],
+"functions_func_0x67.html":[4,3,1,7],
+"functions_func_0x68.html":[4,3,1,8],
+"functions_func_0x69.html":[4,3,1,9],
+"functions_func_0x6c.html":[4,3,1,10],
+"functions_func_0x6e.html":[4,3,1,11],
+"functions_func_0x6f.html":[4,3,1,12],
+"functions_func_0x70.html":[4,3,1,13],
+"functions_func_0x71.html":[4,3,1,14],
+"functions_func_0x72.html":[4,3,1,15],
+"functions_func_0x73.html":[4,3,1,16],
+"functions_func_0x74.html":[4,3,1,17],
+"functions_func_0x76.html":[4,3,1,18],
+"functions_vars.html":[4,3,2],
+"globals.html":[5,1,0,0],
+"globals.html":[5,1,0],
+"globals_0x5f.html":[5,1,0,1],
+"globals_0x61.html":[5,1,0,2],
+"globals_0x62.html":[5,1,0,3],
+"globals_0x63.html":[5,1,0,4],
+"globals_0x64.html":[5,1,0,5],
+"globals_0x65.html":[5,1,0,6],
+"globals_0x66.html":[5,1,0,7],
+"globals_0x67.html":[5,1,0,8],
+"globals_0x68.html":[5,1,0,9],
+"globals_0x69.html":[5,1,0,10],
+"globals_0x6a.html":[5,1,0,11],
+"globals_0x6b.html":[5,1,0,12],
"globals_0x6c.html":[5,1,0,13],
"globals_0x6d.html":[5,1,0,14],
"globals_0x6e.html":[5,1,0,15],
@@ -14,8 +48,8 @@ var NAVTREEINDEX4 =
"globals_0x77.html":[5,1,0,24],
"globals_0x78.html":[5,1,0,25],
"globals_0x7a.html":[5,1,0,26],
-"globals_func.html":[5,1,1],
"globals_func.html":[5,1,1,0],
+"globals_func.html":[5,1,1],
"globals_func_0x61.html":[5,1,1,1],
"globals_func_0x62.html":[5,1,1,2],
"globals_func_0x63.html":[5,1,1,3],
@@ -41,8 +75,8 @@ var NAVTREEINDEX4 =
"globals_func_0x77.html":[5,1,1,23],
"globals_func_0x78.html":[5,1,1,24],
"globals_func_0x7a.html":[5,1,1,25],
-"globals_vars.html":[5,1,2,0],
"globals_vars.html":[5,1,2],
+"globals_vars.html":[5,1,2,0],
"globals_vars_0x61.html":[5,1,2,1],
"globals_vars_0x63.html":[5,1,2,2],
"globals_vars_0x64.html":[5,1,2,3],
@@ -67,14 +101,13 @@ var NAVTREEINDEX4 =
"gprobe_8php.html":[5,0,0,34],
"gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1":[5,0,0,34,0],
"greenthumbnails_8php.html":[5,0,3,1,0,1,3],
-"hcard_8php.html":[5,0,1,35],
-"hcard_8php.html#a956c7cae2009652a37900306e5b7b73d":[5,0,1,35,0],
-"hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d":[5,0,1,35,1],
"help_8php.html":[5,0,1,36],
"help_8php.html#a06b2a51aaabed99e53a9b639047c4ce4":[5,0,1,36,1],
"help_8php.html#af055e15f600ffa6fbca9386fdf715224":[5,0,1,36,0],
"hierarchy.html":[4,2],
"home_8php.html":[5,0,1,37],
+"home_8php.html#aa1cf697851a646755baf537f75334c46":[5,0,1,37,0],
+"home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde":[5,0,1,37,1],
"hostxrd_8php.html":[5,0,1,38],
"hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92":[5,0,1,38,0],
"html2bbcode_8php.html":[5,0,0,36],
@@ -88,24 +121,28 @@ var NAVTREEINDEX4 =
"html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04":[5,0,0,37,2],
"html2plain_8php.html#ae1c203d0f089d5678d73a6c64a395201":[5,0,0,37,1],
"identity_8php.html":[5,0,0,38],
-"identity_8php.html#a345f4c943d84de502ec6e72d2c813945":[5,0,0,38,3],
-"identity_8php.html#a3570a4eb77332b292d394c4132cb8f03":[5,0,0,38,9],
-"identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc":[5,0,0,38,13],
-"identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68":[5,0,0,38,12],
-"identity_8php.html#a490972c02fdb638c52ec0e012a30bfd2":[5,0,0,38,6],
-"identity_8php.html#a5b815330f3d177ab383af37a6c12e532":[5,0,0,38,16],
-"identity_8php.html#a680fbafc2db023c5b1309e0180e81315":[5,0,0,38,17],
+"identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05":[5,0,0,38,3],
+"identity_8php.html#a345f4c943d84de502ec6e72d2c813945":[5,0,0,38,2],
+"identity_8php.html#a3570a4eb77332b292d394c4132cb8f03":[5,0,0,38,11],
+"identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc":[5,0,0,38,17],
+"identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68":[5,0,0,38,16],
+"identity_8php.html#a490972c02fdb638c52ec0e012a30bfd2":[5,0,0,38,7],
+"identity_8php.html#a5b815330f3d177ab383af37a6c12e532":[5,0,0,38,20],
+"identity_8php.html#a680fbafc2db023c5b1309e0180e81315":[5,0,0,38,21],
"identity_8php.html#a77d2237f1846964634b1c99089c27c7d":[5,0,0,38,1],
-"identity_8php.html#a78151baf4407a8482d2681a91a9c486b":[5,0,0,38,14],
-"identity_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec":[5,0,0,38,7],
+"identity_8php.html#a78151baf4407a8482d2681a91a9c486b":[5,0,0,38,18],
+"identity_8php.html#a9637c557e13d9671f3eeb124ab98212a":[5,0,0,38,14],
+"identity_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec":[5,0,0,38,8],
"identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4":[5,0,0,38,0],
-"identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3":[5,0,0,38,8],
-"identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd":[5,0,0,38,2],
-"identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633":[5,0,0,38,10],
+"identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3":[5,0,0,38,10],
+"identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51":[5,0,0,38,9],
+"identity_8php.html#ab1485a26b032956e1496fc08c58b83ed":[5,0,0,38,5],
+"identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633":[5,0,0,38,12],
"identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51":[5,0,0,38,4],
-"identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620":[5,0,0,38,11],
-"identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312":[5,0,0,38,5],
-"identity_8php.html#af2802bc13a00a17b867bba7978ba8f58":[5,0,0,38,15],
+"identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620":[5,0,0,38,15],
+"identity_8php.html#ae2b140df652a55ca11bb6a99005fce35":[5,0,0,38,13],
+"identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312":[5,0,0,38,6],
+"identity_8php.html#af2802bc13a00a17b867bba7978ba8f58":[5,0,0,38,19],
"import_8php.html":[5,0,1,39],
"import_8php.html#af17fef0410518f7eac205d0ea416eaa2":[5,0,1,39,1],
"import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184":[5,0,1,39,0],
@@ -164,13 +201,17 @@ var NAVTREEINDEX4 =
"include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0":[5,0,0,5,27],
"include_2attach_8php.html":[5,0,0,6],
"include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36":[5,0,0,6,0],
-"include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d":[5,0,0,6,3],
-"include_2attach_8php.html#a6fdd92775f31c07d2863e16e0026018a":[5,0,0,6,6],
-"include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f":[5,0,0,6,5],
-"include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3":[5,0,0,6,2],
-"include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc":[5,0,0,6,4],
+"include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d":[5,0,0,6,5],
+"include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221":[5,0,0,6,2],
+"include_2attach_8php.html#a5d484de2d19a93071571d6499a50ae34":[5,0,0,6,9],
+"include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce":[5,0,0,6,8],
+"include_2attach_8php.html#a6fdd92775f31c07d2863e16e0026018a":[5,0,0,6,10],
+"include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd":[5,0,0,6,4],
+"include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f":[5,0,0,6,7],
+"include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3":[5,0,0,6,3],
+"include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc":[5,0,0,6,6],
"include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932":[5,0,0,6,1],
-"include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909":[5,0,0,6,7],
+"include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909":[5,0,0,6,11],
"include_2chanman_8php.html":[5,0,0,12],
"include_2chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b":[5,0,0,12,0],
"include_2config_8php.html":[5,0,0,16],
@@ -195,59 +236,18 @@ var NAVTREEINDEX4 =
"include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b":[5,0,0,35,2],
"include_2group_8php.html#a048f6892bfd28852de1b76470df411de":[5,0,0,35,10],
"include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce":[5,0,0,35,1],
-"include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17":[5,0,0,35,8],
"include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345":[5,0,0,35,0],
"include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5":[5,0,0,35,6],
"include_2group_8php.html#a540e3ef36f47d47532646be4241f6518":[5,0,0,35,7],
"include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09":[5,0,0,35,4],
+"include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9":[5,0,0,35,8],
"include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245":[5,0,0,35,5],
"include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32":[5,0,0,35,11],
"include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb":[5,0,0,35,3],
"include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f":[5,0,0,35,9],
"include_2menu_8php.html":[5,0,0,43],
-"include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98":[5,0,0,43,1],
-"include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8":[5,0,0,43,3],
-"include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7":[5,0,0,43,8],
-"include_2menu_8php.html#a68ebbf492470c930f652013656f9071d":[5,0,0,43,7],
-"include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571":[5,0,0,43,5],
-"include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e":[5,0,0,43,10],
-"include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a":[5,0,0,43,2],
-"include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa":[5,0,0,43,6],
-"include_2menu_8php.html#acef15a498d52666b1c7e5c12765c689b":[5,0,0,43,9],
-"include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804":[5,0,0,43,4],
-"include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8":[5,0,0,43,0],
-"include_2message_8php.html":[5,0,0,44],
-"include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091":[5,0,0,44,2],
-"include_2message_8php.html#a5f8de9847e203329e317ac38dc646898":[5,0,0,44,1],
-"include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e":[5,0,0,44,3],
-"include_2message_8php.html#a751ffd6635022b2190f56154ee745752":[5,0,0,44,4],
-"include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1":[5,0,0,44,0],
-"include_2network_8php.html":[5,0,0,46],
-"include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0":[5,0,0,46,5],
-"include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6":[5,0,0,46,10],
-"include_2network_8php.html#a469b9bd700269cd07d954f1a16c5899b":[5,0,0,46,4],
-"include_2network_8php.html#a4c5d50079e089168d9248427018fffd4":[5,0,0,46,9],
-"include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2":[5,0,0,46,8],
-"include_2network_8php.html#a5caa264fab6d2b2344e6bd5b298b08f2":[5,0,0,46,13],
-"include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7":[5,0,0,46,7],
-"include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5":[5,0,0,46,14],
-"include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02":[5,0,0,46,12],
-"include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0":[5,0,0,46,6],
-"include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc":[5,0,0,46,19],
-"include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff":[5,0,0,46,16],
-"include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6":[5,0,0,46,17],
-"include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37":[5,0,0,46,18],
-"include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7":[5,0,0,46,2],
-"include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694":[5,0,0,46,0],
-"include_2network_8php.html#ad4056d3ce69988f5c1a997a79f503246":[5,0,0,46,3],
-"include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335":[5,0,0,46,15],
-"include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f":[5,0,0,46,11],
-"include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7":[5,0,0,46,1],
-"include_2notify_8php.html":[5,0,0,48],
-"include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3":[5,0,0,48,0],
-"include_2oembed_8php.html":[5,0,0,50],
-"include_2oembed_8php.html#a000a62b97113cf95b0e9e00412168172":[5,0,0,50,5],
-"include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0":[5,0,0,50,7],
-"include_2oembed_8php.html#a03fa3b7832c98a3d0b4630afeb73d487":[5,0,0,50,1],
-"include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3":[5,0,0,50,4]
+"include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98":[5,0,0,43,2],
+"include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8":[5,0,0,43,4],
+"include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7":[5,0,0,43,9],
+"include_2menu_8php.html#a68ebbf492470c930f652013656f9071d":[5,0,0,43,8]
};
diff --git a/doc/html/navtreeindex5.js b/doc/html/navtreeindex5.js
index ab423c32c..7711618c0 100644
--- a/doc/html/navtreeindex5.js
+++ b/doc/html/navtreeindex5.js
@@ -1,5 +1,47 @@
var NAVTREEINDEX5 =
{
+"include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571":[5,0,0,43,6],
+"include_2menu_8php.html#a7fb5f4847bc94436e43be4b81478febc":[5,0,0,43,0],
+"include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e":[5,0,0,43,11],
+"include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a":[5,0,0,43,3],
+"include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa":[5,0,0,43,7],
+"include_2menu_8php.html#acef15a498d52666b1c7e5c12765c689b":[5,0,0,43,10],
+"include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804":[5,0,0,43,5],
+"include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8":[5,0,0,43,1],
+"include_2message_8php.html":[5,0,0,44],
+"include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091":[5,0,0,44,2],
+"include_2message_8php.html#a5f8de9847e203329e317ac38dc646898":[5,0,0,44,1],
+"include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e":[5,0,0,44,3],
+"include_2message_8php.html#a751ffd6635022b2190f56154ee745752":[5,0,0,44,4],
+"include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1":[5,0,0,44,0],
+"include_2network_8php.html":[5,0,0,46],
+"include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0":[5,0,0,46,5],
+"include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6":[5,0,0,46,10],
+"include_2network_8php.html#a469b9bd700269cd07d954f1a16c5899b":[5,0,0,46,4],
+"include_2network_8php.html#a4c5d50079e089168d9248427018fffd4":[5,0,0,46,9],
+"include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2":[5,0,0,46,8],
+"include_2network_8php.html#a5caa264fab6d2b2344e6bd5b298b08f2":[5,0,0,46,13],
+"include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7":[5,0,0,46,7],
+"include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5":[5,0,0,46,14],
+"include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02":[5,0,0,46,12],
+"include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0":[5,0,0,46,6],
+"include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc":[5,0,0,46,19],
+"include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff":[5,0,0,46,16],
+"include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6":[5,0,0,46,17],
+"include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37":[5,0,0,46,18],
+"include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7":[5,0,0,46,2],
+"include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694":[5,0,0,46,0],
+"include_2network_8php.html#ad4056d3ce69988f5c1a997a79f503246":[5,0,0,46,3],
+"include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335":[5,0,0,46,15],
+"include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f":[5,0,0,46,11],
+"include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7":[5,0,0,46,1],
+"include_2notify_8php.html":[5,0,0,48],
+"include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3":[5,0,0,48,0],
+"include_2oembed_8php.html":[5,0,0,50],
+"include_2oembed_8php.html#a000a62b97113cf95b0e9e00412168172":[5,0,0,50,5],
+"include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0":[5,0,0,50,7],
+"include_2oembed_8php.html#a03fa3b7832c98a3d0b4630afeb73d487":[5,0,0,50,1],
+"include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3":[5,0,0,50,4],
"include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2":[5,0,0,50,3],
"include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a":[5,0,0,50,6],
"include_2oembed_8php.html#ab953a6e7c11bc6498ce01ed73e2ba319":[5,0,0,50,0],
@@ -17,22 +59,18 @@ var NAVTREEINDEX5 =
"interfaceITemplateEngine.html":[4,0,18],
"interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243":[4,0,18,1],
"interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442":[4,0,18,0],
-"intro_8php.html":[5,0,1,40],
-"intro_8php.html#a3e2a523697633ddb4517b9266a515f5b":[5,0,1,40,1],
-"intro_8php.html#abc3abf25da64f98f215126eb08c7936b":[5,0,1,40,0],
-"intro_8php.html#af3681062183ccbdf065ae2647b07d6f1":[5,0,1,40,2],
-"invite_8php.html":[5,0,1,41],
-"invite_8php.html#a244385b28cfd021d308715f01158bfd9":[5,0,1,41,0],
-"invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5":[5,0,1,41,1],
-"item_8php.html":[5,0,1,42],
-"item_8php.html#a3daae7944f737bd30412a0d042207c0f":[5,0,1,42,0],
-"item_8php.html#a5b1b36cb301a94b38150074f0d424e74":[5,0,1,42,3],
-"item_8php.html#a693cd09805755ab85bbb5ecae69a48c3":[5,0,1,42,5],
-"item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221":[5,0,1,42,4],
-"item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10":[5,0,1,42,1],
-"item_8php.html#abd0e603a6696051af16476eb968d52e7":[5,0,1,42,2],
+"invite_8php.html":[5,0,1,40],
+"invite_8php.html#a244385b28cfd021d308715f01158bfd9":[5,0,1,40,0],
+"invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5":[5,0,1,40,1],
+"item_8php.html":[5,0,1,41],
+"item_8php.html#a3daae7944f737bd30412a0d042207c0f":[5,0,1,41,0],
+"item_8php.html#a5b1b36cb301a94b38150074f0d424e74":[5,0,1,41,3],
+"item_8php.html#a693cd09805755ab85bbb5ecae69a48c3":[5,0,1,41,5],
+"item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221":[5,0,1,41,4],
+"item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10":[5,0,1,41,1],
+"item_8php.html#aa22feef4de326e1d7078dedd892e615c":[5,0,1,41,2],
"items_8php.html":[5,0,0,41],
-"items_8php.html#a004e89d86b0f29b2c4da20108ecc4091":[5,0,0,41,53],
+"items_8php.html#a004e89d86b0f29b2c4da20108ecc4091":[5,0,0,41,54],
"items_8php.html#a016dd86c827d08db89061ea81d15c6cb":[5,0,0,41,2],
"items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70":[5,0,0,41,6],
"items_8php.html#a04a35b610acfe54434df08adec39c0c7":[5,0,0,41,27],
@@ -45,6 +83,7 @@ var NAVTREEINDEX5 =
"items_8php.html#a2541e6861a56d145c9281877cc501615":[5,0,0,41,38],
"items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6":[5,0,0,41,3],
"items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259":[5,0,0,41,13],
+"items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6":[5,0,0,41,53],
"items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7":[5,0,0,41,20],
"items_8php.html#a36e656667193c83aa2cc03a024fc131b":[5,0,0,41,0],
"items_8php.html#a410f9c743877c125ca06312373346903":[5,0,0,41,44],
@@ -96,27 +135,26 @@ var NAVTREEINDEX5 =
"language_8php.html#ac9142ef1d01a235c760deb0f16643f5a":[5,0,0,42,5],
"language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e":[5,0,0,42,2],
"language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d":[5,0,0,42,8],
-"lastpost_8php.html":[5,0,1,43],
-"lastpost_8php.html#a6108289ef2a767495c7c85a24f364983":[5,0,1,43,0],
-"lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493":[5,0,1,43,1],
-"lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c":[5,0,1,43,2],
-"layouts_8php.html":[5,0,1,44],
-"layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50":[5,0,1,44,0],
-"like_8php.html":[5,0,1,45],
-"like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538":[5,0,1,45,0],
-"lockview_8php.html":[5,0,1,46],
-"lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44":[5,0,1,46,0],
-"login_8php.html":[5,0,1,47],
-"login_8php.html#a1d69ca88eb9005a7026e128b9a645904":[5,0,1,47,0],
-"lostpass_8php.html":[5,0,1,48],
-"lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3":[5,0,1,48,0],
-"lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc":[5,0,1,48,1],
-"magic_8php.html":[5,0,1,49],
-"magic_8php.html#acea2cc792849ca2d71d4b689f66518bf":[5,0,1,49,0],
-"manage_8php.html":[5,0,1,50],
-"manage_8php.html#a2bca247b5296827638959138367db4f5":[5,0,1,50,0],
-"match_8php.html":[5,0,1,51],
-"match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d":[5,0,1,51,0],
+"layouts_8php.html":[5,0,1,42],
+"layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50":[5,0,1,42,0],
+"like_8php.html":[5,0,1,43],
+"like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538":[5,0,1,43,0],
+"lockview_8php.html":[5,0,1,44],
+"lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44":[5,0,1,44,0],
+"login_8php.html":[5,0,1,45],
+"login_8php.html#a1d69ca88eb9005a7026e128b9a645904":[5,0,1,45,0],
+"lostpass_8php.html":[5,0,1,46],
+"lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3":[5,0,1,46,0],
+"lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc":[5,0,1,46,1],
+"magic_8php.html":[5,0,1,47],
+"magic_8php.html#acea2cc792849ca2d71d4b689f66518bf":[5,0,1,47,0],
+"mail_8php.html":[5,0,1,48],
+"mail_8php.html#a3c7c485fc69f92371e8b20936040eca1":[5,0,1,48,0],
+"mail_8php.html#acfc2cc0bf4e0b178207758384977f25a":[5,0,1,48,1],
+"manage_8php.html":[5,0,1,49],
+"manage_8php.html#a2bca247b5296827638959138367db4f5":[5,0,1,49,0],
+"match_8php.html":[5,0,1,50],
+"match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d":[5,0,1,50,0],
"md_README.html":[2],
"md_config.html":[0],
"md_fresh.html":[1],
@@ -128,10 +166,10 @@ var NAVTREEINDEX5 =
"minimalisticdarkness_8php.html#a6e5d97615c6faef5dbffe04b8024ceaf":[5,0,3,1,0,1,4,0],
"minimalisticdarkness_8php.html#a70bb13be8f23ec47839da81e0796f1cb":[5,0,3,1,0,1,4,2],
"minimalisticdarkness_8php.html#a7e6c3d4efde4e9a2de32308081372c6b":[5,0,3,1,0,1,4,1],
-"mitem_8php.html":[5,0,1,54],
-"mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1":[5,0,1,54,2],
-"mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e":[5,0,1,54,0],
-"mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518":[5,0,1,54,1],
+"mitem_8php.html":[5,0,1,53],
+"mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1":[5,0,1,53,2],
+"mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e":[5,0,1,53,0],
+"mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518":[5,0,1,53,1],
"mod_2api_8php.html":[5,0,1,4],
"mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117":[5,0,1,4,2],
"mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d":[5,0,1,4,0],
@@ -140,27 +178,22 @@ var NAVTREEINDEX5 =
"mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1":[5,0,1,6,0],
"mod_2chanman_8php.html":[5,0,1,8],
"mod_2directory_8php.html":[5,0,1,19],
-"mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf":[5,0,1,19,2],
-"mod_2directory_8php.html#aa1d928543212871491706216742dd73c":[5,0,1,19,0],
-"mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44":[5,0,1,19,1],
-"mod_2follow_8php.html":[5,0,1,32],
-"mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a":[5,0,1,32,1],
-"mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592":[5,0,1,32,0],
-"mod_2group_8php.html":[5,0,1,34],
-"mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83":[5,0,1,34,1],
-"mod_2group_8php.html#aeb0784dd928e53e6d8693513bec8928c":[5,0,1,34,0],
-"mod_2group_8php.html#aed1f009b1221348021bb34761160ef35":[5,0,1,34,2],
-"mod_2menu_8php.html":[5,0,1,52],
-"mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf":[5,0,1,52,0],
-"mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393":[5,0,1,52,1],
-"mod_2message_8php.html":[5,0,1,53],
-"mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718":[5,0,1,53,2],
-"mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79":[5,0,1,53,1],
-"mod_2message_8php.html#af4ba72486117cc24335fd8e92a2112a7":[5,0,1,53,0],
-"mod_2network_8php.html":[5,0,1,57],
-"mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec":[5,0,1,57,1],
-"mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad":[5,0,1,57,2],
-"mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4":[5,0,1,57,0],
+"mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf":[5,0,1,19,1],
+"mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44":[5,0,1,19,0],
+"mod_2follow_8php.html":[5,0,1,33],
+"mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a":[5,0,1,33,1],
+"mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592":[5,0,1,33,0],
+"mod_2group_8php.html":[5,0,1,35],
+"mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83":[5,0,1,35,0],
+"mod_2group_8php.html#aed1f009b1221348021bb34761160ef35":[5,0,1,35,1],
+"mod_2menu_8php.html":[5,0,1,51],
+"mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf":[5,0,1,51,0],
+"mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393":[5,0,1,51,1],
+"mod_2message_8php.html":[5,0,1,52],
+"mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f":[5,0,1,52,0],
+"mod_2network_8php.html":[5,0,1,56],
+"mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec":[5,0,1,56,1],
+"mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4":[5,0,1,56,0],
"mod_2notify_8php.html":[5,0,1,60],
"mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae":[5,0,1,60,1],
"mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3":[5,0,1,60,0],
@@ -172,21 +205,17 @@ var NAVTREEINDEX5 =
"mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014":[5,0,1,67,1],
"mod__import_8php.html":[5,0,3,0,3],
"mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb":[5,0,3,0,3,0],
-"mod__new__channel_8php.html":[5,0,3,0,4],
-"mod__new__channel_8php.html#a8db1899eeeb44dabd0904065b63627bb":[5,0,3,0,4,0],
-"mod__register_8php.html":[5,0,3,0,5],
-"mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb":[5,0,3,0,5,0],
-"mood_8php.html":[5,0,1,55],
-"mood_8php.html#a721b9b6703b3234a005641c92d409b8f":[5,0,1,55,0],
-"mood_8php.html#a7ae136dd7476865b4828136175db5022":[5,0,1,55,1],
-"msearch_8php.html":[5,0,1,56],
-"msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8":[5,0,1,56,0],
+"mood_8php.html":[5,0,1,54],
+"mood_8php.html#a721b9b6703b3234a005641c92d409b8f":[5,0,1,54,0],
+"mood_8php.html#a7ae136dd7476865b4828136175db5022":[5,0,1,54,1],
+"msearch_8php.html":[5,0,1,55],
+"msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8":[5,0,1,55,0],
"namespaceFriendica.html":[3,0,1],
"namespaceFriendica.html":[4,0,1],
-"namespaceacl__selectors.html":[3,0,0],
"namespaceacl__selectors.html":[4,0,0],
-"namespacefriendica-to-smarty-tpl.html":[4,0,2],
+"namespaceacl__selectors.html":[3,0,0],
"namespacefriendica-to-smarty-tpl.html":[3,0,2],
+"namespacefriendica-to-smarty-tpl.html":[4,0,2],
"namespacemembers.html":[3,1,0],
"namespacemembers_func.html":[3,1,1],
"namespacemembers_vars.html":[3,1,2],
@@ -198,11 +227,13 @@ var NAVTREEINDEX5 =
"nav_8php.html":[5,0,0,45],
"nav_8php.html#a43be0df73b90647ea70947ce004e231e":[5,0,0,45,0],
"nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a":[5,0,0,45,1],
-"new__channel_8php.html":[5,0,1,58],
-"new__channel_8php.html#a180b0646957db8290482f02454ad7f23":[5,0,1,58,2],
-"new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164":[5,0,1,58,1],
-"new__channel_8php.html#ae585191610f79da129492482ce8e2fee":[5,0,1,58,0],
-"none_8php.html":[5,0,3,0,6],
+"new__channel_8php.html":[5,0,1,57],
+"new__channel_8php.html#a180b0646957db8290482f02454ad7f23":[5,0,1,57,2],
+"new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164":[5,0,1,57,1],
+"new__channel_8php.html#ae585191610f79da129492482ce8e2fee":[5,0,1,57,0],
+"none_8php.html":[5,0,3,0,4],
+"notes_8php.html":[5,0,1,58],
+"notes_8php.html#a4dbd7b1f906440746af48b484d66535a":[5,0,1,58,0],
"notifications_8php.html":[5,0,1,59],
"notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33":[5,0,1,59,1],
"notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62":[5,0,1,59,0],
@@ -218,36 +249,5 @@ var NAVTREEINDEX5 =
"onedirsync_8php.html":[5,0,0,51],
"onedirsync_8php.html#a411aedd47c57476099647961e6a86691":[5,0,0,51,0],
"onepoll_8php.html":[5,0,0,52],
-"onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d":[5,0,0,52,0],
-"opensearch_8php.html":[5,0,1,63],
-"opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9":[5,0,1,63,0],
-"page_8php.html":[5,0,1,64],
-"page_8php.html#a4d89800c0366a239191b1692c09635cf":[5,0,1,64,1],
-"page_8php.html#a91a5f649f68406149108bded1dc90b22":[5,0,1,64,0],
-"page__widgets_8php.html":[5,0,0,53],
-"page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f":[5,0,0,53,1],
-"page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0":[5,0,0,53,0],
-"pages.html":[],
-"parse__url_8php.html":[5,0,1,65],
-"parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b":[5,0,1,65,2],
-"parse__url_8php.html#a25635549f2c22955d72465f4d2e58993":[5,0,1,65,3],
-"parse__url_8php.html#a496f4e3836154f6f32b8e805a7160d3a":[5,0,1,65,1],
-"parse__url_8php.html#aa7dd8f961bea042d62726ed909e4a868":[5,0,1,65,0],
-"passion_8php.html":[5,0,3,1,0,1,6],
-"passionwide_8php.html":[5,0,3,1,0,1,7],
-"permissions_8php.html":[5,0,0,54],
-"permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972":[5,0,0,54,2],
-"permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7":[5,0,0,54,0],
-"permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835":[5,0,0,54,3],
-"permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d":[5,0,0,54,4],
-"permissions_8php.html#aeca9b280f3dc3358c89976d81d690008":[5,0,0,54,1],
-"photo_8php.html":[5,0,1,66],
-"photo_8php.html#a582779d24882b0d31ee909a91d70a448":[5,0,1,66,0],
-"photo__driver_8php.html":[5,0,0,1,0],
-"photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca":[5,0,0,1,0,3],
-"photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a":[5,0,0,1,0,2],
-"photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa":[5,0,0,1,0,1],
-"photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035":[5,0,0,1,0,4],
-"photo__gd_8php.html":[5,0,0,1,1],
-"photo__imagick_8php.html":[5,0,0,1,2]
+"onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d":[5,0,0,52,0]
};
diff --git a/doc/html/navtreeindex6.js b/doc/html/navtreeindex6.js
index 12b23d172..9e73739f5 100644
--- a/doc/html/navtreeindex6.js
+++ b/doc/html/navtreeindex6.js
@@ -1,5 +1,36 @@
var NAVTREEINDEX6 =
{
+"opensearch_8php.html":[5,0,1,63],
+"opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9":[5,0,1,63,0],
+"page_8php.html":[5,0,1,64],
+"page_8php.html#a4d89800c0366a239191b1692c09635cf":[5,0,1,64,1],
+"page_8php.html#a91a5f649f68406149108bded1dc90b22":[5,0,1,64,0],
+"page__widgets_8php.html":[5,0,0,53],
+"page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f":[5,0,0,53,1],
+"page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0":[5,0,0,53,0],
+"pages.html":[],
+"parse__url_8php.html":[5,0,1,65],
+"parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b":[5,0,1,65,2],
+"parse__url_8php.html#a25635549f2c22955d72465f4d2e58993":[5,0,1,65,3],
+"parse__url_8php.html#a496f4e3836154f6f32b8e805a7160d3a":[5,0,1,65,1],
+"parse__url_8php.html#aa7dd8f961bea042d62726ed909e4a868":[5,0,1,65,0],
+"passion_8php.html":[5,0,3,1,0,1,6],
+"passionwide_8php.html":[5,0,3,1,0,1,7],
+"permissions_8php.html":[5,0,0,54],
+"permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972":[5,0,0,54,2],
+"permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7":[5,0,0,54,0],
+"permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835":[5,0,0,54,3],
+"permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d":[5,0,0,54,4],
+"permissions_8php.html#aeca9b280f3dc3358c89976d81d690008":[5,0,0,54,1],
+"photo_8php.html":[5,0,1,66],
+"photo_8php.html#a582779d24882b0d31ee909a91d70a448":[5,0,1,66,0],
+"photo__driver_8php.html":[5,0,0,1,0],
+"photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a":[5,0,0,1,0,2],
+"photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa":[5,0,0,1,0,1],
+"photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035":[5,0,0,1,0,4],
+"photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887":[5,0,0,1,0,3],
+"photo__gd_8php.html":[5,0,0,1,1],
+"photo__imagick_8php.html":[5,0,0,1,2],
"php2po_8php.html":[5,0,2,6],
"php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b":[5,0,2,6,7],
"php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1":[5,0,2,6,5],
@@ -11,40 +42,43 @@ var NAVTREEINDEX6 =
"php2po_8php.html#ad6726cfaa85d4b8299d2b0f034cbf178":[5,0,2,6,2],
"php_2default_8php.html":[5,0,3,0,0],
"php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762":[5,0,3,0,0,0],
-"php_2theme__init_8php.html":[5,0,3,0,7],
-"php_2theme__init_8php.html#a54f32c086fe209c99769a4c4047dd864":[5,0,3,0,7,0],
+"php_2theme__init_8php.html":[5,0,3,0,5],
+"php_2theme__init_8php.html#a54f32c086fe209c99769a4c4047dd864":[5,0,3,0,5,0],
"php_8php.html":[5,0,1,68],
"php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6":[5,0,1,68,0],
"pine_8php.html":[5,0,3,1,0,1,8],
"ping_8php.html":[5,0,1,69],
"ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1":[5,0,1,69,0],
"plugin_8php.html":[5,0,0,56],
-"plugin_8php.html#a030cec6793b909c439c0336ba39b1571":[5,0,0,56,18],
-"plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76":[5,0,0,56,21],
+"plugin_8php.html#a030cec6793b909c439c0336ba39b1571":[5,0,0,56,21],
+"plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76":[5,0,0,56,24],
+"plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3":[5,0,0,56,20],
"plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a":[5,0,0,56,8],
-"plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813":[5,0,0,56,14],
-"plugin_8php.html#a425472c5f3afc137268b2ad45652b209":[5,0,0,56,16],
+"plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813":[5,0,0,56,16],
+"plugin_8php.html#a425472c5f3afc137268b2ad45652b209":[5,0,0,56,18],
"plugin_8php.html#a48047edfbef770125a5508dcc2f9282f":[5,0,0,56,7],
-"plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5":[5,0,0,56,13],
-"plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040":[5,0,0,56,25],
+"plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5":[5,0,0,56,15],
+"plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4":[5,0,0,56,13],
+"plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040":[5,0,0,56,28],
"plugin_8php.html#a516591850f4fd49fd1425cfa54089db8":[5,0,0,56,9],
-"plugin_8php.html#a56f71fe5adf9586ce950523d8180443e":[5,0,0,56,23],
+"plugin_8php.html#a56f71fe5adf9586ce950523d8180443e":[5,0,0,56,26],
"plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1":[5,0,0,56,11],
-"plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2":[5,0,0,56,20],
-"plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d":[5,0,0,56,24],
+"plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2":[5,0,0,56,23],
+"plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d":[5,0,0,56,27],
"plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4":[5,0,0,56,4],
"plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c":[5,0,0,56,0],
-"plugin_8php.html#a901657dd078e070516cf97285e0bada7":[5,0,0,56,26],
+"plugin_8php.html#a901657dd078e070516cf97285e0bada7":[5,0,0,56,29],
"plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6":[5,0,0,56,1],
-"plugin_8php.html#a90538627db68605aeb6db17a8ead6523":[5,0,0,56,22],
-"plugin_8php.html#a905b54e10704b283ac64680a8abc0971":[5,0,0,56,19],
-"plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d":[5,0,0,56,15],
+"plugin_8php.html#a90538627db68605aeb6db17a8ead6523":[5,0,0,56,25],
+"plugin_8php.html#a905b54e10704b283ac64680a8abc0971":[5,0,0,56,22],
+"plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf":[5,0,0,56,12],
+"plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d":[5,0,0,56,17],
"plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295":[5,0,0,56,3],
"plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405":[5,0,0,56,6],
"plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f":[5,0,0,56,2],
-"plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b":[5,0,0,56,12],
+"plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b":[5,0,0,56,14],
"plugin_8php.html#af92789f559b89a380e49d303218aeeca":[5,0,0,56,10],
-"plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025":[5,0,0,56,17],
+"plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025":[5,0,0,56,19],
"plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35":[5,0,0,56,5],
"po2php_8php.html":[5,0,2,7],
"po2php_8php.html#a3b75e36f913198299e99559b175cd8b4":[5,0,2,7,0],
@@ -88,37 +122,31 @@ var NAVTREEINDEX6 =
"probe_8php.html":[5,0,1,74],
"probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99":[5,0,1,74,0],
"profile_8php.html":[5,0,1,75],
-"profile_8php.html#a1a2482b775476f2f64ea5e8f4fc3fd1e":[5,0,1,75,0],
-"profile_8php.html#a3775cf6eef6587e5143133356a7b76c0":[5,0,1,75,1],
-"profile_8php.html#ab5d0246be0552e2182a585c1206d22a5":[5,0,1,75,2],
+"profile_8php.html#a3775cf6eef6587e5143133356a7b76c0":[5,0,1,75,0],
+"profile_8php.html#ab5d0246be0552e2182a585c1206d22a5":[5,0,1,75,1],
"profile__photo_8php.html":[5,0,1,76],
-"profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02":[5,0,1,76,1],
-"profile__photo_8php.html#a4b80234074bd603221aa5364f330e479":[5,0,1,76,2],
-"profile__photo_8php.html#ac9cd968a767e2ae1b88383b6cdd6dbe3":[5,0,1,76,0],
+"profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02":[5,0,1,76,0],
+"profile__photo_8php.html#a4b80234074bd603221aa5364f330e479":[5,0,1,76,1],
"profile__selectors_8php.html":[5,0,0,58],
"profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7":[5,0,0,58,2],
"profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798":[5,0,0,58,1],
"profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355":[5,0,0,58,0],
"profiles_8php.html":[5,0,1,77],
-"profiles_8php.html#a2a3ac90f51941ff78b85e9389304969c":[5,0,1,77,0],
-"profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e":[5,0,1,77,2],
-"profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00":[5,0,1,77,1],
-"profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04":[5,0,1,77,3],
+"profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e":[5,0,1,77,1],
+"profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00":[5,0,1,77,0],
+"profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04":[5,0,1,77,2],
"profperm_8php.html":[5,0,1,78],
-"profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6":[5,0,1,78,2],
-"profperm_8php.html#a77fd398ae7c25142e1d9ad724ec347cc":[5,0,1,78,0],
-"profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023":[5,0,1,78,1],
+"profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6":[5,0,1,78,1],
+"profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023":[5,0,1,78,0],
"pubsites_8php.html":[5,0,1,79],
"pubsites_8php.html#af614e279aab54065345bda6b03eafdf0":[5,0,1,79,0],
-"qsearch_8php.html":[5,0,1,80],
-"qsearch_8php.html#a0501887b95bd8fa21018b2936a668894":[5,0,1,80,0],
"queue_8php.html":[5,0,0,60],
"queue_8php.html#af8c93de86d866c3200174c8450a0f341":[5,0,0,60,0],
"queue__fn_8php.html":[5,0,0,61],
"queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1":[5,0,0,61,1],
"queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24":[5,0,0,61,0],
-"randprof_8php.html":[5,0,1,81],
-"randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090":[5,0,1,81,0],
+"randprof_8php.html":[5,0,1,80],
+"randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090":[5,0,1,80,0],
"redbasic_2php_2style_8php.html":[5,0,3,1,2,0,1],
"redbasic_2php_2style_8php.html#a01c151bf47f7da2b979aaa4cb868da4c":[5,0,3,1,2,0,1,12],
"redbasic_2php_2style_8php.html#a0b070f2c9140a7a12a0b1f88601a29e4":[5,0,3,1,2,0,1,16],
@@ -151,32 +179,31 @@ var NAVTREEINDEX6 =
"redbasic_2php_2theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b":[5,0,3,1,2,0,2,0],
"redbasic_8php.html":[5,0,3,1,0,1,9],
"reddav_8php.html":[5,0,0,62],
-"redir_8php.html":[5,0,1,82],
-"redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5":[5,0,1,82,0],
-"register_8php.html":[5,0,1,83],
-"register_8php.html#a0e91f57f111407ea8d3223a05022bb2a":[5,0,1,83,0],
-"register_8php.html#a51731dcc1917c58a790eb1c0f6132271":[5,0,1,83,2],
-"register_8php.html#ae20c0cd40f738d6295de58b9202c83d5":[5,0,1,83,1],
-"regmod_8php.html":[5,0,1,84],
-"regmod_8php.html#a7953df4e32e63946565e90cdd5d50409":[5,0,1,84,0],
-"removeme_8php.html":[5,0,1,85],
-"removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c":[5,0,1,85,0],
-"removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88":[5,0,1,85,1],
-"rmagic_8php.html":[5,0,1,86],
-"rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef":[5,0,1,86,0],
-"rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f":[5,0,1,86,2],
-"rmagic_8php.html#a95455edd43f1bff39446a57388cdde16":[5,0,1,86,1],
-"rpost_8php.html":[5,0,1,87],
-"rpost_8php.html#a8190354d789000806d9879aea276728f":[5,0,1,87,0],
-"rsd__xml_8php.html":[5,0,1,88],
-"rsd__xml_8php.html#a740cd02fa15e5a53f8547fac73f0ab82":[5,0,1,88,0],
-"search_8php.html":[5,0,1,89],
-"search_8php.html#a230ec9681ddee3b5b8b40c8d550f32f7":[5,0,1,89,2],
-"search_8php.html#aa911f7c7f0cdb0284e35d0ed610f19c6":[5,0,1,89,3],
-"search_8php.html#ab2568591359edde5b483a6cd9a24b2cc":[5,0,1,89,0],
-"search_8php.html#acf19fd30f07f495781ca0d7a0a08b435":[5,0,1,89,1],
-"search__ac_8php.html":[5,0,1,90],
-"search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138":[5,0,1,90,0],
+"reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266":[5,0,0,62,5],
+"reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088":[5,0,0,62,6],
+"reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66":[5,0,0,62,4],
+"register_8php.html":[5,0,1,81],
+"register_8php.html#a0e91f57f111407ea8d3223a05022bb2a":[5,0,1,81,0],
+"register_8php.html#a51731dcc1917c58a790eb1c0f6132271":[5,0,1,81,2],
+"register_8php.html#ae20c0cd40f738d6295de58b9202c83d5":[5,0,1,81,1],
+"regmod_8php.html":[5,0,1,82],
+"regmod_8php.html#a7953df4e32e63946565e90cdd5d50409":[5,0,1,82,0],
+"removeme_8php.html":[5,0,1,83],
+"removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c":[5,0,1,83,0],
+"removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88":[5,0,1,83,1],
+"rmagic_8php.html":[5,0,1,84],
+"rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef":[5,0,1,84,0],
+"rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f":[5,0,1,84,2],
+"rmagic_8php.html#a95455edd43f1bff39446a57388cdde16":[5,0,1,84,1],
+"rpost_8php.html":[5,0,1,85],
+"rpost_8php.html#a8190354d789000806d9879aea276728f":[5,0,1,85,0],
+"rsd__xml_8php.html":[5,0,1,86],
+"rsd__xml_8php.html#a740cd02fa15e5a53f8547fac73f0ab82":[5,0,1,86,0],
+"search_8php.html":[5,0,1,87],
+"search_8php.html#ab2568591359edde5b483a6cd9a24b2cc":[5,0,1,87,0],
+"search_8php.html#acf19fd30f07f495781ca0d7a0a08b435":[5,0,1,87,1],
+"search__ac_8php.html":[5,0,1,88],
+"search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138":[5,0,1,88,0],
"security_8php.html":[5,0,0,63],
"security_8php.html#a15e0f8f511cc06192db63387f97238b3":[5,0,0,63,11],
"security_8php.html#a20f8b9851f23ee8894b8925584ef6821":[5,0,0,63,2],
@@ -201,53 +228,26 @@ var NAVTREEINDEX6 =
"session_8php.html#ac95373f4966862a028033dd2f94d4da1":[5,0,0,64,3],
"session_8php.html#af0100a2642a5268594bbd5742a03d885":[5,0,0,64,9],
"session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052":[5,0,0,64,2],
-"settings_8php.html":[5,0,1,91],
-"settings_8php.html#a39abc76ff5459c57e3b957664f273f18":[5,0,1,91,0],
-"settings_8php.html#a3a4cde287482fced008583f54ba2a722":[5,0,1,91,2],
-"settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586":[5,0,1,91,3],
-"settings_8php.html#ae5aebccb006bee1300078576baaf5582":[5,0,1,91,1],
-"setup_8php.html":[5,0,1,92],
-"setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4":[5,0,1,92,2],
-"setup_8php.html#a13cf286774149a0a7bd8adb8179cec75":[5,0,1,92,13],
-"setup_8php.html#a14d208682a88632290c895d20da6e7d6":[5,0,1,92,5],
-"setup_8php.html#a267555abd17290e659b4bf44b885e4e0":[5,0,1,92,12],
-"setup_8php.html#a2b375ddc555140236fc500135de99371":[5,0,1,92,9],
-"setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f":[5,0,1,92,3],
-"setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e":[5,0,1,92,1],
-"setup_8php.html#a8652788e8589778c5f81634a9d5b9429":[5,0,1,92,7],
-"setup_8php.html#a88247384a96e14516f474d7af6a465c1":[5,0,1,92,11],
-"setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76":[5,0,1,92,4],
-"setup_8php.html#abe405d227ba7232971964a706d4f3bce":[5,0,1,92,10],
-"setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a":[5,0,1,92,8],
-"setup_8php.html#addb24714bc2542aa4f4215e98fe48432":[5,0,1,92,15],
-"setup_8php.html#ae8e4d9279a61de74d5f39962cb7b6ca1":[5,0,1,92,0],
-"setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58":[5,0,1,92,14],
-"setup_8php.html#afd8b0b3ade1507c45325caf377bf459d":[5,0,1,92,6],
-"share_8php.html":[5,0,1,93],
-"share_8php.html#afeb26046bdd02567ecd29ab5f188b249":[5,0,1,93,0],
-"siteinfo_8php.html":[5,0,1,94],
-"siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0":[5,0,1,94,1],
-"siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656":[5,0,1,94,0],
-"sitelist_8php.html":[5,0,1,95],
-"sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1":[5,0,1,95,0],
-"smilies_8php.html":[5,0,1,96],
-"smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f":[5,0,1,96,0],
-"socgraph_8php.html":[5,0,0,65],
-"socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586":[5,0,0,65,0],
-"socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6":[5,0,0,65,6],
-"socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329":[5,0,0,65,7],
-"socgraph_8php.html#a790690bb1a1d02483fe31632a160144d":[5,0,0,65,8],
-"socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918":[5,0,0,65,1],
-"socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84":[5,0,0,65,4],
-"socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9":[5,0,0,65,2],
-"socgraph_8php.html#af175807406d94407a5e11742a3287746":[5,0,0,65,5],
-"socgraph_8php.html#af29d056beec10b4e38e5209c92452894":[5,0,0,65,3],
-"sources_8php.html":[5,0,1,97],
-"sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7":[5,0,1,97,0],
-"sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e":[5,0,1,97,1],
-"starred_8php.html":[5,0,1,98],
-"starred_8php.html#a63024fb418c678e49fd535e3752d349a":[5,0,1,98,0],
-"subthread_8php.html":[5,0,1,99],
-"subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3":[5,0,1,99,0],
-"suggest_8php.html":[5,0,1,100]
+"settings_8php.html":[5,0,1,89],
+"settings_8php.html#a39abc76ff5459c57e3b957664f273f18":[5,0,1,89,0],
+"settings_8php.html#a3a4cde287482fced008583f54ba2a722":[5,0,1,89,1],
+"settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586":[5,0,1,89,2],
+"setup_8php.html":[5,0,1,90],
+"setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4":[5,0,1,90,2],
+"setup_8php.html#a13cf286774149a0a7bd8adb8179cec75":[5,0,1,90,14],
+"setup_8php.html#a14d208682a88632290c895d20da6e7d6":[5,0,1,90,5],
+"setup_8php.html#a267555abd17290e659b4bf44b885e4e0":[5,0,1,90,13],
+"setup_8php.html#a2b375ddc555140236fc500135de99371":[5,0,1,90,10],
+"setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f":[5,0,1,90,3],
+"setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e":[5,0,1,90,1],
+"setup_8php.html#a8652788e8589778c5f81634a9d5b9429":[5,0,1,90,8],
+"setup_8php.html#a88247384a96e14516f474d7af6a465c1":[5,0,1,90,12],
+"setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76":[5,0,1,90,4],
+"setup_8php.html#ab4b71369a25021d59247c917e98d8246":[5,0,1,90,7],
+"setup_8php.html#abe405d227ba7232971964a706d4f3bce":[5,0,1,90,11],
+"setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a":[5,0,1,90,9],
+"setup_8php.html#addb24714bc2542aa4f4215e98fe48432":[5,0,1,90,16],
+"setup_8php.html#ae8e4d9279a61de74d5f39962cb7b6ca1":[5,0,1,90,0],
+"setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58":[5,0,1,90,15],
+"setup_8php.html#afd8b0b3ade1507c45325caf377bf459d":[5,0,1,90,6]
};
diff --git a/doc/html/navtreeindex7.js b/doc/html/navtreeindex7.js
index 34efe688e..3edb82cc6 100644
--- a/doc/html/navtreeindex7.js
+++ b/doc/html/navtreeindex7.js
@@ -1,30 +1,59 @@
var NAVTREEINDEX7 =
{
-"suggest_8php.html#a4df91c84594d51ba56b5918de414230d":[5,0,1,100,0],
-"suggest_8php.html#a58748a8235d4523f8333847f3e42dd91":[5,0,1,100,1],
-"suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c":[5,0,1,100,2],
+"share_8php.html":[5,0,1,91],
+"share_8php.html#afeb26046bdd02567ecd29ab5f188b249":[5,0,1,91,0],
+"siteinfo_8php.html":[5,0,1,92],
+"siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0":[5,0,1,92,1],
+"siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656":[5,0,1,92,0],
+"sitelist_8php.html":[5,0,1,93],
+"sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1":[5,0,1,93,0],
+"smilies_8php.html":[5,0,1,94],
+"smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f":[5,0,1,94,0],
+"socgraph_8php.html":[5,0,0,65],
+"socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586":[5,0,0,65,0],
+"socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6":[5,0,0,65,6],
+"socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329":[5,0,0,65,7],
+"socgraph_8php.html#a790690bb1a1d02483fe31632a160144d":[5,0,0,65,8],
+"socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918":[5,0,0,65,1],
+"socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84":[5,0,0,65,4],
+"socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9":[5,0,0,65,2],
+"socgraph_8php.html#af175807406d94407a5e11742a3287746":[5,0,0,65,5],
+"socgraph_8php.html#af29d056beec10b4e38e5209c92452894":[5,0,0,65,3],
+"sources_8php.html":[5,0,1,95],
+"sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7":[5,0,1,95,0],
+"sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e":[5,0,1,95,1],
+"sslify_8php.html":[5,0,1,96],
+"sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316":[5,0,1,96,0],
+"starred_8php.html":[5,0,1,97],
+"starred_8php.html#a63024fb418c678e49fd535e3752d349a":[5,0,1,97,0],
+"subthread_8php.html":[5,0,1,98],
+"subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3":[5,0,1,98,0],
+"suggest_8php.html":[5,0,1,99],
+"suggest_8php.html#a58748a8235d4523f8333847f3e42dd91":[5,0,1,99,0],
+"suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c":[5,0,1,99,1],
"system__unavailable_8php.html":[5,0,0,66],
"system__unavailable_8php.html#a73751a6bcc17ad3ca503496e2fb020fa":[5,0,0,66,0],
-"tagger_8php.html":[5,0,1,101],
-"tagger_8php.html#a0e4a3eb177d1684553c547503d67161c":[5,0,1,101,0],
-"tagrm_8php.html":[5,0,1,102],
-"tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78":[5,0,1,102,1],
-"tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a":[5,0,1,102,0],
+"tagger_8php.html":[5,0,1,100],
+"tagger_8php.html#a0e4a3eb177d1684553c547503d67161c":[5,0,1,100,0],
+"tagrm_8php.html":[5,0,1,101],
+"tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78":[5,0,1,101,1],
+"tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a":[5,0,1,101,0],
"taxonomy_8php.html":[5,0,0,67],
-"taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce":[5,0,0,67,8],
+"taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce":[5,0,0,67,9],
"taxonomy_8php.html#a088371f4bc19155b2291508f5cd63332":[5,0,0,67,0],
"taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6":[5,0,0,67,2],
"taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1":[5,0,0,67,6],
"taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1":[5,0,0,67,4],
"taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37":[5,0,0,67,3],
-"taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd":[5,0,0,67,9],
+"taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd":[5,0,0,67,10],
"taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1":[5,0,0,67,1],
-"taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c":[5,0,0,67,13],
-"taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43":[5,0,0,67,12],
-"taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a":[5,0,0,67,10],
-"taxonomy_8php.html#ac12a651a42ed77f8dc7072c6168811a2":[5,0,0,67,7],
-"taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2":[5,0,0,67,11],
+"taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de":[5,0,0,67,7],
+"taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c":[5,0,0,67,14],
+"taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43":[5,0,0,67,13],
+"taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a":[5,0,0,67,11],
+"taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2":[5,0,0,67,12],
"taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1":[5,0,0,67,5],
+"taxonomy_8php.html#af387463d42ffdf7d2ab3d5b22e40a0c7":[5,0,0,67,8],
"template__processor_8php.html":[5,0,0,68],
"template__processor_8php.html#a797745996c7839a93b2ab1af456631ab":[5,0,0,68,3],
"template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5":[5,0,0,68,1],
@@ -37,7 +66,7 @@ var NAVTREEINDEX7 =
"text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3":[5,0,0,69,11],
"text_8php.html#a11255c8c4e5245b6c24f97684826aa54":[5,0,0,69,44],
"text_8php.html#a13286f8a95d2de6b102966ecc270c8d6":[5,0,0,69,5],
-"text_8php.html#a1360fed7f918d859daaca1c9f384f9af":[5,0,0,69,77],
+"text_8php.html#a1360fed7f918d859daaca1c9f384f9af":[5,0,0,69,79],
"text_8php.html#a138a3a611fa7f4f3630674145fc826bf":[5,0,0,69,32],
"text_8php.html#a1557112a774ec00fa06ed6b6f6495506":[5,0,0,69,35],
"text_8php.html#a1633412120f52bdce5f43e0a127d9293":[5,0,0,69,49],
@@ -46,42 +75,42 @@ var NAVTREEINDEX7 =
"text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6":[5,0,0,69,47],
"text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728":[5,0,0,69,42],
"text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca":[5,0,0,69,4],
-"text_8php.html#a29988052f3944111def3b6aaf2c7a8f6":[5,0,0,69,85],
-"text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7":[5,0,0,69,74],
+"text_8php.html#a29988052f3944111def3b6aaf2c7a8f6":[5,0,0,69,87],
+"text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7":[5,0,0,69,76],
"text_8php.html#a2a902f5fdba8646333e997898ac45ea3":[5,0,0,69,48],
"text_8php.html#a2e8d6c402603be3a1256a16605e09c2a":[5,0,0,69,10],
-"text_8php.html#a2ffd79c60cc87cec24ef76447b905187":[5,0,0,69,87],
+"text_8php.html#a2ffd79c60cc87cec24ef76447b905187":[5,0,0,69,89],
"text_8php.html#a3054189cff173977f4216c9a3dd29e1b":[5,0,0,69,23],
-"text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f":[5,0,0,69,82],
-"text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f":[5,0,0,69,80],
+"text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f":[5,0,0,69,84],
+"text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9":[5,0,0,69,73],
+"text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f":[5,0,0,69,82],
"text_8php.html#a3972701c5c83624ec4e2d06242f614e7":[5,0,0,69,30],
"text_8php.html#a3999a0b3e22e440f280ee791ce34d384":[5,0,0,69,41],
-"text_8php.html#a3d225b253bb9e0f2498c11647d927b0b":[5,0,0,69,71],
+"text_8php.html#a3d225b253bb9e0f2498c11647d927b0b":[5,0,0,69,72],
"text_8php.html#a3d2793d66db3345fd290b71e2eadf98e":[5,0,0,69,7],
-"text_8php.html#a3ef8c0cf31f35f77462067de8712fa34":[5,0,0,69,28],
-"text_8php.html#a405afe814a23f3bd94d826101aa168ab":[5,0,0,69,83],
+"text_8php.html#a405afe814a23f3bd94d826101aa168ab":[5,0,0,69,85],
"text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a":[5,0,0,69,33],
-"text_8php.html#a44d460fcdee6247c67b9bef3ea15f3e6":[5,0,0,69,70],
+"text_8php.html#a44d460fcdee6247c67b9bef3ea15f3e6":[5,0,0,69,71],
"text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623":[5,0,0,69,31],
"text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285":[5,0,0,69,43],
"text_8php.html#a4841df5beabdd1bdd1ed56781a915d61":[5,0,0,69,61],
"text_8php.html#a4bbb7d00c05cd20b4e043424f322388f":[5,0,0,69,50],
"text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91":[5,0,0,69,24],
"text_8php.html#a4e7698aca48982512594b274543c3b9b":[5,0,0,69,60],
-"text_8php.html#a543447c5ed766535221e2d9636b379ee":[5,0,0,69,79],
+"text_8php.html#a543447c5ed766535221e2d9636b379ee":[5,0,0,69,81],
"text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0":[5,0,0,69,9],
"text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63":[5,0,0,69,14],
-"text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb":[5,0,0,69,78],
+"text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb":[5,0,0,69,80],
"text_8php.html#a71f6952243d3fe1c5a8154f78027e29c":[5,0,0,69,40],
"text_8php.html#a736db13a966b8abaf8c9198faa35911a":[5,0,0,69,27],
-"text_8php.html#a740ad03e00459039a2c0992246c4e727":[5,0,0,69,75],
+"text_8php.html#a740ad03e00459039a2c0992246c4e727":[5,0,0,69,77],
"text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85":[5,0,0,69,1],
"text_8php.html#a75c326298519ed14ebe762194c8a3f2a":[5,0,0,69,34],
"text_8php.html#a76d1b3435c067978d7b484c45f56472b":[5,0,0,69,26],
-"text_8php.html#a8264348059abd1d4d5bb521323d3b19a":[5,0,0,69,76],
+"text_8php.html#a8264348059abd1d4d5bb521323d3b19a":[5,0,0,69,78],
"text_8php.html#a85e3a4851c16674834010d8419a5d7ca":[5,0,0,69,8],
"text_8php.html#a876e94892867019935b348b573299352":[5,0,0,69,68],
-"text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13":[5,0,0,69,72],
+"text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13":[5,0,0,69,74],
"text_8php.html#a87a3cefc603302c78982f1d8e1245265":[5,0,0,69,15],
"text_8php.html#a89929fa6f70a8ba54d5273fcf622b665":[5,0,0,69,20],
"text_8php.html#a8b0a799341b1fc4cba2c3ede3e3fc9b6":[5,0,0,69,59],
@@ -95,12 +124,14 @@ var NAVTREEINDEX7 =
"text_8php.html#aa5148a0dfea2a1ca64c3d52f10aa2d64":[5,0,0,69,17],
"text_8php.html#aa5528f41533927e1bd2da3618a74a6d7":[5,0,0,69,55],
"text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e":[5,0,0,69,36],
-"text_8php.html#aad557c054cf2ed915633701018fc7e3f":[5,0,0,69,86],
-"text_8php.html#aaed4413ed8918838b517e3b2fafaea0d":[5,0,0,69,81],
-"text_8php.html#ab4a4c3d4700bc219bb84f33b499314f4":[5,0,0,69,84],
+"text_8php.html#aac0969ae09853205992ba06ab9f9f61a":[5,0,0,69,28],
+"text_8php.html#aad557c054cf2ed915633701018fc7e3f":[5,0,0,69,88],
+"text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447":[5,0,0,69,69],
+"text_8php.html#aaed4413ed8918838b517e3b2fafaea0d":[5,0,0,69,83],
+"text_8php.html#ab4a4c3d4700bc219bb84f33b499314f4":[5,0,0,69,86],
"text_8php.html#ac19d2b33a58372a357a43d51eed19162":[5,0,0,69,56],
"text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e":[5,0,0,69,37],
-"text_8php.html#aca0f589be74fab1a460c57e88dad9779":[5,0,0,69,69],
+"text_8php.html#aca0f589be74fab1a460c57e88dad9779":[5,0,0,69,70],
"text_8php.html#ace3c98538c63e09b70a363210b414112":[5,0,0,69,21],
"text_8php.html#acedb584f65114a33f389efb796172a91":[5,0,0,69,2],
"text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784":[5,0,0,69,13],
@@ -112,7 +143,7 @@ var NAVTREEINDEX7 =
"text_8php.html#ae4df74296fbe55051ed3c035e55205e5":[5,0,0,69,57],
"text_8php.html#ae4f6881d7e13623f8eded6277595112a":[5,0,0,69,25],
"text_8php.html#af8a3e3a66a7b862d4510f145d2e13186":[5,0,0,69,0],
-"text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53":[5,0,0,69,73],
+"text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53":[5,0,0,69,75],
"text_8php.html#afc998d2796a6b2a08e96f7cc061e7221":[5,0,0,69,62],
"text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28":[5,0,0,69,22],
"text_8php.html#afe18627c4983ee5f7c940a0992818cd5":[5,0,0,69,12],
@@ -128,13 +159,13 @@ var NAVTREEINDEX7 =
"theme_2blogga_2view_2theme_2blog_2default_8php.html#a52d9dd070ed541729088395c22502539":[5,0,3,1,1,1,0,0,1,1],
"theme_2blogga_2view_2theme_2blog_2default_8php.html#a720581ae288aa09511670563e4205a4a":[5,0,3,1,1,1,0,0,1,0],
"theme_2redbasic_2php_2theme__init_8php.html":[5,0,3,1,2,0,3],
-"thing_8php.html":[5,0,1,103],
-"thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b":[5,0,1,103,0],
-"thing_8php.html#a8be23b1d475ec3d9291999221c674c80":[5,0,1,103,1],
-"toggle__mobile_8php.html":[5,0,1,104],
-"toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254":[5,0,1,104,0],
-"toggle__safesearch_8php.html":[5,0,1,105],
-"toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79":[5,0,1,105,0],
+"thing_8php.html":[5,0,1,102],
+"thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b":[5,0,1,102,0],
+"thing_8php.html#a8be23b1d475ec3d9291999221c674c80":[5,0,1,102,1],
+"toggle__mobile_8php.html":[5,0,1,103],
+"toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254":[5,0,1,103,0],
+"toggle__safesearch_8php.html":[5,0,1,104],
+"toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79":[5,0,1,104,0],
"tpldebug_8php.html":[5,0,2,8],
"tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3":[5,0,2,8,0],
"tpldebug_8php.html#a5358407d65f2ca826f96356a6642d149":[5,0,2,8,1],
@@ -148,18 +179,18 @@ var NAVTREEINDEX7 =
"typohelper_8php.html":[5,0,2,10],
"typohelper_8php.html#a7542d95618011800c61773127fa625cf":[5,0,2,10,0],
"typohelper_8php.html#ab6fd357fb5b2a3ba8aab9e8b98c6a805":[5,0,2,10,1],
-"uexport_8php.html":[5,0,1,106],
-"uexport_8php.html#a118920137dedebe0581623a2e57e7b0d":[5,0,1,106,0],
-"update__channel_8php.html":[5,0,1,107],
-"update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba":[5,0,1,107,0],
-"update__community_8php.html":[5,0,1,108],
-"update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1":[5,0,1,108,0],
-"update__display_8php.html":[5,0,1,109],
-"update__display_8php.html#aa36ac524059e209d5d75a03c16206246":[5,0,1,109,0],
-"update__network_8php.html":[5,0,1,110],
-"update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41":[5,0,1,110,0],
-"update__search_8php.html":[5,0,1,111],
-"update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52":[5,0,1,111,0],
+"uexport_8php.html":[5,0,1,105],
+"uexport_8php.html#a118920137dedebe0581623a2e57e7b0d":[5,0,1,105,0],
+"update__channel_8php.html":[5,0,1,106],
+"update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba":[5,0,1,106,0],
+"update__community_8php.html":[5,0,1,107],
+"update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1":[5,0,1,107,0],
+"update__display_8php.html":[5,0,1,108],
+"update__display_8php.html#aa36ac524059e209d5d75a03c16206246":[5,0,1,108,0],
+"update__network_8php.html":[5,0,1,109],
+"update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41":[5,0,1,109,0],
+"update__search_8php.html":[5,0,1,110],
+"update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52":[5,0,1,110,0],
"updatetpl_8py.html":[5,0,2,11],
"updatetpl_8py.html#a52a85ffa6b6d63d840b185a133478c12":[5,0,2,11,5],
"updatetpl_8py.html#a79c20eb62d568c999b56eb08530355d3":[5,0,2,11,2],
@@ -187,67 +218,36 @@ var NAVTREEINDEX7 =
"view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793":[5,0,3,1,2,0,0,0],
"view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d":[5,0,3,1,2,0,0,1],
"view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6":[5,0,3,1,2,0,0,2],
-"view_8php.html":[5,0,1,112],
-"view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e":[5,0,1,112,0],
-"viewconnections_8php.html":[5,0,1,113],
-"viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330":[5,0,1,113,2],
-"viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776":[5,0,1,113,1],
-"viewconnections_8php.html#ae330cea4cddd091559659f8b469617b6":[5,0,1,113,0],
-"viewsrc_8php.html":[5,0,1,114],
-"viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4":[5,0,1,114,0],
-"vote_8php.html":[5,0,1,115],
-"vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2":[5,0,1,115,2],
-"vote_8php.html#a6aa67489bf458ca5e3206e46dac68596":[5,0,1,115,0],
-"vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2":[5,0,1,115,1],
-"wall__attach_8php.html":[5,0,1,116],
-"wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653":[5,0,1,116,0],
-"wall__upload_8php.html":[5,0,1,117],
-"wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f":[5,0,1,117,0],
-"webfinger_8php.html":[5,0,1,118],
-"webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3":[5,0,1,118,0],
-"webpages_8php.html":[5,0,1,119],
-"webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d":[5,0,1,119,0],
-"wfinger_8php.html":[5,0,1,120],
-"wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3":[5,0,1,120,0],
+"view_8php.html":[5,0,1,111],
+"view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e":[5,0,1,111,0],
+"viewconnections_8php.html":[5,0,1,112],
+"viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330":[5,0,1,112,1],
+"viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776":[5,0,1,112,0],
+"viewsrc_8php.html":[5,0,1,113],
+"viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4":[5,0,1,113,0],
+"vote_8php.html":[5,0,1,114],
+"vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2":[5,0,1,114,2],
+"vote_8php.html#a6aa67489bf458ca5e3206e46dac68596":[5,0,1,114,0],
+"vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2":[5,0,1,114,1],
+"wall__attach_8php.html":[5,0,1,115],
+"wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653":[5,0,1,115,0],
+"wall__upload_8php.html":[5,0,1,116],
+"wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f":[5,0,1,116,0],
+"webfinger_8php.html":[5,0,1,117],
+"webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3":[5,0,1,117,0],
+"webpages_8php.html":[5,0,1,118],
+"webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d":[5,0,1,118,0],
+"wfinger_8php.html":[5,0,1,119],
+"wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3":[5,0,1,119,0],
"widedarkness_8php.html":[5,0,3,1,0,1,10],
"widgets_8php.html":[5,0,0,70],
-"widgets_8php.html#a6dbc227aac750774284ee39c45f0a200":[5,0,0,70,1],
-"widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923":[5,0,0,70,0],
-"xchan_8php.html":[5,0,1,121],
-"xchan_8php.html#a9853348bf1a35c644460221ba75edc2d":[5,0,1,121,0],
-"xrd_8php.html":[5,0,1,122],
-"xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270":[5,0,1,122,0],
-"zfinger_8php.html":[5,0,1,123],
-"zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0":[5,0,1,123,0],
-"zot_8php.html":[5,0,0,71],
-"zot_8php.html#a083aec6c900d244e1bfc1406f9461465":[5,0,0,71,13],
-"zot_8php.html#a2657e141d62d5f67ad3c87651b585299":[5,0,0,71,7],
-"zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df":[5,0,0,71,15],
-"zot_8php.html#a37ec13b18057634eadb071f05297f5e1":[5,0,0,71,10],
-"zot_8php.html#a3862b3161b2c8557dc1a95020179bd81":[5,0,0,71,17],
-"zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a":[5,0,0,71,5],
-"zot_8php.html#a55056e863a7860bc0cf922e78fcce073":[5,0,0,71,21],
-"zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1":[5,0,0,71,8],
-"zot_8php.html#a5bcdfef419b16075a0eca990956223dc":[5,0,0,71,26],
-"zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea":[5,0,0,71,18],
-"zot_8php.html#a703f528ade8382cf374e4119bd6f7859":[5,0,0,71,0],
-"zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d":[5,0,0,71,25],
-"zot_8php.html#a8e22dbc6f884be3644a892a876cbd972":[5,0,0,71,3],
-"zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03":[5,0,0,71,24],
-"zot_8php.html#a95528377d7303131958c9f0b7158fdce":[5,0,0,71,19],
-"zot_8php.html#a9a57b40669351c9791126b925cb7ef3b":[5,0,0,71,12],
-"zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc":[5,0,0,71,11],
-"zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10":[5,0,0,71,14],
-"zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7":[5,0,0,71,23],
-"zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd":[5,0,0,71,16],
-"zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142":[5,0,0,71,27],
-"zot_8php.html#ac301c67864917c35922257950ae0f95c":[5,0,0,71,9],
-"zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7":[5,0,0,71,1],
-"zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d":[5,0,0,71,4],
-"zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72":[5,0,0,71,2],
-"zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7":[5,0,0,71,20],
-"zot_8php.html#aeea071f17e306fe3d0c488551906bfab":[5,0,0,71,22],
-"zot_8php.html#aeec89da5b6ff090c63a79de4de884a35":[5,0,0,71,6],
-"zotfeed_8php.html":[5,0,1,124],
-"zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac":[5,0,1,124,0]
+"widgets_8php.html#a08035db02ff6a23260146b4c64153422":[5,0,0,70,7],
+"widgets_8php.html#a0d404276fedc59f5038cf5c085028326":[5,0,0,70,19],
+"widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b":[5,0,0,70,4],
+"widgets_8php.html#a268b01ce1ab8fe2cb346cb769b9d1091":[5,0,0,70,5],
+"widgets_8php.html#a3bdfb81bf9a8ddf219924fa7eaf22013":[5,0,0,70,13],
+"widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256":[5,0,0,70,14],
+"widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0":[5,0,0,70,8],
+"widgets_8php.html#a6dbc227aac750774284ee39c45f0a200":[5,0,0,70,20],
+"widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e":[5,0,0,70,15]
};
diff --git a/doc/html/navtreeindex8.js b/doc/html/navtreeindex8.js
index 1747bda19..147258fa5 100644
--- a/doc/html/navtreeindex8.js
+++ b/doc/html/navtreeindex8.js
@@ -1,5 +1,58 @@
var NAVTREEINDEX8 =
{
+"widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165":[5,0,0,70,11],
+"widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65":[5,0,0,70,1],
+"widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8":[5,0,0,70,17],
+"widgets_8php.html#a95c06bc9be133e89768746302d2ac395":[5,0,0,70,6],
+"widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f":[5,0,0,70,3],
+"widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01":[5,0,0,70,18],
+"widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923":[5,0,0,70,16],
+"widgets_8php.html#abe03366fd22fd27d683518fa0765da50":[5,0,0,70,22],
+"widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd":[5,0,0,70,10],
+"widgets_8php.html#add9b24d3304e529a7975e96122315554":[5,0,0,70,0],
+"widgets_8php.html#ade630b19fb4c622b7b2f6f8ef89eefa2":[5,0,0,70,9],
+"widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653":[5,0,0,70,21],
+"widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b":[5,0,0,70,2],
+"widgets_8php.html#afa2e55a78f95667a6da082efac7fec74":[5,0,0,70,12],
+"xchan_8php.html":[5,0,1,120],
+"xchan_8php.html#a9853348bf1a35c644460221ba75edc2d":[5,0,1,120,0],
+"xrd_8php.html":[5,0,1,121],
+"xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270":[5,0,1,121,0],
+"xref_8php.html":[5,0,1,122],
+"xref_8php.html#a9bee399213b8de8226b0d60834307473":[5,0,1,122,0],
+"zfinger_8php.html":[5,0,1,123],
+"zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0":[5,0,1,123,0],
+"zot_8php.html":[5,0,0,71],
+"zot_8php.html#a083aec6c900d244e1bfc1406f9461465":[5,0,0,71,13],
+"zot_8php.html#a2657e141d62d5f67ad3c87651b585299":[5,0,0,71,7],
+"zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df":[5,0,0,71,15],
+"zot_8php.html#a37ec13b18057634eadb071f05297f5e1":[5,0,0,71,10],
+"zot_8php.html#a3862b3161b2c8557dc1a95020179bd81":[5,0,0,71,17],
+"zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a":[5,0,0,71,5],
+"zot_8php.html#a55056e863a7860bc0cf922e78fcce073":[5,0,0,71,21],
+"zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1":[5,0,0,71,8],
+"zot_8php.html#a5bcdfef419b16075a0eca990956223dc":[5,0,0,71,26],
+"zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea":[5,0,0,71,18],
+"zot_8php.html#a703f528ade8382cf374e4119bd6f7859":[5,0,0,71,0],
+"zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d":[5,0,0,71,25],
+"zot_8php.html#a8e22dbc6f884be3644a892a876cbd972":[5,0,0,71,3],
+"zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03":[5,0,0,71,24],
+"zot_8php.html#a95528377d7303131958c9f0b7158fdce":[5,0,0,71,19],
+"zot_8php.html#a9a57b40669351c9791126b925cb7ef3b":[5,0,0,71,12],
+"zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc":[5,0,0,71,11],
+"zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10":[5,0,0,71,14],
+"zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7":[5,0,0,71,23],
+"zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd":[5,0,0,71,16],
+"zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142":[5,0,0,71,27],
+"zot_8php.html#ac301c67864917c35922257950ae0f95c":[5,0,0,71,9],
+"zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7":[5,0,0,71,1],
+"zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d":[5,0,0,71,4],
+"zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72":[5,0,0,71,2],
+"zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7":[5,0,0,71,20],
+"zot_8php.html#aeea071f17e306fe3d0c488551906bfab":[5,0,0,71,22],
+"zot_8php.html#aeec89da5b6ff090c63a79de4de884a35":[5,0,0,71,6],
+"zotfeed_8php.html":[5,0,1,124],
+"zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac":[5,0,1,124,0],
"zping_8php.html":[5,0,1,125],
"zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75":[5,0,1,125,0]
};
diff --git a/doc/html/notes_8php.html b/doc/html/notes_8php.html
new file mode 100644
index 000000000..55c8c2cae
--- /dev/null
+++ b/doc/html/notes_8php.html
@@ -0,0 +1,137 @@
+<!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 Red Matrix: mod/notes.php File 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 Red Matrix
+ </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><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><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="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#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('notes_8php.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="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">notes.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a4dbd7b1f906440746af48b484d66535a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a4dbd7b1f906440746af48b484d66535a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a4dbd7b1f906440746af48b484d66535a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">notes_init </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/notes_8php.js b/doc/html/notes_8php.js
new file mode 100644
index 000000000..d0433afa8
--- /dev/null
+++ b/doc/html/notes_8php.js
@@ -0,0 +1,4 @@
+var notes_8php =
+[
+ [ "notes_init", "notes_8php.html#a4dbd7b1f906440746af48b484d66535a", null ]
+]; \ No newline at end of file
diff --git a/doc/html/permissions_8php.html b/doc/html/permissions_8php.html
index 9ab1d6ef2..2d4740310 100644
--- a/doc/html/permissions_8php.html
+++ b/doc/html/permissions_8php.html
@@ -197,7 +197,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: array of all permissions, key is permission name, value is true or false </dd></dl>
-<p>Referenced by <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -214,7 +214,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
</div>
</div>
@@ -248,7 +248,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="classRedInode.html#a5e8f09bc887725c3c448f8d72fe3edfc">RedInode\delete()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569">RedDirectory\getChild()</a>, <a class="el" href="classRedDirectory.html#aa42d3065f6f065b17db87146a7cb031a">RedDirectory\getChildren()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="classRedInode.html#a3d76322f25d847b123b3df37a26dd04e">RedInode\setName()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="classRedDirectory.html#a986936910f0216887a25e28916c166c7">RedDirectory\createDirectory()</a>, <a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">RedDirectory\createFile()</a>, <a class="el" href="classRedFile.html#aef71c9eaac7052be7dc8602eb12171e7">RedFile\delete()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569">RedDirectory\getChild()</a>, <a class="el" href="classRedDirectory.html#aa42d3065f6f065b17db87146a7cb031a">RedDirectory\getChildren()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="classRedBrowser.html#a40fdbb9d9fe6c1243bbf135dd5b0a06f">RedBrowser\set_writeable()</a>, <a class="el" href="classRedFile.html#a38a82bfc1b30028ea6ac75923e90fa25">RedFile\setName()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
</div>
</div>
diff --git a/doc/html/photo__driver_8php.html b/doc/html/photo__driver_8php.html
index b30d3e156..86bd00f16 100644
--- a/doc/html/photo__driver_8php.html
+++ b/doc/html/photo__driver_8php.html
@@ -122,8 +122,8 @@ Functions</h2></td></tr>
<tr class="separator:a32e2817faa25d7f11f60a8abff565035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a243cee492ce443afb6a7d77d54b6c4aa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type</a> ($filename, $headers= '')</td></tr>
<tr class="separator:a243cee492ce443afb6a7d77d54b6c4aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a102f3f26f67e0e38f4322a771951c1ca"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo</a> ($photo, $xchan)</td></tr>
-<tr class="separator:a102f3f26f67e0e38f4322a771951c1ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78f5a10c568d2a9bbbb129dc96548887"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo</a> ($photo, $xchan, $thing=false)</td></tr>
+<tr class="separator:a78f5a10c568d2a9bbbb129dc96548887"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d0bc7161dec0d177b7d3bbe4421af9a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo</a> ($photo, $type, $aid, $uid)</td></tr>
<tr class="separator:a1d0bc7161dec0d177b7d3bbe4421af9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -158,7 +158,7 @@ Functions</h2></td></tr>
</ul>
<p>Well, this not much better, but at least it comes from the data inside the image, we won't be tricked by a manipulated extension</p>
-<p>Referenced by <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, and <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>.</p>
+<p>Referenced by <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, and <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>.</p>
</div>
</div>
@@ -202,7 +202,7 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a102f3f26f67e0e38f4322a771951c1ca"></a>
+<a class="anchor" id="a78f5a10c568d2a9bbbb129dc96548887"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -216,7 +216,13 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
- <td class="paramname"><em>$xchan</em>&#160;</td>
+ <td class="paramname"><em>$xchan</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$thing</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -226,7 +232,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, and <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>.</p>
+<p>Referenced by <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
</div>
</div>
@@ -254,7 +260,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, and <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>.</p>
+<p>Referenced by <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, and <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>.</p>
</div>
</div>
diff --git a/doc/html/photo__driver_8php.js b/doc/html/photo__driver_8php.js
index 8ac064d4e..cabd3c93b 100644
--- a/doc/html/photo__driver_8php.js
+++ b/doc/html/photo__driver_8php.js
@@ -3,6 +3,6 @@ var photo__driver_8php =
[ "photo_driver", "classphoto__driver.html", "classphoto__driver" ],
[ "guess_image_type", "photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa", null ],
[ "import_channel_photo", "photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a", null ],
- [ "import_profile_photo", "photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca", null ],
+ [ "import_profile_photo", "photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887", null ],
[ "photo_factory", "photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035", null ]
]; \ No newline at end of file
diff --git a/doc/html/php2po_8php.html b/doc/html/php2po_8php.html
index c89fdac58..cc75df8b1 100644
--- a/doc/html/php2po_8php.html
+++ b/doc/html/php2po_8php.html
@@ -168,7 +168,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="classTemplate.html#aae9c4d761ea1298e745e8052d7910194">Template\_get_var()</a>, <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">Template\_replcb_for()</a>, <a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">activity_sanitise()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914">aes_unencapsulate()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f">contact_poll_interval()</a>, <a class="el" href="contact__selectors_8php.html#ae499960d6467bd30c78607b1018baf53">contact_reputation()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35">get_plugin_info()</a>, <a class="el" href="plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405">get_theme_info()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6">load_pconfig()</a>, <a class="el" href="include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33">load_xconfig()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="taxonomy_8php.html#ac12a651a42ed77f8dc7072c6168811a2">obj_verb_selector()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="include_2api_8php.html#a43c47de8565cc00c3369cb35c19cc75e">requestdata()</a>, <a class="el" href="classApp.html#a123b903dfe5d3488cc68db3471d36fd2">App\set_widget()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="boot_8php.html#aca47505b8732177f52bb2d647eb2741c">startup()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d">tt()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="classTemplate.html#aae9c4d761ea1298e745e8052d7910194">Template\_get_var()</a>, <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">Template\_replcb_for()</a>, <a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">activity_sanitise()</a>, <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914">aes_unencapsulate()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f">contact_poll_interval()</a>, <a class="el" href="contact__selectors_8php.html#ae499960d6467bd30c78607b1018baf53">contact_reputation()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="classRedBrowser.html#a1f7daf50bb9bfcde7345b3b1908dbd7e">RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35">get_plugin_info()</a>, <a class="el" href="plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405">get_theme_info()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6">load_pconfig()</a>, <a class="el" href="include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33">load_xconfig()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="taxonomy_8php.html#af387463d42ffdf7d2ab3d5b22e40a0c7">obj_verb_selector()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="include_2api_8php.html#a43c47de8565cc00c3369cb35c19cc75e">requestdata()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="boot_8php.html#aca47505b8732177f52bb2d647eb2741c">startup()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d">tt()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
</div>
</div>
@@ -182,7 +182,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>.</p>
+<p>Referenced by <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="include_2attach_8php.html#a5d484de2d19a93071571d6499a50ae34">pipe_streams()</a>, and <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>.</p>
</div>
</div>
diff --git a/doc/html/php_2default_8php.html b/doc/html/php_2default_8php.html
index 0ca6ea675..179210e2b 100644
--- a/doc/html/php_2default_8php.html
+++ b/doc/html/php_2default_8php.html
@@ -112,7 +112,7 @@ $(document).ready(function(){initNavTree('php_2default_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
-<tr class="memitem:a23bc1996b18e69c1a3ab44536613a762"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762">if</a> (<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td></tr>
+<tr class="memitem:a23bc1996b18e69c1a3ab44536613a762"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762">if</a> (<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td></tr>
<tr class="separator:a23bc1996b18e69c1a3ab44536613a762"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Variable Documentation</h2>
@@ -121,7 +121,7 @@ Variables</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td>
+ <td class="memname">if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td>
</tr>
</table>
</div><div class="memdoc">
diff --git a/doc/html/php_2theme__init_8php.html b/doc/html/php_2theme__init_8php.html
index 666aede97..b2af22595 100644
--- a/doc/html/php_2theme__init_8php.html
+++ b/doc/html/php_2theme__init_8php.html
@@ -127,7 +127,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>Those who require this feature will know what to do with it. Those who don't, won't. Eventually this functionality needs to be provided by a module such that permissions can be enforced. At the moment it's more of a proof of concept; but sufficient for our immediate needs. </p>
-<p>Referenced by <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="item_8php.html#a3daae7944f737bd30412a0d042207c0f">fix_attached_file_permissions()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c">lastpost_init()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post__to__red_8php.html#a5cc2a89a6d33cdb8e2ca557a69bef42d">post_to_red_delete_comment()</a>, <a class="el" href="post__to__red_8php.html#a4674bb5ce2baa32c559607460c39a2c5">post_to_red_delete_post()</a>, <a class="el" href="post__to__red_8php.html#a75db5d87226a0287a0ac0fa315f2bcfd">post_to_red_displayAdminContent()</a>, <a class="el" href="post__to__red_8php.html#af5fd50e2c42ede85f8a9e8d9ee3cf540">post_to_red_post()</a>, <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings_aside()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud_init()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="item_8php.html#a3daae7944f737bd30412a0d042207c0f">fix_attached_file_permissions()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="classRedBrowser.html#a7f6bf0bda07833f4c647557bd172e349">RedBrowser\htmlActionsPanel()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post__to__red_8php.html#a5cc2a89a6d33cdb8e2ca557a69bef42d">post_to_red_delete_comment()</a>, <a class="el" href="post__to__red_8php.html#a4674bb5ce2baa32c559607460c39a2c5">post_to_red_delete_post()</a>, <a class="el" href="post__to__red_8php.html#a75db5d87226a0287a0ac0fa315f2bcfd">post_to_red_displayAdminContent()</a>, <a class="el" href="post__to__red_8php.html#af5fd50e2c42ede85f8a9e8d9ee3cf540">post_to_red_post()</a>, <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
</div>
</div>
diff --git a/doc/html/plugin_8php.html b/doc/html/plugin_8php.html
index 6a9842f46..0525ddcc1 100644
--- a/doc/html/plugin_8php.html
+++ b/doc/html/plugin_8php.html
@@ -150,12 +150,18 @@ Functions</h2></td></tr>
<tr class="separator:a754d7f53b3abc557b753c057dc4e021d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23c4fccf1eb5fcd63b24783ba1f05f7a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a">head_add_css</a> ($src, $media= 'screen')</td></tr>
<tr class="separator:a23c4fccf1eb5fcd63b24783ba1f05f7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ab6caae31935f6cf781ce7872db7cdf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf">head_remove_css</a> ($src, $media= 'screen')</td></tr>
+<tr class="separator:a9ab6caae31935f6cf781ce7872db7cdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af92789f559b89a380e49d303218aeeca"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#af92789f559b89a380e49d303218aeeca">head_get_css</a> ()</td></tr>
<tr class="separator:af92789f559b89a380e49d303218aeeca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9039e15aae27676af7777dcbee5a11d6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6">format_css_if_exists</a> ($source)</td></tr>
<tr class="separator:a9039e15aae27676af7777dcbee5a11d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e8c2ea50bfdbc39e17ccccaea21ddc3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3">script_path</a> ()</td></tr>
+<tr class="separator:a0e8c2ea50bfdbc39e17ccccaea21ddc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a516591850f4fd49fd1425cfa54089db8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a516591850f4fd49fd1425cfa54089db8">head_add_js</a> ($src)</td></tr>
<tr class="separator:a516591850f4fd49fd1425cfa54089db8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a0ae7b881e7c8af99a69e3b03f898b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4">head_remove_js</a> ($src)</td></tr>
+<tr class="separator:a4a0ae7b881e7c8af99a69e3b03f898b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65ab52cb1a7030d5190e247211bef2a1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1">head_get_js</a> ()</td></tr>
<tr class="separator:a65ab52cb1a7030d5190e247211bef2a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9ff8ba554576383c5911a4bce068c1f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f">format_js_if_exists</a> ($source)</td></tr>
@@ -192,7 +198,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="items_8php.html#a016dd86c827d08db89061ea81d15c6cb">atom_author()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="account_8php.html#a144b4891022567668375b58ea61cfff0">check_account_password()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355">gender_selector()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">get_features()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">get_poke_verbs()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">App\get_widgets()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837">html2bbcode()</a>, <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798">marital_selector()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7">sexpref_selector()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>, and <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="items_8php.html#a016dd86c827d08db89061ea81d15c6cb">atom_author()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="account_8php.html#a144b4891022567668375b58ea61cfff0">check_account_password()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355">gender_selector()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">get_features()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">get_poke_verbs()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">App\get_widgets()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837">html2bbcode()</a>, <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798">marital_selector()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7">sexpref_selector()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>, and <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>.</p>
</div>
</div>
@@ -284,7 +290,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">blogtheme_form()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="crepair_8php.html#a29464c01838e209c8059cfcd2d195caa">crepair_content()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774">dir_sort_links()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">field_timezone()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="contact__widgets_8php.html#af24e693532a045954caab515942cfc6f">follow_widget()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17">group_side()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e">menu_render()</a>, <a class="el" href="mod_2message_8php.html#af4ba72486117cc24335fd8e92a2112a7">message_aside()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">micropro()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0">pagelist_widget()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="acl__selectors_8php.html#a7b5446e999636ceceea65c154d865a31">populate_acl()</a>, <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">saved_searches()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings_aside()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">writepages_widget()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">blogtheme_form()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774">dir_sort_links()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">field_timezone()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e">menu_render()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">micropro()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0">pagelist_widget()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="acl__selectors_8php.html#a7b5446e999636ceceea65c154d865a31">populate_acl()</a>, <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">writepages_widget()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
</div>
</div>
@@ -422,6 +428,48 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a9ab6caae31935f6cf781ce7872db7cdf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">head_remove_css </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$src</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$media</em> = <code>'screen'</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4a0ae7b881e7c8af99a69e3b03f898b4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">head_remove_js </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$src</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="aeaebe63dcf6fa2794f363ba2bc0b2c6b"></a>
<div class="memitem">
<div class="memproto">
@@ -568,6 +616,23 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a0e8c2ea50bfdbc39e17ccccaea21ddc3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">script_path </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6">format_css_if_exists()</a>, and <a class="el" href="plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f">format_js_if_exists()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a030cec6793b909c439c0336ba39b1571"></a>
<div class="memitem">
<div class="memproto">
@@ -626,7 +691,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="contact__widgets_8php.html#af24e693532a045954caab515942cfc6f">follow_widget()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, and <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>.</p>
+<p>Referenced by <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">RedDirectory\createFile()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="classRedDirectory.html#a2f7a574f2115f099d6dd103d5b252375">RedDirectory\getQuotaInfo()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">RedFile\put()</a>, and <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>.</p>
</div>
</div>
@@ -654,7 +719,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6">format_css_if_exists()</a>, <a class="el" href="plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f">format_js_if_exists()</a>, <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine\get_intltext_template()</a>, <a class="el" href="classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88">FriendicaSmartyEngine\get_markup_template()</a>, <a class="el" href="classTemplate.html#afd97b4b1e7754a550e67c0ea79159059">Template\get_markup_template()</a>, and <a class="el" href="classApp.html#a123b903dfe5d3488cc68db3471d36fd2">App\set_widget()</a>.</p>
+<p>Referenced by <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6">format_css_if_exists()</a>, <a class="el" href="plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f">format_js_if_exists()</a>, <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine\get_intltext_template()</a>, <a class="el" href="classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88">FriendicaSmartyEngine\get_markup_template()</a>, and <a class="el" href="classTemplate.html#afd97b4b1e7754a550e67c0ea79159059">Template\get_markup_template()</a>.</p>
</div>
</div>
diff --git a/doc/html/plugin_8php.js b/doc/html/plugin_8php.js
index ff6745471..e338c63d6 100644
--- a/doc/html/plugin_8php.js
+++ b/doc/html/plugin_8php.js
@@ -12,12 +12,15 @@ var plugin_8php =
[ "head_add_js", "plugin_8php.html#a516591850f4fd49fd1425cfa54089db8", null ],
[ "head_get_css", "plugin_8php.html#af92789f559b89a380e49d303218aeeca", null ],
[ "head_get_js", "plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1", null ],
+ [ "head_remove_css", "plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf", null ],
+ [ "head_remove_js", "plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4", null ],
[ "insert_hook", "plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b", null ],
[ "install_plugin", "plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5", null ],
[ "load_hooks", "plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813", null ],
[ "load_plugin", "plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d", null ],
[ "register_hook", "plugin_8php.html#a425472c5f3afc137268b2ad45652b209", null ],
[ "reload_plugins", "plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025", null ],
+ [ "script_path", "plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3", null ],
[ "service_class_allows", "plugin_8php.html#a030cec6793b909c439c0336ba39b1571", null ],
[ "service_class_fetch", "plugin_8php.html#a905b54e10704b283ac64680a8abc0971", null ],
[ "theme_include", "plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2", null ],
diff --git a/doc/html/post_8php.html b/doc/html/post_8php.html
index 518ca703d..ca5ac2fb3 100644
--- a/doc/html/post_8php.html
+++ b/doc/html/post_8php.html
@@ -141,7 +141,7 @@ Functions</h2></td></tr>
<p>The sender of this packet is an arbitrary/random site channel. The recipients will be a single recipient corresponding to the guid and guid_sig we have associated with the requesting auth identity</p>
<p>{ "type":"auth_check", "sender":{ "guid":"kgVFf_...", "guid_sig":"PT9-TApz...", "url":"http:\/\/podunk.edu", "url_sig":"T8Bp7j..." }, "recipients":{ { "guid":"ZHSqb...", "guid_sig":"JsAAXi..." } } "callback":"\/post", "version":1, "secret":"1eaa661", "secret_sig":"eKV968b1..." }</p>
<p>auth_check messages MUST use encapsulated encryption. This message is sent to the origination site, which checks the 'secret' to see if it is the same as the 'sec' which it passed originally. It also checks the secret_sig which is the secret signed by the destination channel's private key and base64url encoded. If everything checks out, a json packet is returned:</p>
-<p>{ "success":1, "confirm":"q0Ysovd1u..." "service_class":(optional) }</p>
+<p>{ "success":1, "confirm":"q0Ysovd1u..." "service_class":(optional) "level":(optional) }</p>
<p>'confirm' in this case is the base64url encoded RSA signature of the concatenation of 'secret' with the base64url encoded whirlpool hash of the requestor's guid and guid_sig; signed with the source channel private key. This prevents a man-in-the-middle from inserting a rogue success packet. Upon receipt and successful verification of this packet, the destination site will redirect to the original destination URL and indicate a successful remote login. Service_class can be used by cooperating sites to provide different access rights based on account rights and subscription plans. It is a string whose contents are not defined by protocol. Example: "basic" or "gold".</p>
</div>
diff --git a/doc/html/profile_8php.html b/doc/html/profile_8php.html
index a44f39cf3..4e95ad2b8 100644
--- a/doc/html/profile_8php.html
+++ b/doc/html/profile_8php.html
@@ -114,28 +114,10 @@ $(document).ready(function(){initNavTree('profile_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:ab5d0246be0552e2182a585c1206d22a5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init</a> (&amp;$a)</td></tr>
<tr class="separator:ab5d0246be0552e2182a585c1206d22a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1a2482b775476f2f64ea5e8f4fc3fd1e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile_8php.html#a1a2482b775476f2f64ea5e8f4fc3fd1e">profile_aside</a> (&amp;$a)</td></tr>
-<tr class="separator:a1a2482b775476f2f64ea5e8f4fc3fd1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3775cf6eef6587e5143133356a7b76c0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content</a> (&amp;$a, $update=0)</td></tr>
<tr class="separator:a3775cf6eef6587e5143133356a7b76c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a1a2482b775476f2f64ea5e8f4fc3fd1e"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">profile_aside </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="a3775cf6eef6587e5143133356a7b76c0"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/profile_8php.js b/doc/html/profile_8php.js
index 942cf9b3d..249035945 100644
--- a/doc/html/profile_8php.js
+++ b/doc/html/profile_8php.js
@@ -1,6 +1,5 @@
var profile_8php =
[
- [ "profile_aside", "profile_8php.html#a1a2482b775476f2f64ea5e8f4fc3fd1e", null ],
[ "profile_content", "profile_8php.html#a3775cf6eef6587e5143133356a7b76c0", null ],
[ "profile_init", "profile_8php.html#ab5d0246be0552e2182a585c1206d22a5", null ]
]; \ No newline at end of file
diff --git a/doc/html/profile__photo_8php.html b/doc/html/profile__photo_8php.html
index 769fa21a7..5d775fc65 100644
--- a/doc/html/profile__photo_8php.html
+++ b/doc/html/profile__photo_8php.html
@@ -114,28 +114,10 @@ $(document).ready(function(){initNavTree('profile__photo_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a140631c56438fbfacb61a1eb43067d02"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init</a> (&amp;$a)</td></tr>
<tr class="separator:a140631c56438fbfacb61a1eb43067d02"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac9cd968a767e2ae1b88383b6cdd6dbe3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile__photo_8php.html#ac9cd968a767e2ae1b88383b6cdd6dbe3">profile_photo_aside</a> (&amp;$a)</td></tr>
-<tr class="separator:ac9cd968a767e2ae1b88383b6cdd6dbe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b80234074bd603221aa5364f330e479"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post</a> (&amp;$a)</td></tr>
<tr class="separator:a4b80234074bd603221aa5364f330e479"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ac9cd968a767e2ae1b88383b6cdd6dbe3"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">profile_photo_aside </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="a140631c56438fbfacb61a1eb43067d02"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/profile__photo_8php.js b/doc/html/profile__photo_8php.js
index c9a379a2e..db2f4e25e 100644
--- a/doc/html/profile__photo_8php.js
+++ b/doc/html/profile__photo_8php.js
@@ -1,6 +1,5 @@
var profile__photo_8php =
[
- [ "profile_photo_aside", "profile__photo_8php.html#ac9cd968a767e2ae1b88383b6cdd6dbe3", null ],
[ "profile_photo_init", "profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02", null ],
[ "profile_photo_post", "profile__photo_8php.html#a4b80234074bd603221aa5364f330e479", null ]
]; \ No newline at end of file
diff --git a/doc/html/profiles_8php.html b/doc/html/profiles_8php.html
index 17239b852..1b947e0ed 100644
--- a/doc/html/profiles_8php.html
+++ b/doc/html/profiles_8php.html
@@ -114,30 +114,12 @@ $(document).ready(function(){initNavTree('profiles_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a36f71405ad536228f8bb84a551b23f7e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init</a> (&amp;$a)</td></tr>
<tr class="separator:a36f71405ad536228f8bb84a551b23f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2a3ac90f51941ff78b85e9389304969c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profiles_8php.html#a2a3ac90f51941ff78b85e9389304969c">profiles_aside</a> (&amp;$a)</td></tr>
-<tr class="separator:a2a3ac90f51941ff78b85e9389304969c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0362c81b1d3b0b12a772b9fac446e04"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post</a> (&amp;$a)</td></tr>
<tr class="separator:ab0362c81b1d3b0b12a772b9fac446e04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46975783b8b8d70402d51487eb1f0b00"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content</a> (&amp;$a)</td></tr>
<tr class="separator:a46975783b8b8d70402d51487eb1f0b00"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a2a3ac90f51941ff78b85e9389304969c"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">profiles_aside </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="a46975783b8b8d70402d51487eb1f0b00"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/profiles_8php.js b/doc/html/profiles_8php.js
index 6bc83ad62..256ba1080 100644
--- a/doc/html/profiles_8php.js
+++ b/doc/html/profiles_8php.js
@@ -1,6 +1,5 @@
var profiles_8php =
[
- [ "profiles_aside", "profiles_8php.html#a2a3ac90f51941ff78b85e9389304969c", null ],
[ "profiles_content", "profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00", null ],
[ "profiles_init", "profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e", null ],
[ "profiles_post", "profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04", null ]
diff --git a/doc/html/profperm_8php.html b/doc/html/profperm_8php.html
index 315bc21bb..a99c661fb 100644
--- a/doc/html/profperm_8php.html
+++ b/doc/html/profperm_8php.html
@@ -114,28 +114,10 @@ $(document).ready(function(){initNavTree('profperm_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a17fb64ec05edee1dc94d95438807d6c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init</a> (&amp;$a)</td></tr>
<tr class="separator:a17fb64ec05edee1dc94d95438807d6c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a77fd398ae7c25142e1d9ad724ec347cc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profperm_8php.html#a77fd398ae7c25142e1d9ad724ec347cc">profperm_aside</a> (&amp;$a)</td></tr>
-<tr class="separator:a77fd398ae7c25142e1d9ad724ec347cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef015787de2373d9fb3fe3f814fb5023"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content</a> (&amp;$a)</td></tr>
<tr class="separator:aef015787de2373d9fb3fe3f814fb5023"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a77fd398ae7c25142e1d9ad724ec347cc"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">profperm_aside </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="aef015787de2373d9fb3fe3f814fb5023"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/profperm_8php.js b/doc/html/profperm_8php.js
index 978df3252..95b68003d 100644
--- a/doc/html/profperm_8php.js
+++ b/doc/html/profperm_8php.js
@@ -1,6 +1,5 @@
var profperm_8php =
[
- [ "profperm_aside", "profperm_8php.html#a77fd398ae7c25142e1d9ad724ec347cc", null ],
[ "profperm_content", "profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023", null ],
[ "profperm_init", "profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6", null ]
]; \ No newline at end of file
diff --git a/doc/html/pubsites_8php.html b/doc/html/pubsites_8php.html
index f9f83cae7..0972e9cd4 100644
--- a/doc/html/pubsites_8php.html
+++ b/doc/html/pubsites_8php.html
@@ -130,6 +130,8 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Referenced by <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>.</p>
+
</div>
</div>
</div><!-- contents -->
diff --git a/doc/html/reddav_8php.html b/doc/html/reddav_8php.html
index 49b7d62ff..cc869593c 100644
--- a/doc/html/reddav_8php.html
+++ b/doc/html/reddav_8php.html
@@ -104,7 +104,8 @@ $(document).ready(function(){initNavTree('reddav_8php.html','');});
<div class="header">
<div class="summary">
-<a href="#nested-classes">Classes</a> </div>
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">reddav.php File Reference</div> </div>
</div><!--header-->
@@ -112,13 +113,105 @@ $(document).ready(function(){initNavTree('reddav_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedInode.html">RedInode</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedDirectory.html">RedDirectory</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedFile.html">RedFile</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBasicAuth.html">RedBasicAuth</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedBrowser.html">RedBrowser</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae92ea0df1993f6a7bcd1b6efa6c1fb66"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList</a> (&amp;$auth)</td></tr>
+<tr class="separator:ae92ea0df1993f6a7bcd1b6efa6c1fb66"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5df0d09893f2e65dc5cf6bbab6cfb266"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData</a> ($file, &amp;$auth)</td></tr>
+<tr class="separator:a5df0d09893f2e65dc5cf6bbab6cfb266"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f531641dfb4e43cd88ac1a9ae7e2088"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData</a> ($file, &amp;$auth, $test=false)</td></tr>
+<tr class="separator:a9f531641dfb4e43cd88ac1a9ae7e2088"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ae92ea0df1993f6a7bcd1b6efa6c1fb66"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedChannelList </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$auth</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5df0d09893f2e65dc5cf6bbab6cfb266"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedCollectionData </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$auth</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedDirectory.html#aa42d3065f6f065b17db87146a7cb031a">RedDirectory\getChildren()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9f531641dfb4e43cd88ac1a9ae7e2088"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedFileData </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$auth</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$test</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedDirectory.html#a5e3fc08b2bf9f61cea4d2ccae0495bec">RedDirectory\childExists()</a>, and <a class="el" href="classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569">RedDirectory\getChild()</a>.</p>
+
+</div>
+</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/reddav_8php.js b/doc/html/reddav_8php.js
new file mode 100644
index 000000000..3e2dd2ffe
--- /dev/null
+++ b/doc/html/reddav_8php.js
@@ -0,0 +1,10 @@
+var reddav_8php =
+[
+ [ "RedDirectory", "classRedDirectory.html", "classRedDirectory" ],
+ [ "RedFile", "classRedFile.html", "classRedFile" ],
+ [ "RedBasicAuth", "classRedBasicAuth.html", "classRedBasicAuth" ],
+ [ "RedBrowser", "classRedBrowser.html", "classRedBrowser" ],
+ [ "RedChannelList", "reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66", null ],
+ [ "RedCollectionData", "reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266", null ],
+ [ "RedFileData", "reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088", null ]
+]; \ No newline at end of file
diff --git a/doc/html/search/all_24.js b/doc/html/search/all_24.js
index 529ec0c2d..f52fc6283 100644
--- a/doc/html/search/all_24.js
+++ b/doc/html/search/all_24.js
@@ -9,20 +9,22 @@ var searchData=
['_24argv',['$argv',['../classApp.html#ab3da757abe5cb45bf88f07cc51a73b58',1,'App']]],
['_24arr',['$arr',['../extract_8php.html#a63bb4c41bc532baacf6a4976cfaa0feb',1,'extract.php']]],
['_24aside',['$aside',['../minimalisticdarkness_8php.html#a6e5d97615c6faef5dbffe04b8024ceaf',1,'minimalisticdarkness.php']]],
- ['_24attach',['$attach',['../classRedInode.html#a7b317eb1230930154107ed51e54193f5',1,'RedInode']]],
- ['_24auth',['$auth',['../classRedDirectory.html#a9616af16cd19a18a6afebebcc2881c44',1,'RedDirectory']]],
+ ['_24auth',['$auth',['../classRedDirectory.html#a9616af16cd19a18a6afebebcc2881c44',1,'RedDirectory\$auth()'],['../classRedFile.html#a4b5d0e33f919c6c175b30a55de6263f2',1,'RedFile\$auth()'],['../classRedBrowser.html#ab6d6d1e2a67e06b344a4cede1bd00b35',1,'RedBrowser\$auth()']]],
['_24background_5fimage',['$background_image',['../redbasic_2php_2style_8php.html#a339624aeef6604a2f00209a3962c6e1c',1,'style.php']]],
['_24banner_5fcolour',['$banner_colour',['../redbasic_2php_2style_8php.html#ae587aa6949ab6e4aa77a591e60f67ee0',1,'style.php']]],
['_24baseurl',['$baseurl',['../classApp.html#ad5175536561021548ae8188e24c7b80c',1,'App']]],
['_24bgcolour',['$bgcolour',['../redbasic_2php_2style_8php.html#a0bdce350cf14bac44976e786d1be6574',1,'style.php']]],
['_24body_5ffont_5fsize',['$body_font_size',['../redbasic_2php_2style_8php.html#ad78cb8a1793834626d73aca22a1501f8',1,'style.php']]],
['_24bodyclass',['$bodyclass',['../theme_2blogga_2php_2default_8php.html#a720581ae288aa09511670563e4205a4a',1,'$bodyclass():&#160;default.php'],['../theme_2blogga_2view_2theme_2blog_2default_8php.html#a720581ae288aa09511670563e4205a4a',1,'$bodyclass():&#160;default.php']]],
+ ['_24browser',['$browser',['../classRedBasicAuth.html#af14337f1baad407f8a85d48205c0f30e',1,'RedBasicAuth']]],
['_24cached_5fprofile_5fimage',['$cached_profile_image',['../classApp.html#abe0e4fa91097f7a6588e1213a834121c',1,'App']]],
['_24cached_5fprofile_5fpicdate',['$cached_profile_picdate',['../classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e',1,'App']]],
['_24called_5fapi',['$called_api',['../include_2api_8php.html#aa62b15a6bbb280e86b98132eb214013d',1,'api.php']]],
['_24category',['$category',['../classApp.html#a5cfc098c061b7d765add58fd2ca97445',1,'App']]],
['_24channel',['$channel',['../classApp.html#a050b0696118da47e8b30859ad1a2c149',1,'App\$channel()'],['../classItem.html#acc32426c0f465391be8a99ad810c7b8e',1,'Item\$channel()'],['../php_2theme__init_8php.html#a54f32c086fe209c99769a4c4047dd864',1,'$channel():&#160;theme_init.php']]],
- ['_24channel_5fid',['$channel_id',['../classRedDirectory.html#ae624dcaa4d73a517f4b1616d33df690d',1,'RedDirectory']]],
+ ['_24channel_5fhash',['$channel_hash',['../classRedBasicAuth.html#ad5a3ea4dc4783b242d9dc6e76478b6ef',1,'RedBasicAuth']]],
+ ['_24channel_5fid',['$channel_id',['../classRedBasicAuth.html#a2dab393650d1573e3515969a153e8354',1,'RedBasicAuth']]],
+ ['_24channel_5fname',['$channel_name',['../classRedBasicAuth.html#a438ab125b6ef46581947e35d49cdebac',1,'RedBasicAuth']]],
['_24children',['$children',['../classItem.html#a80dcd0fb7673776c0967839d429c2a0f',1,'Item']]],
['_24cid',['$cid',['../classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0',1,'App']]],
['_24cipher',['$cipher',['../classConversation.html#aa95c1a62af38bdfba7add9549bec083b',1,'Conversation']]],
@@ -45,14 +47,15 @@ var searchData=
['_24db',['$db',['../classApp.html#a330410a288f3393d53772f5e98f857ea',1,'App\$db()'],['../classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6',1,'dba_driver\$db()']]],
['_24debug',['$debug',['../classdba__driver.html#af48e2afeded5285766bf92e22123ed03',1,'dba_driver\$debug()'],['../classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a',1,'Template\$debug()']]],
['_24dir',['$dir',['../docblox__errorchecker_8php.html#a1659f0a629d408e0f849dbe4ee061e62',1,'docblox_errorchecker.php']]],
- ['_24dir_5fkey',['$dir_key',['../classRedDirectory.html#a8d5df814b2f825dd14c628a51b5829b5',1,'RedDirectory']]],
['_24dirs',['$dirs',['../typo_8php.html#a1b709c1d79631ebc8320b41bda028b54',1,'typo.php']]],
['_24dirstack',['$dirstack',['../docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6',1,'docblox_errorchecker.php']]],
['_24done',['$done',['../classTemplate.html#abda4c8d049f70553338eae7c905e9d5c',1,'Template']]],
['_24error',['$error',['../classApp.html#ac1a8b2cd40609b231a560201a08852ba',1,'App\$error()'],['../classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c',1,'dba_driver\$error()']]],
+ ['_24ext_5fpath',['$ext_path',['../classRedDirectory.html#a0f113244cd85c17848df991001d024f4',1,'RedDirectory']]],
['_24filelist',['$filelist',['../docblox__errorchecker_8php.html#a648a570b0f9f6e0e51b7267647c4b09b',1,'docblox_errorchecker.php']]],
['_24filename',['$filename',['../classFriendicaSmarty.html#a33fabbd4d6eef869df496adf357ae690',1,'FriendicaSmarty']]],
['_24files',['$files',['../extract_8php.html#a9590b15215a21e9b42eb546aeef79704',1,'$files():&#160;extract.php'],['../tpldebug_8php.html#a5358407d65f2ca826f96356a6642d149',1,'$files():&#160;tpldebug.php'],['../typo_8php.html#a9590b15215a21e9b42eb546aeef79704',1,'$files():&#160;typo.php']]],
+ ['_24folder_5fhash',['$folder_hash',['../classRedDirectory.html#aa10254abf177bb2a0e4a88495725e09b',1,'RedDirectory']]],
['_24font_5fcolour',['$font_colour',['../redbasic_2php_2style_8php.html#a68e3ff836ec87ae1370c9f4a12c21c6b',1,'style.php']]],
['_24font_5fsize',['$font_size',['../redbasic_2php_2style_8php.html#afcbcf57d0b90d2e4226c2e8a1171befc',1,'style.php']]],
['_24force_5fmax_5fitems',['$force_max_items',['../classApp.html#ae3f47830543d0d902f66913def8db66b',1,'App']]],
@@ -83,16 +86,19 @@ var searchData=
['_24mode',['$mode',['../classConversation.html#afb03d1648dbfafe62caa1e30f32f2b1a',1,'Conversation']]],
['_24module',['$module',['../classApp.html#a9bf62f8e39585c0aa48fcffc3bf3484d',1,'App']]],
['_24module_5floaded',['$module_loaded',['../classApp.html#a6e4f0fbfa3cf6c11baebe22a03db6165',1,'App']]],
- ['_24name',['$name',['../classFriendicaSmartyEngine.html#aaba6a42101bc9ae32e36b7fa2e243f02',1,'FriendicaSmartyEngine\$name()'],['../classTemplate.html#a6eb301a51cc94d8b94f4548fbad85eae',1,'Template\$name()']]],
+ ['_24name',['$name',['../classFriendicaSmartyEngine.html#aaba6a42101bc9ae32e36b7fa2e243f02',1,'FriendicaSmartyEngine\$name()'],['../classRedFile.html#acc48c05cd5a70951cb3c615ad84f03ba',1,'RedFile\$name()'],['../classTemplate.html#a6eb301a51cc94d8b94f4548fbad85eae',1,'Template\$name()']]],
['_24nav_5fcolour',['$nav_colour',['../redbasic_2php_2style_8php.html#a8fdd5874587a9ad86fb05ed0be265649',1,'style.php']]],
['_24nav_5fmin_5fopacity',['$nav_min_opacity',['../redbasic_2php_2style_8php.html#ab5ec5703848e0132f8a8f3d3a53a58e1',1,'style.php']]],
['_24nav_5fpercent_5fmin_5fopacity',['$nav_percent_min_opacity',['../redbasic_2php_2style_8php.html#a01c151bf47f7da2b979aaa4cb868da4c',1,'style.php']]],
['_24nav_5fsel',['$nav_sel',['../classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c',1,'App']]],
['_24needed',['$needed',['../docblox__errorchecker_8php.html#a852004caba0a34390297a079f4aaac73',1,'docblox_errorchecker.php']]],
['_24nodes',['$nodes',['../classTemplate.html#a8f4d17e49f42b876a97364c13fb572d1',1,'Template']]],
- ['_24observer',['$observer',['../classApp.html#a4ffe529fb14389f7fedf5fdc5f722e7f',1,'App\$observer()'],['../classConversation.html#a8748445aa26047ebed5141f3c3cbc244',1,'Conversation\$observer()']]],
+ ['_24observer',['$observer',['../classApp.html#a4ffe529fb14389f7fedf5fdc5f722e7f',1,'App\$observer()'],['../classConversation.html#a8748445aa26047ebed5141f3c3cbc244',1,'Conversation\$observer()'],['../classRedBasicAuth.html#aa75dc43b59adc98e38a98517d3fd35d1',1,'RedBasicAuth\$observer()']]],
+ ['_24os_5fpath',['$os_path',['../classRedDirectory.html#a3c148c07ad909985125aa4926d8d0021',1,'RedDirectory']]],
['_24out',['$out',['../php2po_8php.html#a48cb304902320d173a4eaa41543327b9',1,'php2po.php']]],
+ ['_24owner_5fid',['$owner_id',['../classRedBasicAuth.html#a09c1488a0b290f5a54dc15180c5690d7',1,'RedBasicAuth']]],
['_24owner_5fname',['$owner_name',['../classItem.html#a9594df6014b0b6f45364ea7a34510130',1,'Item']]],
+ ['_24owner_5fnick',['$owner_nick',['../classRedBasicAuth.html#a8d09b8d784cc810a0b3be580d05106a7',1,'RedBasicAuth']]],
['_24owner_5fphoto',['$owner_photo',['../classItem.html#a078f95b4134ce3a1df344cf8d386f986',1,'Item']]],
['_24owner_5furl',['$owner_url',['../classItem.html#afa54851df82962c7c42dea3cc9f5c92c',1,'Item']]],
['_24page',['$page',['../classApp.html#a4b67935096f66d1f14b657399a8461ac',1,'App']]],
@@ -108,6 +114,7 @@ var searchData=
['_24pmenu_5freply',['$pmenu_reply',['../redbasic_2php_2style_8php.html#a9b489f1c595b867212d30eca0c85b38c',1,'style.php']]],
['_24pmenu_5ftop',['$pmenu_top',['../redbasic_2php_2style_8php.html#ac98bd8264411bd207a5740d08e81a158',1,'style.php']]],
['_24pofile',['$pofile',['../php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1',1,'php2po.php']]],
+ ['_24poi',['$poi',['../classApp.html#a1936f2afce0dc0d1bbed15ae1f2ee81a',1,'App']]],
['_24prepared_5fitem',['$prepared_item',['../classConversation.html#a5b6adbb2fe24f0f53d6c22660dff91b2',1,'Conversation']]],
['_24preview',['$preview',['../classConversation.html#ae9937f9e0f3d927acc2bed46cc72e9ae',1,'Conversation']]],
['_24profile',['$profile',['../classApp.html#a57d041fcc003d08c127dfa99a02bc192',1,'App']]],
@@ -122,6 +129,7 @@ var searchData=
['_24replace',['$replace',['../classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10',1,'Template']]],
['_24reply_5fphoto',['$reply_photo',['../redbasic_2php_2style_8php.html#a0b070f2c9140a7a12a0b1f88601a29e4',1,'style.php']]],
['_24res',['$res',['../docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5',1,'docblox_errorchecker.php']]],
+ ['_24root_5fdir',['$root_dir',['../classRedDirectory.html#ad87c514a307ec97ba0f1372e9bcfa6a4',1,'RedDirectory']]],
['_24s',['$s',['../extract_8php.html#a50b05cf2e02ef0b67fcad97106dd7634',1,'extract.php']]],
['_24schema',['$schema',['../redbasic_2php_2style_8php.html#a83022b1d70799d2bde3d64dca9cb40ee',1,'style.php']]],
['_24scheme',['$scheme',['../classApp.html#ad082d63acc078e5bf23825a03bdd6a76',1,'App']]],
@@ -144,7 +152,7 @@ var searchData=
['_24theme_5fthread_5fallow',['$theme_thread_allow',['../classApp.html#a487332f8de40414ca1a54a4265570b70',1,'App']]],
['_24threaded',['$threaded',['../classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2',1,'Item']]],
['_24threads',['$threads',['../classConversation.html#a41f4a549e6a99f98935c4742addd22c8',1,'Conversation']]],
- ['_24timezone',['$timezone',['../classApp.html#ab35b01a366a2ea95725e97af278f87ab',1,'App']]],
+ ['_24timezone',['$timezone',['../classApp.html#ab35b01a366a2ea95725e97af278f87ab',1,'App\$timezone()'],['../classRedBasicAuth.html#a2d0246ed446fd5e55c17938b4ce6ac47',1,'RedBasicAuth\$timezone()']]],
['_24toolicon_5factivecolour',['$toolicon_activecolour',['../redbasic_2php_2style_8php.html#acfd00ec469ca3c5e8bfac787573093f3',1,'style.php']]],
['_24toolicon_5fcolour',['$toolicon_colour',['../redbasic_2php_2style_8php.html#a4161f6b8aa923f67e53f54dfb6554cdb',1,'style.php']]],
['_24top_5fphoto',['$top_photo',['../redbasic_2php_2style_8php.html#a810142b4bdd35a1d377ab279b02b47eb',1,'style.php']]],
diff --git a/doc/html/search/all_5f.js b/doc/html/search/all_5f.js
index 889fced66..eb4ffa3bc 100644
--- a/doc/html/search/all_5f.js
+++ b/doc/html/search/all_5f.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['_5f_5fconstruct',['__construct',['../classApp.html#af6d39f63fb7116bbeb04e51696f99474',1,'App\__construct()'],['../classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09',1,'Conversation\__construct()'],['../classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186',1,'dba_driver\__construct()'],['../classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6',1,'FriendicaSmarty\__construct()'],['../classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6',1,'FriendicaSmartyEngine\__construct()'],['../classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2',1,'Item\__construct()'],['../classFKOAuth1.html#a2f1276872329a6f0b704ccda1a4b9fa6',1,'FKOAuth1\__construct()'],['../classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae',1,'photo_driver\__construct()'],['../classRedInode.html#a21a6f92921c037c868e6fae30c7c51bb',1,'RedInode\__construct()'],['../classRedDirectory.html#add0bf2c049230fec4913e769d126e6e6',1,'RedDirectory\__construct()'],['../classRedFile.html#ad4588b90004a2741b1a4ced10355904c',1,'RedFile\__construct()']]],
+ ['_5f_5fconstruct',['__construct',['../classApp.html#af6d39f63fb7116bbeb04e51696f99474',1,'App\__construct()'],['../classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09',1,'Conversation\__construct()'],['../classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186',1,'dba_driver\__construct()'],['../classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6',1,'FriendicaSmarty\__construct()'],['../classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6',1,'FriendicaSmartyEngine\__construct()'],['../classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2',1,'Item\__construct()'],['../classFKOAuth1.html#a2f1276872329a6f0b704ccda1a4b9fa6',1,'FKOAuth1\__construct()'],['../classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae',1,'photo_driver\__construct()'],['../classRedDirectory.html#a1e35e3cd31d2a15250655e4cafdea180',1,'RedDirectory\__construct()'],['../classRedFile.html#a9a67bdb34c9db6ce144b3f371148b183',1,'RedFile\__construct()'],['../classRedBrowser.html#a4b76be9ccef0262cf78fffb4129eda93',1,'RedBrowser\__construct()']]],
['_5f_5fdestruct',['__destruct',['../classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721',1,'dba_driver\__destruct()'],['../classphoto__driver.html#ae4501abdc9651359f81d036b63625686',1,'photo_driver\__destruct()']]],
['_5fbuild_5fnodes',['_build_nodes',['../classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4',1,'Template']]],
['_5fget_5fvar',['_get_var',['../classTemplate.html#aae9c4d761ea1298e745e8052d7910194',1,'Template']]],
diff --git a/doc/html/search/all_61.js b/doc/html/search/all_61.js
index e89337e96..1f4decc58 100644
--- a/doc/html/search/all_61.js
+++ b/doc/html/search/all_61.js
@@ -24,9 +24,12 @@ var searchData=
['account_5fremoved',['ACCOUNT_REMOVED',['../boot_8php.html#ab5ddbe69d3d03acd06e1fb281488cb78',1,'boot.php']]],
['account_5frole_5fadmin',['ACCOUNT_ROLE_ADMIN',['../boot_8php.html#ac8400313df2c831653f9036f71ebd86d',1,'boot.php']]],
['account_5frole_5fallowcode',['ACCOUNT_ROLE_ALLOWCODE',['../boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688',1,'boot.php']]],
+ ['account_5frole_5fsystem',['ACCOUNT_ROLE_SYSTEM',['../boot_8php.html#a7c2eb822d50e1554bf5c32861f36342b',1,'boot.php']]],
['account_5ftotal',['account_total',['../account_8php.html#a43e3042b2723d76915a030bac3c668b6',1,'account.php']]],
['account_5funverified',['ACCOUNT_UNVERIFIED',['../boot_8php.html#af3a4271630aabd8be592213f925d6a36',1,'boot.php']]],
['account_5fverify_5fpassword',['account_verify_password',['../auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee',1,'auth.php']]],
+ ['achievements_2ephp',['achievements.php',['../achievements_8php.html',1,'']]],
+ ['achievements_5fcontent',['achievements_content',['../achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e',1,'achievements.php']]],
['acknowledge_5fpermissions',['acknowledge_permissions',['../classProtoDriver.html#a1593f3abae050edbd9304f4f8bc4894a',1,'ProtoDriver\acknowledge_permissions()'],['../classZotDriver.html#a3cfdf443da4e5326e205855d7c0054f2',1,'ZotDriver\acknowledge_permissions()']]],
['acl_2ephp',['acl.php',['../acl_8php.html',1,'']]],
['acl_5finit',['acl_init',['../acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a',1,'acl.php']]],
@@ -86,8 +89,6 @@ var searchData=
['aes_5funencapsulate',['aes_unencapsulate',['../crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914',1,'crypto.php']]],
['age',['age',['../datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df',1,'datetime.php']]],
['all_5ffriends',['all_friends',['../socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586',1,'socgraph.php']]],
- ['allfriends_2ephp',['allfriends.php',['../allfriends_8php.html',1,'']]],
- ['allfriends_5fcontent',['allfriends_content',['../allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83',1,'allfriends.php']]],
['allowed_5femail',['allowed_email',['../include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694',1,'network.php']]],
['allowed_5fpublic_5frecips',['allowed_public_recips',['../zot_8php.html#a703f528ade8382cf374e4119bd6f7859',1,'zot.php']]],
['allowed_5furl',['allowed_url',['../include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7',1,'network.php']]],
@@ -159,11 +160,13 @@ var searchData=
['atom_5fauthor',['atom_author',['../items_8php.html#a016dd86c827d08db89061ea81d15c6cb',1,'items.php']]],
['atom_5fentry',['atom_entry',['../items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6',1,'items.php']]],
['atom_5ftime',['ATOM_TIME',['../boot_8php.html#ad34c1547020a305915bcc39707744690',1,'boot.php']]],
- ['attach_2ephp',['attach.php',['../include_2attach_8php.html',1,'']]],
['attach_2ephp',['attach.php',['../mod_2attach_8php.html',1,'']]],
+ ['attach_2ephp',['attach.php',['../include_2attach_8php.html',1,'']]],
['attach_5fby_5fhash',['attach_by_hash',['../include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36',1,'attach.php']]],
['attach_5fby_5fhash_5fnodata',['attach_by_hash_nodata',['../include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932',1,'attach.php']]],
+ ['attach_5fchange_5fpermissions',['attach_change_permissions',['../include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221',1,'attach.php']]],
['attach_5fcount_5ffiles',['attach_count_files',['../include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3',1,'attach.php']]],
+ ['attach_5fdelete',['attach_delete',['../include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd',1,'attach.php']]],
['attach_5fflag_5fdir',['ATTACH_FLAG_DIR',['../boot_8php.html#aa74438cf71e48e37bf7b440b94243985',1,'boot.php']]],
['attach_5fflag_5fos',['ATTACH_FLAG_OS',['../boot_8php.html#a781916f83fcc8ff1035649afa45f0292',1,'boot.php']]],
['attach_5finit',['attach_init',['../mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1',1,'attach.php']]],
diff --git a/doc/html/search/all_62.js b/doc/html/search/all_62.js
index 48cba8636..1ab2883a1 100644
--- a/doc/html/search/all_62.js
+++ b/doc/html/search/all_62.js
@@ -6,7 +6,9 @@ var searchData=
['baseobject_2ephp',['BaseObject.php',['../BaseObject_8php.html',1,'']]],
['bb2diaspora',['bb2diaspora',['../bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c',1,'bb2diaspora.php']]],
['bb2diaspora_2ephp',['bb2diaspora.php',['../bb2diaspora_8php.html',1,'']]],
+ ['bb_5flocation',['bb_location',['../bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd',1,'bbcode.php']]],
['bb_5fparse_5fcrypt',['bb_parse_crypt',['../bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f',1,'bbcode.php']]],
+ ['bb_5fqr',['bb_qr',['../bbcode_8php.html#a98d0eecc620c19561639f06cfbe8e74c',1,'bbcode.php']]],
['bb_5fshareattributes',['bb_ShareAttributes',['../bbcode_8php.html#a1c69e021d5e0aef97d6966bf3169c86a',1,'bbcode.php']]],
['bb_5fshareattributessimple',['bb_ShareAttributesSimple',['../bbcode_8php.html#a2be26414a367118143cc89e2d58e7377',1,'bbcode.php']]],
['bb_5fspacefy',['bb_spacefy',['../bbcode_8php.html#a8911e027907820df3db03b4f76724b50',1,'bbcode.php']]],
@@ -26,6 +28,7 @@ var searchData=
['blogtheme_5fdisplay_5fitem',['blogtheme_display_item',['../blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5',1,'theme.php']]],
['blogtheme_5fform',['blogtheme_form',['../view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27',1,'blogtheme_form(&amp;$a, $headimg, $headimghome):&#160;config.php'],['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27',1,'blogtheme_form(&amp;$a, $headimg, $headimghome):&#160;config.php']]],
['blogtheme_5fimgurl',['blogtheme_imgurl',['../blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec',1,'theme.php']]],
+ ['bookmarks_5fmenu_5ffetch',['bookmarks_menu_fetch',['../include_2menu_8php.html#a7fb5f4847bc94436e43be4b81478febc',1,'menu.php']]],
['boot_2ephp',['boot.php',['../boot_8php.html',1,'']]],
['breaklines',['breaklines',['../html2plain_8php.html#a3214912e3d00cf0a948072daccf16740',1,'html2plain.php']]],
['build_5fpagehead',['build_pagehead',['../classApp.html#a08f0537964d98958d218066364cff785',1,'App']]],
diff --git a/doc/html/search/all_63.js b/doc/html/search/all_63.js
index 0ac1b9a56..85352b434 100644
--- a/doc/html/search/all_63.js
+++ b/doc/html/search/all_63.js
@@ -15,7 +15,6 @@ var searchData=
['chanman_2ephp',['chanman.php',['../mod_2chanman_8php.html',1,'']]],
['chanman_5fremove_5feverything_5ffrom_5fnetwork',['chanman_remove_everything_from_network',['../include_2chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b',1,'chanman.php']]],
['channel_2ephp',['channel.php',['../channel_8php.html',1,'']]],
- ['channel_5faside',['channel_aside',['../channel_8php.html#aea8e189f2fbabfda779349dd94082e8e',1,'channel.php']]],
['channel_5fcontent',['channel_content',['../channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1',1,'channel.php']]],
['channel_5finit',['channel_init',['../channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc',1,'channel.php']]],
['channel_5fremove',['channel_remove',['../Contact_8php.html#a186162051a5127069cc851d78740f205',1,'Contact.php']]],
@@ -43,6 +42,7 @@ var searchData=
['check_5flist_5fpermissions',['check_list_permissions',['../permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7',1,'permissions.php']]],
['check_5fphp',['check_php',['../setup_8php.html#a14d208682a88632290c895d20da6e7d6',1,'setup.php']]],
['check_5fsmarty3',['check_smarty3',['../setup_8php.html#afd8b0b3ade1507c45325caf377bf459d',1,'setup.php']]],
+ ['check_5fstore',['check_store',['../setup_8php.html#ab4b71369a25021d59247c917e98d8246',1,'setup.php']]],
['check_5fwall_5fto_5fwall',['check_wall_to_wall',['../classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8',1,'Item']]],
['check_5fwebbie',['check_webbie',['../text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3',1,'text.php']]],
['childexists',['childExists',['../classRedDirectory.html#a5e3fc08b2bf9f61cea4d2ccae0495bec',1,'RedDirectory']]],
@@ -58,7 +58,7 @@ var searchData=
['client_5fmode_5fupdate',['CLIENT_MODE_UPDATE',['../boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77',1,'boot.php']]],
['close',['close',['../classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975',1,'dba_driver\close()'],['../classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e',1,'dba_mysql\close()'],['../classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55',1,'dba_mysqli\close()']]],
['cloud_2ephp',['cloud.php',['../cloud_8php.html',1,'']]],
- ['cloud_5finit',['cloud_init',['../cloud_8php.html#a080071b784fe01d04ed6c09d9f2785b8',1,'cloud.php']]],
+ ['cloud_5finit',['cloud_init',['../cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d',1,'cloud.php']]],
['collect',['collect',['../classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d',1,'ProtoDriver\collect()'],['../classZotDriver.html#af65febb26031eb7f39871b9e2a539797',1,'ZotDriver\collect()']]],
['collect_5fprivate',['collect_private',['../classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b',1,'ProtoDriver\collect_private()'],['../classZotDriver.html#a2e15ff09772f0608203dad1c98299394',1,'ZotDriver\collect_private()']]],
['collect_5frecipients',['collect_recipients',['../items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70',1,'items.php']]],
@@ -72,7 +72,6 @@ var searchData=
['comanche_5fwebpage',['comanche_webpage',['../comanche_8php.html#ae9fe1ce574db3dd0931eada80234f82a',1,'comanche.php']]],
['comanche_5fwidget',['comanche_widget',['../comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f',1,'comanche.php']]],
['common_2ephp',['common.php',['../common_8php.html',1,'']]],
- ['common_5faside',['common_aside',['../common_8php.html#a3b12ec67b3d3edcf595c8d195da5d14a',1,'common.php']]],
['common_5fcontent',['common_content',['../common_8php.html#ab63408f39abef7a6915186e8dabc5a96',1,'common.php']]],
['common_5ffriends',['common_friends',['../socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918',1,'socgraph.php']]],
['common_5ffriends_5fvisitor_5fwidget',['common_friends_visitor_widget',['../contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65',1,'contact_widgets.php']]],
@@ -95,11 +94,15 @@ var searchData=
['connect_5finit',['connect_init',['../connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36',1,'connect.php']]],
['connect_5fpost',['connect_post',['../connect_8php.html#a417ec27afe33f21a929667a665e32ee2',1,'connect.php']]],
['connections_2ephp',['connections.php',['../connections_8php.html',1,'']]],
- ['connections_5faside',['connections_aside',['../connections_8php.html#af48f7ad20914760ba9874c090384e35a',1,'connections.php']]],
['connections_5fclone',['connections_clone',['../connections_8php.html#a15af118efee9c948b6f8294e54a73bb2',1,'connections.php']]],
['connections_5fcontent',['connections_content',['../connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c',1,'connections.php']]],
['connections_5finit',['connections_init',['../connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558',1,'connections.php']]],
['connections_5fpost',['connections_post',['../connections_8php.html#a1224058db8e3fb56463eb312f98e561d',1,'connections.php']]],
+ ['connedit_2ephp',['connedit.php',['../connedit_8php.html',1,'']]],
+ ['connedit_5fclone',['connedit_clone',['../connedit_8php.html#a707ea7e63cf9674025b1d6b081ae74f5',1,'connedit.php']]],
+ ['connedit_5fcontent',['connedit_content',['../connedit_8php.html#a795acb3d9d841f55c255d7611681ab67',1,'connedit.php']]],
+ ['connedit_5finit',['connedit_init',['../connedit_8php.html#a4da871e075597a09a8b374b9171dd92e',1,'connedit.php']]],
+ ['connedit_5fpost',['connedit_post',['../connedit_8php.html#a234c48426b652bf4d37053f2af329ac5',1,'connedit.php']]],
['construct_5factivity_5fobject',['construct_activity_object',['../items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee',1,'items.php']]],
['construct_5factivity_5ftarget',['construct_activity_target',['../items_8php.html#aa579bc4445d60098b1410961ca8e96b7',1,'items.php']]],
['construct_5fpage',['construct_page',['../boot_8php.html#acc4e0c910af066148b810e5fde55fff1',1,'boot.php']]],
@@ -130,14 +133,10 @@ var searchData=
['count_5fcommon_5ffriends_5fzcid',['count_common_friends_zcid',['../socgraph_8php.html#af175807406d94407a5e11742a3287746',1,'socgraph.php']]],
['count_5fdescendants',['count_descendants',['../classItem.html#aca1e66988ed00cd627b2a359b72cd0ae',1,'Item\count_descendants()'],['../conversation_8php.html#ab2383dff4f823e580399ff469d90ab19',1,'count_descendants():&#160;conversation.php']]],
['create_5faccount',['create_account',['../account_8php.html#a141fe579c351c78209d425473f978eb5',1,'account.php']]],
- ['create_5fdir_5faccount',['create_dir_account',['../identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd',1,'identity.php']]],
['create_5fidentity',['create_identity',['../identity_8php.html#a345f4c943d84de502ec6e72d2c813945',1,'identity.php']]],
+ ['create_5fsys_5fchannel',['create_sys_channel',['../identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05',1,'identity.php']]],
['createdirectory',['createDirectory',['../classRedDirectory.html#a986936910f0216887a25e28916c166c7',1,'RedDirectory']]],
['createfile',['createFile',['../classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0',1,'RedDirectory']]],
- ['crepair_2ephp',['crepair.php',['../crepair_8php.html',1,'']]],
- ['crepair_5fcontent',['crepair_content',['../crepair_8php.html#a29464c01838e209c8059cfcd2d195caa',1,'crepair.php']]],
- ['crepair_5finit',['crepair_init',['../crepair_8php.html#ab089978e50df156bbfabf9f8f5ccd198',1,'crepair.php']]],
- ['crepair_5fpost',['crepair_post',['../crepair_8php.html#acc4493e1ffd1462a605dd9b870034513',1,'crepair.php']]],
['cronhooks_2ephp',['cronhooks.php',['../cronhooks_8php.html',1,'']]],
['cronhooks_5frun',['cronhooks_run',['../cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca',1,'cronhooks.php']]],
['cropimage',['cropImage',['../classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e',1,'photo_driver\cropImage()'],['../classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c',1,'photo_gd\cropImage()'],['../classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4',1,'photo_imagick\cropImage()']]],
diff --git a/doc/html/search/all_64.js b/doc/html/search/all_64.js
index 5a666fcdc..61fbc8c2e 100644
--- a/doc/html/search/all_64.js
+++ b/doc/html/search/all_64.js
@@ -34,7 +34,7 @@ var searchData=
['del_5fxconfig',['del_xconfig',['../include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72',1,'config.php']]],
['delegate_2ephp',['delegate.php',['../delegate_8php.html',1,'']]],
['delegate_5fcontent',['delegate_content',['../delegate_8php.html#a943eea8996ef348eb845c498f9f354dd',1,'delegate.php']]],
- ['delete',['delete',['../classRedInode.html#a5e8f09bc887725c3c448f8d72fe3edfc',1,'RedInode']]],
+ ['delete',['delete',['../classRedFile.html#aef71c9eaac7052be7dc8602eb12171e7',1,'RedFile']]],
['delete_5fimported_5fitem',['delete_imported_item',['../zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72',1,'zot.php']]],
['delete_5fitem_5flowlevel',['delete_item_lowlevel',['../items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259',1,'items.php']]],
['deletenode',['deletenode',['../html2bbcode_8php.html#a71a07f135d196ec5943b13f7b2e6a9b2',1,'html2bbcode.php']]],
@@ -55,7 +55,6 @@ var searchData=
['dir_5ftagblock',['dir_tagblock',['../taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1',1,'taxonomy.php']]],
['directory_2ephp',['directory.php',['../mod_2directory_8php.html',1,'']]],
['directory_2ephp',['directory.php',['../include_2directory_8php.html',1,'']]],
- ['directory_5faside',['directory_aside',['../mod_2directory_8php.html#aa1d928543212871491706216742dd73c',1,'directory.php']]],
['directory_5fcontent',['directory_content',['../mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44',1,'directory.php']]],
['directory_5ffallback_5fmaster',['DIRECTORY_FALLBACK_MASTER',['../boot_8php.html#abedd940e664017c61b48c6efa31d0cb8',1,'boot.php']]],
['directory_5finit',['directory_init',['../mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf',1,'directory.php']]],
@@ -65,6 +64,8 @@ var searchData=
['directory_5fmode_5fstandalone',['DIRECTORY_MODE_STANDALONE',['../boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8',1,'boot.php']]],
['directory_5frealm',['DIRECTORY_REALM',['../boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd',1,'boot.php']]],
['directory_5frun',['directory_run',['../include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0',1,'directory.php']]],
+ ['dirprofile_2ephp',['dirprofile.php',['../dirprofile_8php.html',1,'']]],
+ ['dirprofile_5finit',['dirprofile_init',['../dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052',1,'dirprofile.php']]],
['dirsearch_2ephp',['dirsearch.php',['../dirsearch_8php.html',1,'']]],
['dirsearch_5fcontent',['dirsearch_content',['../dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c',1,'dirsearch.php']]],
['dirsearch_5finit',['dirsearch_init',['../dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752',1,'dirsearch.php']]],
diff --git a/doc/html/search/all_66.js b/doc/html/search/all_66.js
index 3f5c1a2d9..f9ff7aa3a 100644
--- a/doc/html/search/all_66.js
+++ b/doc/html/search/all_66.js
@@ -24,6 +24,7 @@ var searchData=
['files',['files',['../namespacefriendica-to-smarty-tpl.html#ae74419b16516956c66f7db714a93a6ac',1,'friendica-to-smarty-tpl']]],
['filestorage_2ephp',['filestorage.php',['../filestorage_8php.html',1,'']]],
['filestorage_5fcontent',['filestorage_content',['../filestorage_8php.html#a61bb1be78472555df4ce619f51014040',1,'filestorage.php']]],
+ ['filestorage_5fpost',['filestorage_post',['../filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd',1,'filestorage.php']]],
['find_5fthread_5fparent_5findex',['find_thread_parent_index',['../conversation_8php.html#ae59703b07ce2ddf627b4172ff26058b6',1,'conversation.php']]],
['find_5fupstream_5fdirectory',['find_upstream_directory',['../dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d',1,'dir_fns.php']]],
['find_5fxchan_5fin_5farray',['find_xchan_in_array',['../text_8php.html#ace3c98538c63e09b70a363210b414112',1,'text.php']]],
@@ -44,7 +45,6 @@ var searchData=
['follow_2ephp',['follow.php',['../include_2follow_8php.html',1,'']]],
['follow_5fcontent',['follow_content',['../mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592',1,'follow.php']]],
['follow_5finit',['follow_init',['../mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a',1,'follow.php']]],
- ['follow_5fwidget',['follow_widget',['../contact__widgets_8php.html#af24e693532a045954caab515942cfc6f',1,'contact_widgets.php']]],
['foreach',['foreach',['../typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5',1,'typo.php']]],
['format_5fcategories',['format_categories',['../text_8php.html#a3054189cff173977f4216c9a3dd29e1b',1,'text.php']]],
['format_5fcss_5fif_5fexists',['format_css_if_exists',['../plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6',1,'plugin.php']]],
diff --git a/doc/html/search/all_67.js b/doc/html/search/all_67.js
index 4aabc9746..e4e6a3fc7 100644
--- a/doc/html/search/all_67.js
+++ b/doc/html/search/all_67.js
@@ -3,6 +3,7 @@ var searchData=
['gen_5ftoken',['gen_token',['../classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819',1,'FKOAuthDataStore']]],
['gender_5fselector',['gender_selector',['../profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355',1,'profile_selectors.php']]],
['generate_5fuser_5fguid',['generate_user_guid',['../text_8php.html#ae4f6881d7e13623f8eded6277595112a',1,'text.php']]],
+ ['generatedirectoryindex',['generateDirectoryIndex',['../classRedBrowser.html#a1f7daf50bb9bfcde7345b3b1908dbd7e',1,'RedBrowser']]],
['get',['get',['../classCache.html#a70392b109331897bf9fdd7f1960e21de',1,'Cache\get()'],['../classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535',1,'RedFile\get()']]],
['get_5faccount',['get_account',['../classApp.html#a08bc87aff64f39fbc084e9d6545cee4d',1,'App']]],
['get_5faccount_5fid',['get_account_id',['../boot_8php.html#afe88b920aa285982edb817a0dd44eb37',1,'boot.php']]],
@@ -20,6 +21,7 @@ var searchData=
['get_5fchild',['get_child',['../classItem.html#a632185dd25c5caf277067c76230a4320',1,'Item']]],
['get_5fchildren',['get_children',['../classItem.html#aa0ee775ec94abccec6c798428835d001',1,'Item']]],
['get_5fcipher',['get_cipher',['../classConversation.html#a4aab60bb39fa6761b6cacdc8d9da2901',1,'Conversation']]],
+ ['get_5fcloudpath',['get_cloudpath',['../include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce',1,'attach.php']]],
['get_5fcomment_5fbox',['get_comment_box',['../classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf',1,'Item']]],
['get_5fcomment_5fbox_5ftemplate',['get_comment_box_template',['../classItem.html#a904421c7a427411bb2ab473bca872f63',1,'Item']]],
['get_5fconfig',['get_config',['../include_2config_8php.html#af02c96e6b37335774b548914ede1d22e',1,'config.php']]],
@@ -29,6 +31,7 @@ var searchData=
['get_5fdata',['get_data',['../classItem.html#ad3638f93065693c1f69eb349feb1b7aa',1,'Item']]],
['get_5fdata_5fvalue',['get_data_value',['../classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c',1,'Item']]],
['get_5fdb_5ferrno',['get_db_errno',['../setup_8php.html#a8652788e8589778c5f81634a9d5b9429',1,'setup.php']]],
+ ['get_5fdefault_5fprofile_5fphoto',['get_default_profile_photo',['../identity_8php.html#ab1485a26b032956e1496fc08c58b83ed',1,'identity.php']]],
['get_5fdim',['get_dim',['../datetime_8php.html#a7df24d72ea05922d3127363e2295174c',1,'datetime.php']]],
['get_5fevents',['get_events',['../identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312',1,'identity.php']]],
['get_5ffeatures',['get_features',['../features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c',1,'features.php']]],
@@ -60,7 +63,7 @@ var searchData=
['get_5fpath',['get_path',['../classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be',1,'App']]],
['get_5fpconfig',['get_pconfig',['../include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad',1,'config.php']]],
['get_5fperms',['get_perms',['../classApp.html#adb5a4bb657881e553978ff390babd01f',1,'App\get_perms()'],['../permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972',1,'get_perms():&#160;permissions.php']]],
- ['get_5fplink',['get_plink',['../text_8php.html#a3ef8c0cf31f35f77462067de8712fa34',1,'text.php']]],
+ ['get_5fplink',['get_plink',['../text_8php.html#aac0969ae09853205992ba06ab9f9f61a',1,'text.php']]],
['get_5fplugin_5finfo',['get_plugin_info',['../plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35',1,'plugin.php']]],
['get_5fpoke_5fverbs',['get_poke_verbs',['../text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66',1,'text.php']]],
['get_5fprofile_5felements',['get_profile_elements',['../items_8php.html#a251343637ff40a50cca93452cd530c26',1,'items.php']]],
@@ -69,6 +72,7 @@ var searchData=
['get_5fredirect_5furl',['get_redirect_url',['../classItem.html#a428f448f89a8629055ea3294eb942aea',1,'Item']]],
['get_5frel_5flink',['get_rel_link',['../text_8php.html#a3972701c5c83624ec4e2d06242f614e7',1,'text.php']]],
['get_5frpost_5fpath',['get_rpost_path',['../zot_8php.html#a8e22dbc6f884be3644a892a876cbd972',1,'zot.php']]],
+ ['get_5fsys_5fchannel',['get_sys_channel',['../identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51',1,'identity.php']]],
['get_5ftags',['get_tags',['../text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623',1,'text.php']]],
['get_5ftemplate',['get_template',['../classItem.html#aba23a0a9d89e316d2b343cc46d695d91',1,'Item']]],
['get_5ftemplate_5fdata',['get_template_data',['../classConversation.html#a2a96b7a6573ae53db861624659e831cb',1,'Conversation\get_template_data()'],['../classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8',1,'Item\get_template_data()']]],
@@ -80,18 +84,21 @@ var searchData=
['get_5ftheme_5finfo',['get_theme_info',['../plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405',1,'plugin.php']]],
['get_5ftheme_5fscreenshot',['get_theme_screenshot',['../plugin_8php.html#a48047edfbef770125a5508dcc2f9282f',1,'plugin.php']]],
['get_5ftheme_5fuid',['get_theme_uid',['../identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3',1,'identity.php']]],
+ ['get_5fthings',['get_things',['../taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de',1,'taxonomy.php']]],
['get_5fthread',['get_thread',['../classConversation.html#a4cff75d8c46b517e7133e4d0da6fc1c8',1,'Conversation']]],
['get_5fwidgets',['get_widgets',['../classApp.html#a871898becd0697d778f36d9336253ae8',1,'App']]],
['get_5fxconfig',['get_xconfig',['../include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e',1,'config.php']]],
['getchild',['getChild',['../classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569',1,'RedDirectory']]],
['getchildren',['getChildren',['../classRedDirectory.html#aa42d3065f6f065b17db87146a7cb031a',1,'RedDirectory']]],
['getcontenttype',['getContentType',['../classRedFile.html#a26416827eb68554d033d1e2e5cc6dd3b',1,'RedFile']]],
+ ['getdir',['getDir',['../classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4',1,'RedDirectory']]],
['getetag',['getETag',['../classRedFile.html#ae96d5caa2db7a461c57b24380fa87e28',1,'RedFile']]],
['getext',['getExt',['../classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba',1,'photo_driver']]],
['getheight',['getHeight',['../classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468',1,'photo_driver']]],
['getimage',['getImage',['../classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5',1,'photo_driver\getImage()'],['../classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484',1,'photo_gd\getImage()'],['../classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc',1,'photo_imagick\getImage()']]],
- ['getlastmodified',['getLastModified',['../classRedInode.html#a8503d4f247186e9e55bc42b37e067fb6',1,'RedInode']]],
- ['getname',['getName',['../classRedInode.html#aec5706105400764124db39d4bc68d458',1,'RedInode']]],
+ ['getlastmodified',['getLastModified',['../classRedDirectory.html#a6c7e08199abc24e6eeb94a4037ef8bfc',1,'RedDirectory\getLastModified()'],['../classRedFile.html#a41562a28007789bbe7fe06d6a20eef47',1,'RedFile\getLastModified()']]],
+ ['getname',['getName',['../classRedDirectory.html#af6e4475dbd5abcdede00d20b8d388583',1,'RedDirectory\getName()'],['../classRedFile.html#a0c961c5f49544d2502420361fa526437',1,'RedFile\getName()']]],
+ ['getquotainfo',['getQuotaInfo',['../classRedDirectory.html#a2f7a574f2115f099d6dd103d5b252375',1,'RedDirectory']]],
['getsize',['getSize',['../classRedFile.html#acb1edbe1848fab05347746fa1ea09d8f',1,'RedFile']]],
['gettype',['getType',['../classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3',1,'photo_driver']]],
['getwidth',['getWidth',['../classphoto__driver.html#acc30486acee9e89e32701f44a1738117',1,'photo_driver']]],
@@ -106,7 +113,6 @@ var searchData=
['group_2ephp',['group.php',['../include_2group_8php.html',1,'']]],
['group_5fadd',['group_add',['../include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce',1,'group.php']]],
['group_5fadd_5fmember',['group_add_member',['../include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b',1,'group.php']]],
- ['group_5faside',['group_aside',['../mod_2group_8php.html#aeb0784dd928e53e6d8693513bec8928c',1,'group.php']]],
['group_5fbyname',['group_byname',['../include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb',1,'group.php']]],
['group_5fcontent',['group_content',['../mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83',1,'group.php']]],
['group_5fget_5fmembers',['group_get_members',['../include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09',1,'group.php']]],
@@ -115,7 +121,7 @@ var searchData=
['group_5frmv',['group_rmv',['../include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5',1,'group.php']]],
['group_5frmv_5fmember',['group_rmv_member',['../include_2group_8php.html#a540e3ef36f47d47532646be4241f6518',1,'group.php']]],
['group_5fselect',['group_select',['../acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0',1,'acl_selectors.php']]],
- ['group_5fside',['group_side',['../include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17',1,'group.php']]],
+ ['group_5fside',['group_side',['../include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9',1,'group.php']]],
['groups_5fcontaining',['groups_containing',['../include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f',1,'group.php']]],
['guess_5fimage_5ftype',['guess_image_type',['../photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa',1,'photo_driver.php']]]
];
diff --git a/doc/html/search/all_68.js b/doc/html/search/all_68.js
index 8948f18f4..a3845cfd0 100644
--- a/doc/html/search/all_68.js
+++ b/doc/html/search/all_68.js
@@ -1,20 +1,21 @@
var searchData=
[
- ['handle_5ftag',['handle_tag',['../item_8php.html#abd0e603a6696051af16476eb968d52e7',1,'item.php']]],
+ ['handle_5ftag',['handle_tag',['../item_8php.html#aa22feef4de326e1d7078dedd892e615c',1,'item.php']]],
['has_5fpermissions',['has_permissions',['../items_8php.html#a77051724d1784074ff187e73a4db93fe',1,'items.php']]],
- ['hcard_2ephp',['hcard.php',['../hcard_8php.html',1,'']]],
- ['hcard_5faside',['hcard_aside',['../hcard_8php.html#a956c7cae2009652a37900306e5b7b73d',1,'hcard.php']]],
- ['hcard_5finit',['hcard_init',['../hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d',1,'hcard.php']]],
['head_5fadd_5fcss',['head_add_css',['../plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a',1,'plugin.php']]],
['head_5fadd_5fjs',['head_add_js',['../plugin_8php.html#a516591850f4fd49fd1425cfa54089db8',1,'plugin.php']]],
['head_5fget_5fcss',['head_get_css',['../plugin_8php.html#af92789f559b89a380e49d303218aeeca',1,'plugin.php']]],
['head_5fget_5ficon',['head_get_icon',['../classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166',1,'App\head_get_icon()'],['../boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77',1,'head_get_icon():&#160;boot.php']]],
['head_5fget_5fjs',['head_get_js',['../plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1',1,'plugin.php']]],
+ ['head_5fremove_5fcss',['head_remove_css',['../plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf',1,'plugin.php']]],
+ ['head_5fremove_5fjs',['head_remove_js',['../plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4',1,'plugin.php']]],
['head_5fset_5ficon',['head_set_icon',['../classApp.html#a8863703a0305eaa45eb970dbd2046291',1,'App\head_set_icon()'],['../boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84',1,'head_set_icon():&#160;boot.php']]],
['help',['help',['../namespacefriendica-to-smarty-tpl.html#af6b2c793958aae2aadc294577431f749',1,'friendica-to-smarty-tpl.help()'],['../namespaceupdatetpl.html#ac9d11279fed403a329a719298feafc4f',1,'updatetpl.help()']]],
['help_2ephp',['help.php',['../help_8php.html',1,'']]],
['help_5fcontent',['help_content',['../help_8php.html#af055e15f600ffa6fbca9386fdf715224',1,'help.php']]],
['home_2ephp',['home.php',['../home_8php.html',1,'']]],
+ ['home_5fcontent',['home_content',['../home_8php.html#aa1cf697851a646755baf537f75334c46',1,'home.php']]],
+ ['home_5finit',['home_init',['../home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde',1,'home.php']]],
['hostxrd_2ephp',['hostxrd.php',['../hostxrd_8php.html',1,'']]],
['hostxrd_5finit',['hostxrd_init',['../hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92',1,'hostxrd.php']]],
['html2bb_5fvideo',['html2bb_video',['../text_8php.html#a138a3a611fa7f4f3630674145fc826bf',1,'text.php']]],
@@ -22,6 +23,7 @@ var searchData=
['html2bbcode_2ephp',['html2bbcode.php',['../html2bbcode_8php.html',1,'']]],
['html2plain',['html2plain',['../html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04',1,'html2plain.php']]],
['html2plain_2ephp',['html2plain.php',['../html2plain_8php.html',1,'']]],
+ ['htmlactionspanel',['htmlActionsPanel',['../classRedBrowser.html#a7f6bf0bda07833f4c647557bd172e349',1,'RedBrowser']]],
['http_5fstatus_5fexit',['http_status_exit',['../include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2',1,'network.php']]],
['hubloc_5fflags_5fdeleted',['HUBLOC_FLAGS_DELETED',['../boot_8php.html#a7c286add8961fd2d79216314cd4aadd8',1,'boot.php']]],
['hubloc_5fflags_5fprimary',['HUBLOC_FLAGS_PRIMARY',['../boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955',1,'boot.php']]],
diff --git a/doc/html/search/all_69.js b/doc/html/search/all_69.js
index 075a6789e..c00bab0c3 100644
--- a/doc/html/search/all_69.js
+++ b/doc/html/search/all_69.js
@@ -14,7 +14,7 @@ var searchData=
['import_5fdirectory_5fkeywords',['import_directory_keywords',['../zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a',1,'zot.php']]],
['import_5fdirectory_5fprofile',['import_directory_profile',['../zot_8php.html#aeec89da5b6ff090c63a79de4de884a35',1,'zot.php']]],
['import_5fpost',['import_post',['../import_8php.html#af17fef0410518f7eac205d0ea416eaa2',1,'import.php']]],
- ['import_5fprofile_5fphoto',['import_profile_photo',['../photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca',1,'photo_driver.php']]],
+ ['import_5fprofile_5fphoto',['import_profile_photo',['../photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887',1,'photo_driver.php']]],
['import_5fsite',['import_site',['../zot_8php.html#a2657e141d62d5f67ad3c87651b585299',1,'zot.php']]],
['import_5fxchan',['import_xchan',['../zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1',1,'zot.php']]],
['in_5farrayi',['in_arrayi',['../text_8php.html#a75c326298519ed14ebe762194c8a3f2a',1,'text.php']]],
@@ -22,16 +22,14 @@ var searchData=
['insert_5fhook',['insert_hook',['../plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b',1,'plugin.php']]],
['install',['install',['../classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746',1,'dba_driver']]],
['install_5fplugin',['install_plugin',['../plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5',1,'plugin.php']]],
- ['intro_2ephp',['intro.php',['../intro_8php.html',1,'']]],
- ['intro_5faside',['intro_aside',['../intro_8php.html#abc3abf25da64f98f215126eb08c7936b',1,'intro.php']]],
- ['intro_5fcontent',['intro_content',['../intro_8php.html#a3e2a523697633ddb4517b9266a515f5b',1,'intro.php']]],
- ['intro_5fpost',['intro_post',['../intro_8php.html#af3681062183ccbdf065ae2647b07d6f1',1,'intro.php']]],
['invite_2ephp',['invite.php',['../invite_8php.html',1,'']]],
['invite_5fcontent',['invite_content',['../invite_8php.html#a244385b28cfd021d308715f01158bfd9',1,'invite.php']]],
['invite_5fpost',['invite_post',['../invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5',1,'invite.php']]],
['is_5fa_5fdate_5farg',['is_a_date_arg',['../text_8php.html#a1557112a774ec00fa06ed6b6f6495506',1,'text.php']]],
['is_5fajax',['is_ajax',['../boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c',1,'boot.php']]],
['is_5fcommentable',['is_commentable',['../classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3',1,'Conversation\is_commentable()'],['../classItem.html#ac04525a8be24c12b0a2ae4ca1ba4b967',1,'Item\is_commentable()']]],
+ ['is_5fforeigner',['is_foreigner',['../identity_8php.html#ae2b140df652a55ca11bb6a99005fce35',1,'identity.php']]],
+ ['is_5fmember',['is_member',['../identity_8php.html#a9637c557e13d9671f3eeb124ab98212a',1,'identity.php']]],
['is_5fpreview',['is_preview',['../classConversation.html#adf25ce023b69a166c63c6e84e02c136a',1,'Conversation']]],
['is_5fsite_5fadmin',['is_site_admin',['../boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e',1,'boot.php']]],
['is_5fthreaded',['is_threaded',['../classItem.html#a5b2fafdca55aefeaa08993a5a60529f0',1,'Item']]],
@@ -43,6 +41,7 @@ var searchData=
['item',['Item',['../classItem.html',1,'']]],
['item_2ephp',['item.php',['../item_8php.html',1,'']]],
['item_5fblocked',['ITEM_BLOCKED',['../boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f',1,'boot.php']]],
+ ['item_5fbug',['ITEM_BUG',['../boot_8php.html#a87b0f279f8413c7e4d805c5d85f20d34',1,'boot.php']]],
['item_5fbuildblock',['ITEM_BUILDBLOCK',['../boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf',1,'boot.php']]],
['item_5fcheck_5fservice_5fclass',['item_check_service_class',['../item_8php.html#a5b1b36cb301a94b38150074f0d424e74',1,'item.php']]],
['item_5fcontent',['item_content',['../item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221',1,'item.php']]],
diff --git a/doc/html/search/all_6c.js b/doc/html/search/all_6c.js
index d286ba28a..1760a1eca 100644
--- a/doc/html/search/all_6c.js
+++ b/doc/html/search/all_6c.js
@@ -4,10 +4,6 @@ var searchData=
['language_2ephp',['language.php',['../language_8php.html',1,'']]],
['language_5fdetect_5fmin_5fconfidence',['LANGUAGE_DETECT_MIN_CONFIDENCE',['../boot_8php.html#a68d1d5bc9c7ccb663dc671b48c66df11',1,'boot.php']]],
['language_5fdetect_5fmin_5flength',['LANGUAGE_DETECT_MIN_LENGTH',['../boot_8php.html#a17cf72338b040891781a4bcbdd9a8595',1,'boot.php']]],
- ['lastpost_2ephp',['lastpost.php',['../lastpost_8php.html',1,'']]],
- ['lastpost_5faside',['lastpost_aside',['../lastpost_8php.html#a6108289ef2a767495c7c85a24f364983',1,'lastpost.php']]],
- ['lastpost_5fcontent',['lastpost_content',['../lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493',1,'lastpost.php']]],
- ['lastpost_5finit',['lastpost_init',['../lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c',1,'lastpost.php']]],
['layout_5fselect',['layout_select',['../text_8php.html#a3999a0b3e22e440f280ee791ce34d384',1,'text.php']]],
['layouts_2ephp',['layouts.php',['../layouts_8php.html',1,'']]],
['layouts_5fcontent',['layouts_content',['../layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50',1,'layouts.php']]],
diff --git a/doc/html/search/all_6d.js b/doc/html/search/all_6d.js
index 44c214360..25710fc72 100644
--- a/doc/html/search/all_6d.js
+++ b/doc/html/search/all_6d.js
@@ -4,9 +4,12 @@ var searchData=
['magic_5finit',['magic_init',['../magic_8php.html#acea2cc792849ca2d71d4b689f66518bf',1,'magic.php']]],
['magic_5flink',['magic_link',['../text_8php.html#a1e510c53624933ce9b7d6715784894db',1,'text.php']]],
['magiclink_5furl',['magiclink_url',['../text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6',1,'text.php']]],
+ ['mail_2ephp',['mail.php',['../mail_8php.html',1,'']]],
+ ['mail_5fcontent',['mail_content',['../mail_8php.html#a3c7c485fc69f92371e8b20936040eca1',1,'mail.php']]],
['mail_5fdeleted',['MAIL_DELETED',['../boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8',1,'boot.php']]],
['mail_5fisreply',['MAIL_ISREPLY',['../boot_8php.html#aa544a6c078130d0967a1f4ed8ce0a2d2',1,'boot.php']]],
['mail_5fobscured',['MAIL_OBSCURED',['../boot_8php.html#a44ae1542a805ffd7f826fb511db07374',1,'boot.php']]],
+ ['mail_5fpost',['mail_post',['../mail_8php.html#acfc2cc0bf4e0b178207758384977f25a',1,'mail.php']]],
['mail_5frecalled',['MAIL_RECALLED',['../boot_8php.html#ae4861de36017fe399c1839f778bad9f5',1,'boot.php']]],
['mail_5freplied',['MAIL_REPLIED',['../boot_8php.html#aa3679df31c8dad1b71816b0322d5baff',1,'boot.php']]],
['mail_5fseen',['MAIL_SEEN',['../boot_8php.html#a1fbb93cf030f07391f22cc2948744869',1,'boot.php']]],
@@ -24,6 +27,7 @@ var searchData=
['menu_2ephp',['menu.php',['../mod_2menu_8php.html',1,'']]],
['menu_2ephp',['menu.php',['../include_2menu_8php.html',1,'']]],
['menu_5fadd_5fitem',['menu_add_item',['../include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8',1,'menu.php']]],
+ ['menu_5fbookmark',['MENU_BOOKMARK',['../boot_8php.html#a458e19af801bc4b0d1f1ce1a6d9e857e',1,'boot.php']]],
['menu_5fcontent',['menu_content',['../mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf',1,'menu.php']]],
['menu_5fcreate',['menu_create',['../include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98',1,'menu.php']]],
['menu_5fdel_5fitem',['menu_del_item',['../include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a',1,'menu.php']]],
@@ -38,11 +42,10 @@ var searchData=
['menu_5flist',['menu_list',['../include_2menu_8php.html#acef15a498d52666b1c7e5c12765c689b',1,'menu.php']]],
['menu_5fpost',['menu_post',['../mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393',1,'menu.php']]],
['menu_5frender',['menu_render',['../include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e',1,'menu.php']]],
- ['message_2ephp',['message.php',['../mod_2message_8php.html',1,'']]],
+ ['menu_5fsystem',['MENU_SYSTEM',['../boot_8php.html#a718a801b0be6cbaef5e519516da12721',1,'boot.php']]],
['message_2ephp',['message.php',['../include_2message_8php.html',1,'']]],
- ['message_5faside',['message_aside',['../mod_2message_8php.html#af4ba72486117cc24335fd8e92a2112a7',1,'message.php']]],
- ['message_5fcontent',['message_content',['../mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79',1,'message.php']]],
- ['message_5fpost',['message_post',['../mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718',1,'message.php']]],
+ ['message_2ephp',['message.php',['../mod_2message_8php.html',1,'']]],
+ ['message_5fcontent',['message_content',['../mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f',1,'message.php']]],
['micropro',['micropro',['../text_8php.html#a2a902f5fdba8646333e997898ac45ea3',1,'text.php']]],
['mimetype_5fselect',['mimetype_select',['../text_8php.html#a1633412120f52bdce5f43e0a127d9293',1,'text.php']]],
['mini_5fgroup_5fselect',['mini_group_select',['../include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32',1,'group.php']]],
@@ -53,8 +56,6 @@ var searchData=
['mitem_5finit',['mitem_init',['../mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518',1,'mitem.php']]],
['mitem_5fpost',['mitem_post',['../mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1',1,'mitem.php']]],
['mod_5fimport_2ephp',['mod_import.php',['../mod__import_8php.html',1,'']]],
- ['mod_5fnew_5fchannel_2ephp',['mod_new_channel.php',['../mod__new__channel_8php.html',1,'']]],
- ['mod_5fregister_2ephp',['mod_register.php',['../mod__register_8php.html',1,'']]],
['mood_2ephp',['mood.php',['../mood_8php.html',1,'']]],
['mood_5fcontent',['mood_content',['../mood_8php.html#a721b9b6703b3234a005641c92d409b8f',1,'mood.php']]],
['mood_5finit',['mood_init',['../mood_8php.html#a7ae136dd7476865b4828136175db5022',1,'mood.php']]],
diff --git a/doc/html/search/all_6e.js b/doc/html/search/all_6e.js
index 9c8d326de..6dfd8d4fc 100644
--- a/doc/html/search/all_6e.js
+++ b/doc/html/search/all_6e.js
@@ -57,6 +57,8 @@ var searchData=
['normalise_5flink',['normalise_link',['../text_8php.html#a4bbb7d00c05cd20b4e043424f322388f',1,'text.php']]],
['normalise_5fopenid',['normalise_openid',['../text_8php.html#adba17ec946f4285285dc100f7860bf51',1,'text.php']]],
['notags',['notags',['../text_8php.html#a1af49756c8c71902a66c7e329c462beb',1,'text.php']]],
+ ['notes_2ephp',['notes.php',['../notes_8php.html',1,'']]],
+ ['notes_5finit',['notes_init',['../notes_8php.html#a4dbd7b1f906440746af48b484d66535a',1,'notes.php']]],
['notice',['notice',['../boot_8php.html#a9255af5ae9c887520091ea04763c1a88',1,'boot.php']]],
['notification',['notification',['../enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc',1,'enotify.php']]],
['notifications_2ephp',['notifications.php',['../notifications_8php.html',1,'']]],
@@ -64,8 +66,8 @@ var searchData=
['notifications_5fpost',['notifications_post',['../notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33',1,'notifications.php']]],
['notifier_2ephp',['notifier.php',['../notifier_8php.html',1,'']]],
['notifier_5frun',['notifier_run',['../notifier_8php.html#a568c502f626cff95e344c0748938b85d',1,'notifier.php']]],
- ['notify_2ephp',['notify.php',['../mod_2notify_8php.html',1,'']]],
['notify_2ephp',['notify.php',['../include_2notify_8php.html',1,'']]],
+ ['notify_2ephp',['notify.php',['../mod_2notify_8php.html',1,'']]],
['notify_5fcomment',['NOTIFY_COMMENT',['../boot_8php.html#a20f0eed431d25870b624b8937a07a59f',1,'boot.php']]],
['notify_5fconfirm',['NOTIFY_CONFIRM',['../boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d',1,'boot.php']]],
['notify_5fcontent',['notify_content',['../mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3',1,'notify.php']]],
diff --git a/doc/html/search/all_6f.js b/doc/html/search/all_6f.js
index 8c0214b94..a87eb552b 100644
--- a/doc/html/search/all_6f.js
+++ b/doc/html/search/all_6f.js
@@ -2,7 +2,7 @@ var searchData=
[
['oauth_2ephp',['oauth.php',['../oauth_8php.html',1,'']]],
['oauth_5fget_5fclient',['oauth_get_client',['../mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117',1,'api.php']]],
- ['obj_5fverb_5fselector',['obj_verb_selector',['../taxonomy_8php.html#ac12a651a42ed77f8dc7072c6168811a2',1,'taxonomy.php']]],
+ ['obj_5fverb_5fselector',['obj_verb_selector',['../taxonomy_8php.html#af387463d42ffdf7d2ab3d5b22e40a0c7',1,'taxonomy.php']]],
['obj_5fverbs',['obj_verbs',['../taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce',1,'taxonomy.php']]],
['oe_5fbuild_5fxpath',['oe_build_xpath',['../include_2oembed_8php.html#ab953a6e7c11bc6498ce01ed73e2ba319',1,'oembed.php']]],
['oe_5fget_5finner_5fhtml',['oe_get_inner_html',['../include_2oembed_8php.html#a03fa3b7832c98a3d0b4630afeb73d487',1,'oembed.php']]],
diff --git a/doc/html/search/all_70.js b/doc/html/search/all_70.js
index db470676e..bc60353db 100644
--- a/doc/html/search/all_70.js
+++ b/doc/html/search/all_70.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['page',['page',['../mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'page():&#160;mod_import.php'],['../mod__new__channel_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'page():&#160;mod_new_channel.php'],['../mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'page():&#160;mod_register.php']]],
+ ['page',['page',['../mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'mod_import.php']]],
['page_2ephp',['page.php',['../page_8php.html',1,'']]],
['page_5fadult',['PAGE_ADULT',['../boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32',1,'boot.php']]],
['page_5fapplication',['PAGE_APPLICATION',['../boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed',1,'boot.php']]],
@@ -12,6 +12,7 @@ var searchData=
['page_5fnormal',['PAGE_NORMAL',['../boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3',1,'boot.php']]],
['page_5fpremium',['PAGE_PREMIUM',['../boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8',1,'boot.php']]],
['page_5fremoved',['PAGE_REMOVED',['../boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6',1,'boot.php']]],
+ ['page_5fsystem',['PAGE_SYSTEM',['../boot_8php.html#a6ee7a72d558d1851bbb9e3cdde377932',1,'boot.php']]],
['page_5fwidgets_2ephp',['page_widgets.php',['../page__widgets_8php.html',1,'']]],
['pagelist_5fwidget',['pagelist_widget',['../page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0',1,'page_widgets.php']]],
['paginate',['paginate',['../text_8php.html#afe9f178d264d44a94dc1292aaf0fd585',1,'text.php']]],
@@ -84,6 +85,7 @@ var searchData=
['pine_2ephp',['pine.php',['../pine_8php.html',1,'']]],
['ping_2ephp',['ping.php',['../ping_8php.html',1,'']]],
['ping_5finit',['ping_init',['../ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1',1,'ping.php']]],
+ ['pipe_5fstreams',['pipe_streams',['../include_2attach_8php.html#a5d484de2d19a93071571d6499a50ae34',1,'attach.php']]],
['pkcs5_5fpad',['pkcs5_pad',['../crypto_8php.html#ad5e51fd44cff93cfaa07a37e24a5edec',1,'crypto.php']]],
['pkcs5_5funpad',['pkcs5_unpad',['../crypto_8php.html#ac95ac3b1b23b65b04a86613d4206ae85',1,'crypto.php']]],
['plugin_2ephp',['plugin.php',['../plugin_8php.html',1,'']]],
@@ -152,13 +154,11 @@ var searchData=
['process_5fprofile_5fdelivery',['process_profile_delivery',['../zot_8php.html#a9a57b40669351c9791126b925cb7ef3b',1,'zot.php']]],
['profile_2ephp',['profile.php',['../profile_8php.html',1,'']]],
['profile_5factivity',['profile_activity',['../activities_8php.html#a80134e807719b3c54aba971958d2e132',1,'activities.php']]],
- ['profile_5faside',['profile_aside',['../profile_8php.html#a1a2482b775476f2f64ea5e8f4fc3fd1e',1,'profile.php']]],
['profile_5fcontent',['profile_content',['../profile_8php.html#a3775cf6eef6587e5143133356a7b76c0',1,'profile.php']]],
['profile_5fcreate_5fsidebar',['profile_create_sidebar',['../identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620',1,'identity.php']]],
['profile_5finit',['profile_init',['../profile_8php.html#ab5d0246be0552e2182a585c1206d22a5',1,'profile.php']]],
['profile_5fload',['profile_load',['../identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68',1,'identity.php']]],
['profile_5fphoto_2ephp',['profile_photo.php',['../profile__photo_8php.html',1,'']]],
- ['profile_5fphoto_5faside',['profile_photo_aside',['../profile__photo_8php.html#ac9cd968a767e2ae1b88383b6cdd6dbe3',1,'profile_photo.php']]],
['profile_5fphoto_5finit',['profile_photo_init',['../profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02',1,'profile_photo.php']]],
['profile_5fphoto_5fpost',['profile_photo_post',['../profile__photo_8php.html#a4b80234074bd603221aa5364f330e479',1,'profile_photo.php']]],
['profile_5fselectors_2ephp',['profile_selectors.php',['../profile__selectors_8php.html',1,'']]],
@@ -166,12 +166,10 @@ var searchData=
['profile_5ftabs',['profile_tabs',['../conversation_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273',1,'conversation.php']]],
['profiler',['profiler',['../text_8php.html#a8b0a799341b1fc4cba2c3ede3e3fc9b6',1,'text.php']]],
['profiles_2ephp',['profiles.php',['../profiles_8php.html',1,'']]],
- ['profiles_5faside',['profiles_aside',['../profiles_8php.html#a2a3ac90f51941ff78b85e9389304969c',1,'profiles.php']]],
['profiles_5fcontent',['profiles_content',['../profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00',1,'profiles.php']]],
['profiles_5finit',['profiles_init',['../profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e',1,'profiles.php']]],
['profiles_5fpost',['profiles_post',['../profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04',1,'profiles.php']]],
['profperm_2ephp',['profperm.php',['../profperm_8php.html',1,'']]],
- ['profperm_5faside',['profperm_aside',['../profperm_8php.html#a77fd398ae7c25142e1d9ad724ec347cc',1,'profperm.php']]],
['profperm_5fcontent',['profperm_content',['../profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023',1,'profperm.php']]],
['profperm_5finit',['profperm_init',['../profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6',1,'profperm.php']]],
['protect_5fsprintf',['protect_sprintf',['../text_8php.html#a4e7698aca48982512594b274543c3b9b',1,'text.php']]],
diff --git a/doc/html/search/all_71.js b/doc/html/search/all_71.js
index 9a1ee9bc1..c1c1f6ba7 100644
--- a/doc/html/search/all_71.js
+++ b/doc/html/search/all_71.js
@@ -2,8 +2,6 @@ var searchData=
[
['q',['q',['../classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555',1,'dba_driver\q()'],['../classdba__mysql.html#ac3fd60c278f400907322dac578754a99',1,'dba_mysql\q()'],['../classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec',1,'dba_mysqli\q()'],['../dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f',1,'q():&#160;dba_driver.php']]],
['qp',['qp',['../text_8php.html#afc998d2796a6b2a08e96f7cc061e7221',1,'text.php']]],
- ['qsearch_2ephp',['qsearch.php',['../qsearch_8php.html',1,'']]],
- ['qsearch_5finit',['qsearch_init',['../qsearch_8php.html#a0501887b95bd8fa21018b2936a668894',1,'qsearch.php']]],
['queue_2ephp',['queue.php',['../queue_8php.html',1,'']]],
['queue_5ffn_2ephp',['queue_fn.php',['../queue__fn_8php.html',1,'']]],
['queue_5frun',['queue_run',['../queue_8php.html#af8c93de86d866c3200174c8450a0f341',1,'queue.php']]],
diff --git a/doc/html/search/all_72.js b/doc/html/search/all_72.js
index 356f98561..781e0fc82 100644
--- a/doc/html/search/all_72.js
+++ b/doc/html/search/all_72.js
@@ -20,12 +20,13 @@ var searchData=
['redbasic_5fform',['redbasic_form',['../view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793',1,'config.php']]],
['redbasic_5finit',['redbasic_init',['../redbasic_2php_2theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b',1,'theme.php']]],
['redbasicauth',['RedBasicAuth',['../classRedBasicAuth.html',1,'']]],
+ ['redbrowser',['RedBrowser',['../classRedBrowser.html',1,'']]],
+ ['redchannellist',['RedChannelList',['../reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66',1,'reddav.php']]],
+ ['redcollectiondata',['RedCollectionData',['../reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266',1,'reddav.php']]],
['reddav_2ephp',['reddav.php',['../reddav_8php.html',1,'']]],
['reddirectory',['RedDirectory',['../classRedDirectory.html',1,'']]],
['redfile',['RedFile',['../classRedFile.html',1,'']]],
- ['redinode',['RedInode',['../classRedInode.html',1,'']]],
- ['redir_2ephp',['redir.php',['../redir_8php.html',1,'']]],
- ['redir_5finit',['redir_init',['../redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5',1,'redir.php']]],
+ ['redfiledata',['RedFileData',['../reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088',1,'reddav.php']]],
['reduce',['reduce',['../docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f',1,'docblox_errorchecker.php']]],
['ref_5fsession_5fclose',['ref_session_close',['../session_8php.html#a5e1c616e02b863d5450317d101366bb7',1,'session.php']]],
['ref_5fsession_5fdestroy',['ref_session_destroy',['../session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052',1,'session.php']]],
diff --git a/doc/html/search/all_73.js b/doc/html/search/all_73.js
index d9a496489..7a16cc846 100644
--- a/doc/html/search/all_73.js
+++ b/doc/html/search/all_73.js
@@ -2,20 +2,19 @@ var searchData=
[
['sanitise_5facl',['sanitise_acl',['../text_8php.html#a9fbeae13c9abd6e27cb4d8d1817f969c',1,'text.php']]],
['save',['save',['../classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac',1,'photo_driver']]],
- ['saved_5fsearches',['saved_searches',['../mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad',1,'network.php']]],
['saveimage',['saveImage',['../classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3',1,'photo_driver']]],
['scale_5fexternal_5fimages',['scale_external_images',['../include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f',1,'network.php']]],
['scaleimage',['scaleImage',['../classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0',1,'photo_driver']]],
['scaleimagesquare',['scaleImageSquare',['../classphoto__driver.html#a56634842b071b96502716e9843ea5361',1,'photo_driver']]],
['scaleimageup',['scaleImageUp',['../classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce',1,'photo_driver']]],
+ ['script_5fpath',['script_path',['../plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3',1,'plugin.php']]],
['search',['search',['../text_8php.html#a876e94892867019935b348b573299352',1,'text.php']]],
['search_2ephp',['search.php',['../search_8php.html',1,'']]],
['search_5fac_2ephp',['search_ac.php',['../search__ac_8php.html',1,'']]],
['search_5fac_5finit',['search_ac_init',['../search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138',1,'search_ac.php']]],
['search_5fcontent',['search_content',['../search_8php.html#ab2568591359edde5b483a6cd9a24b2cc',1,'search.php']]],
['search_5finit',['search_init',['../search_8php.html#acf19fd30f07f495781ca0d7a0a08b435',1,'search.php']]],
- ['search_5fpost',['search_post',['../search_8php.html#a230ec9681ddee3b5b8b40c8d550f32f7',1,'search.php']]],
- ['search_5fsaved_5fsearches',['search_saved_searches',['../search_8php.html#aa911f7c7f0cdb0284e35d0ed610f19c6',1,'search.php']]],
+ ['searchbox',['searchbox',['../text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447',1,'text.php']]],
['security_2ephp',['security.php',['../security_8php.html',1,'']]],
['select_5ftimezone',['select_timezone',['../datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f',1,'datetime.php']]],
['send',['send',['../classenotify.html#afbc088860f534c6c05788b48cfc262c6',1,'enotify']]],
@@ -47,13 +46,16 @@ var searchData=
['set_5fpconfig',['set_pconfig',['../include_2config_8php.html#a61591371cb18764138655d67dc817ab2',1,'config.php']]],
['set_5fperms',['set_perms',['../classApp.html#a557d7b779d8259027f4724ebf7b248dc',1,'App']]],
['set_5fprofile_5fowner',['set_profile_owner',['../classConversation.html#a8898bddc1e8990e81dab9a13a532cc93',1,'Conversation']]],
+ ['set_5ftemplate',['set_template',['../classItem.html#af1b73df9b7c4b927e26b7e243b491f42',1,'Item']]],
['set_5ftemplate_5fengine',['set_template_engine',['../classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7',1,'App']]],
['set_5fwidget',['set_widget',['../classApp.html#a123b903dfe5d3488cc68db3471d36fd2',1,'App']]],
+ ['set_5fwriteable',['set_writeable',['../classRedBrowser.html#a40fdbb9d9fe6c1243bbf135dd5b0a06f',1,'RedBrowser']]],
['set_5fxconfig',['set_xconfig',['../include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e',1,'config.php']]],
+ ['setbrowserplugin',['setBrowserPlugin',['../classRedBasicAuth.html#a358ddad4abb5aa8c1382cf49a907adbc',1,'RedBasicAuth']]],
+ ['setcurrentuser',['setCurrentUser',['../classRedBasicAuth.html#a072e8244a9a7f191b32d3db5ac94f857',1,'RedBasicAuth']]],
['setdimensions',['setDimensions',['../classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143',1,'photo_driver\setDimensions()'],['../classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e',1,'photo_gd\setDimensions()'],['../classphoto__imagick.html#af92901d252c1e6ab5b54eebedbed23bb',1,'photo_imagick\setDimensions()']]],
- ['setname',['setName',['../classRedInode.html#a3d76322f25d847b123b3df37a26dd04e',1,'RedInode']]],
+ ['setname',['setName',['../classRedFile.html#a38a82bfc1b30028ea6ac75923e90fa25',1,'RedFile']]],
['settings_2ephp',['settings.php',['../settings_8php.html',1,'']]],
- ['settings_5faside',['settings_aside',['../settings_8php.html#ae5aebccb006bee1300078576baaf5582',1,'settings.php']]],
['settings_5finit',['settings_init',['../settings_8php.html#a3a4cde287482fced008583f54ba2a722',1,'settings.php']]],
['settings_5fpost',['settings_post',['../settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586',1,'settings.php']]],
['setup_2ephp',['setup.php',['../setup_8php.html',1,'']]],
@@ -87,6 +89,9 @@ var searchData=
['ssl_5fpolicy_5ffull',['SSL_POLICY_FULL',['../boot_8php.html#a02566ac9d891369a1d3ebb81a15722fc',1,'boot.php']]],
['ssl_5fpolicy_5fnone',['SSL_POLICY_NONE',['../boot_8php.html#af86c651547aa8f9e549ee40a09455549',1,'boot.php']]],
['ssl_5fpolicy_5fselfsign',['SSL_POLICY_SELFSIGN',['../boot_8php.html#adca48aee78465ae3064ca4432c0d87b5',1,'boot.php']]],
+ ['sslify',['sslify',['../text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9',1,'text.php']]],
+ ['sslify_2ephp',['sslify.php',['../sslify_8php.html',1,'']]],
+ ['sslify_5finit',['sslify_init',['../sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316',1,'sslify.php']]],
['starred_2ephp',['starred.php',['../starred_8php.html',1,'']]],
['starred_5finit',['starred_init',['../starred_8php.html#a63024fb418c678e49fd535e3752d349a',1,'starred.php']]],
['startup',['startup',['../boot_8php.html#aca47505b8732177f52bb2d647eb2741c',1,'boot.php']]],
@@ -99,12 +104,11 @@ var searchData=
['string_5fplural_5fselect_5fdefault',['string_plural_select_default',['../language_8php.html#a151e5b4689aef86a12642cbb7a00bfe0',1,'language.php']]],
['stringify_5farray_5felms',['stringify_array_elms',['../text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13',1,'text.php']]],
['stripdcode_5fbr_5fcb',['stripdcode_br_cb',['../bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93',1,'bb2diaspora.php']]],
- ['style_2ephp',['style.php',['../redbasic_2php_2style_8php.html',1,'']]],
['style_2ephp',['style.php',['../apw_2php_2style_8php.html',1,'']]],
+ ['style_2ephp',['style.php',['../redbasic_2php_2style_8php.html',1,'']]],
['subthread_2ephp',['subthread.php',['../subthread_8php.html',1,'']]],
['subthread_5fcontent',['subthread_content',['../subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3',1,'subthread.php']]],
['suggest_2ephp',['suggest.php',['../suggest_8php.html',1,'']]],
- ['suggest_5faside',['suggest_aside',['../suggest_8php.html#a4df91c84594d51ba56b5918de414230d',1,'suggest.php']]],
['suggest_5fcontent',['suggest_content',['../suggest_8php.html#a58748a8235d4523f8333847f3e42dd91',1,'suggest.php']]],
['suggest_5finit',['suggest_init',['../suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c',1,'suggest.php']]],
['suggestion_5fquery',['suggestion_query',['../socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329',1,'socgraph.php']]],
diff --git a/doc/html/search/all_74.js b/doc/html/search/all_74.js
index a93bf7ab4..2d4d9c169 100644
--- a/doc/html/search/all_74.js
+++ b/doc/html/search/all_74.js
@@ -63,6 +63,8 @@ var searchData=
['tpldebug_2ephp',['tpldebug.php',['../tpldebug_8php.html',1,'']]],
['tplpaths',['tplpaths',['../namespaceupdatetpl.html#a52a85ffa6b6d63d840b185a133478c12',1,'updatetpl']]],
['tryoembed',['tryoembed',['../bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7',1,'bbcode.php']]],
+ ['tryzrlaudio',['tryzrlaudio',['../bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322',1,'bbcode.php']]],
+ ['tryzrlvideo',['tryzrlvideo',['../bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8',1,'bbcode.php']]],
['tt',['tt',['../language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d',1,'language.php']]],
['typo_2ephp',['typo.php',['../typo_8php.html',1,'']]],
['typohelper_2ephp',['typohelper.php',['../typohelper_8php.html',1,'']]]
diff --git a/doc/html/search/all_75.js b/doc/html/search/all_75.js
index aa361492f..25d8a1213 100644
--- a/doc/html/search/all_75.js
+++ b/doc/html/search/all_75.js
@@ -25,6 +25,7 @@ var searchData=
['update_5fnetwork_2ephp',['update_network.php',['../update__network_8php.html',1,'']]],
['update_5fnetwork_5fcontent',['update_network_content',['../update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41',1,'update_network.php']]],
['update_5fqueue_5ftime',['update_queue_time',['../queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1',1,'queue_fn.php']]],
+ ['update_5fremote_5fid',['update_remote_id',['../items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6',1,'items.php']]],
['update_5fsearch_2ephp',['update_search.php',['../update__search_8php.html',1,'']]],
['update_5fsearch_5fcontent',['update_search_content',['../update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52',1,'update_search.php']]],
['update_5fsuccess',['UPDATE_SUCCESS',['../boot_8php.html#ac86615ddc0763a00f5311c90e991730c',1,'boot.php']]],
diff --git a/doc/html/search/all_76.js b/doc/html/search/all_76.js
index 84866ad49..13376a70b 100644
--- a/doc/html/search/all_76.js
+++ b/doc/html/search/all_76.js
@@ -10,7 +10,6 @@ var searchData=
['view_2ephp',['view.php',['../view_8php.html',1,'']]],
['view_5finit',['view_init',['../view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e',1,'view.php']]],
['viewconnections_2ephp',['viewconnections.php',['../viewconnections_8php.html',1,'']]],
- ['viewconnections_5faside',['viewconnections_aside',['../viewconnections_8php.html#ae330cea4cddd091559659f8b469617b6',1,'viewconnections.php']]],
['viewconnections_5fcontent',['viewconnections_content',['../viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776',1,'viewconnections.php']]],
['viewconnections_5finit',['viewconnections_init',['../viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330',1,'viewconnections.php']]],
['viewsrc_2ephp',['viewsrc.php',['../viewsrc_8php.html',1,'']]],
diff --git a/doc/html/search/all_77.js b/doc/html/search/all_77.js
index 3223b0d56..9301e9453 100644
--- a/doc/html/search/all_77.js
+++ b/doc/html/search/all_77.js
@@ -15,8 +15,29 @@ var searchData=
['what_5fnext',['what_next',['../setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58',1,'setup.php']]],
['while',['while',['../docblox__errorchecker_8php.html#af4ca738a05beffe9c8c23e1f7aea3c2d',1,'docblox_errorchecker.php']]],
['widedarkness_2ephp',['widedarkness.php',['../widedarkness_8php.html',1,'']]],
+ ['widget_5faffinity',['widget_affinity',['../widgets_8php.html#add9b24d3304e529a7975e96122315554',1,'widgets.php']]],
+ ['widget_5farchive',['widget_archive',['../widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65',1,'widgets.php']]],
+ ['widget_5fcategories',['widget_categories',['../widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b',1,'widgets.php']]],
+ ['widget_5fcollections',['widget_collections',['../widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f',1,'widgets.php']]],
+ ['widget_5fdesign_5ftools',['widget_design_tools',['../widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b',1,'widgets.php']]],
+ ['widget_5fdirsafemode',['widget_dirsafemode',['../widgets_8php.html#a268b01ce1ab8fe2cb346cb769b9d1091',1,'widgets.php']]],
+ ['widget_5fdirsort',['widget_dirsort',['../widgets_8php.html#a95c06bc9be133e89768746302d2ac395',1,'widgets.php']]],
+ ['widget_5fdirtags',['widget_dirtags',['../widgets_8php.html#a08035db02ff6a23260146b4c64153422',1,'widgets.php']]],
+ ['widget_5ffiler',['widget_filer',['../widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0',1,'widgets.php']]],
+ ['widget_5ffindpeople',['widget_findpeople',['../widgets_8php.html#ade630b19fb4c622b7b2f6f8ef89eefa2',1,'widgets.php']]],
+ ['widget_5ffollow',['widget_follow',['../widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd',1,'widgets.php']]],
+ ['widget_5ffullprofile',['widget_fullprofile',['../widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165',1,'widgets.php']]],
+ ['widget_5fmailmenu',['widget_mailmenu',['../widgets_8php.html#afa2e55a78f95667a6da082efac7fec74',1,'widgets.php']]],
+ ['widget_5fmenu_5fpreview',['widget_menu_preview',['../widgets_8php.html#a3bdfb81bf9a8ddf219924fa7eaf22013',1,'widgets.php']]],
+ ['widget_5fnotes',['widget_notes',['../widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256',1,'widgets.php']]],
+ ['widget_5fphoto_5falbums',['widget_photo_albums',['../widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e',1,'widgets.php']]],
['widget_5fprofile',['widget_profile',['../widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923',1,'widgets.php']]],
+ ['widget_5fsavedsearch',['widget_savedsearch',['../widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8',1,'widgets.php']]],
+ ['widget_5fsettings_5fmenu',['widget_settings_menu',['../widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01',1,'widgets.php']]],
+ ['widget_5fsuggestions',['widget_suggestions',['../widgets_8php.html#a0d404276fedc59f5038cf5c085028326',1,'widgets.php']]],
['widget_5ftagcloud',['widget_tagcloud',['../widgets_8php.html#a6dbc227aac750774284ee39c45f0a200',1,'widgets.php']]],
+ ['widget_5ftagcloud_5fwall',['widget_tagcloud_wall',['../widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653',1,'widgets.php']]],
+ ['widget_5fvcard',['widget_vcard',['../widgets_8php.html#abe03366fd22fd27d683518fa0765da50',1,'widgets.php']]],
['widgets_2ephp',['widgets.php',['../widgets_8php.html',1,'']]],
['writepages_5fwidget',['writepages_widget',['../page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f',1,'page_widgets.php']]]
];
diff --git a/doc/html/search/all_78.js b/doc/html/search/all_78.js
index b001e9752..c3fc54170 100644
--- a/doc/html/search/all_78.js
+++ b/doc/html/search/all_78.js
@@ -6,8 +6,10 @@ var searchData=
['xchan_5fflags_5fcensored',['XCHAN_FLAGS_CENSORED',['../boot_8php.html#accd6f36cc9f40225cbd720e4d12a7c6e',1,'boot.php']]],
['xchan_5fflags_5fdeleted',['XCHAN_FLAGS_DELETED',['../boot_8php.html#a9ea1290e00c6d40684892047f2c778a9',1,'boot.php']]],
['xchan_5fflags_5fhidden',['XCHAN_FLAGS_HIDDEN',['../boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2',1,'boot.php']]],
+ ['xchan_5fflags_5fnormal',['XCHAN_FLAGS_NORMAL',['../boot_8php.html#a8fdcc4ffb365a3267bd02ce8a8d466d6',1,'boot.php']]],
['xchan_5fflags_5forphan',['XCHAN_FLAGS_ORPHAN',['../boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f',1,'boot.php']]],
['xchan_5fflags_5fselfcensored',['XCHAN_FLAGS_SELFCENSORED',['../boot_8php.html#a5a681a672e007cdc22b43345d71f07c6',1,'boot.php']]],
+ ['xchan_5fflags_5fsystem',['XCHAN_FLAGS_SYSTEM',['../boot_8php.html#afef254290febac854c85fc698d9483a6',1,'boot.php']]],
['xchan_5fmail_5fquery',['xchan_mail_query',['../text_8php.html#a543447c5ed766535221e2d9636b379ee',1,'text.php']]],
['xchan_5fquery',['xchan_query',['../text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f',1,'text.php']]],
['xml2array',['xml2array',['../include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff',1,'network.php']]],
@@ -15,5 +17,7 @@ var searchData=
['xmlify',['xmlify',['../text_8php.html#aaed4413ed8918838b517e3b2fafaea0d',1,'text.php']]],
['xpost_5fto_5fhtml2bbcode',['xpost_to_html2bbcode',['../post__to__red_8php.html#af2713018a2dc97e88f121fc6215beb66',1,'post_to_red.php']]],
['xrd_2ephp',['xrd.php',['../xrd_8php.html',1,'']]],
- ['xrd_5finit',['xrd_init',['../xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270',1,'xrd.php']]]
+ ['xrd_5finit',['xrd_init',['../xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270',1,'xrd.php']]],
+ ['xref_2ephp',['xref.php',['../xref_8php.html',1,'']]],
+ ['xref_5finit',['xref_init',['../xref_8php.html#a9bee399213b8de8226b0d60834307473',1,'xref.php']]]
];
diff --git a/doc/html/search/classes_72.js b/doc/html/search/classes_72.js
index 2e6d22e86..7196e9f30 100644
--- a/doc/html/search/classes_72.js
+++ b/doc/html/search/classes_72.js
@@ -1,7 +1,7 @@
var searchData=
[
['redbasicauth',['RedBasicAuth',['../classRedBasicAuth.html',1,'']]],
+ ['redbrowser',['RedBrowser',['../classRedBrowser.html',1,'']]],
['reddirectory',['RedDirectory',['../classRedDirectory.html',1,'']]],
- ['redfile',['RedFile',['../classRedFile.html',1,'']]],
- ['redinode',['RedInode',['../classRedInode.html',1,'']]]
+ ['redfile',['RedFile',['../classRedFile.html',1,'']]]
];
diff --git a/doc/html/search/files_61.js b/doc/html/search/files_61.js
index 6ad1b427b..9d8a93b78 100644
--- a/doc/html/search/files_61.js
+++ b/doc/html/search/files_61.js
@@ -1,15 +1,15 @@
var searchData=
[
['account_2ephp',['account.php',['../account_8php.html',1,'']]],
+ ['achievements_2ephp',['achievements.php',['../achievements_8php.html',1,'']]],
['acl_2ephp',['acl.php',['../acl_8php.html',1,'']]],
['acl_5fselectors_2ephp',['acl_selectors.php',['../acl__selectors_8php.html',1,'']]],
['activities_2ephp',['activities.php',['../activities_8php.html',1,'']]],
['admin_2ephp',['admin.php',['../admin_8php.html',1,'']]],
- ['allfriends_2ephp',['allfriends.php',['../allfriends_8php.html',1,'']]],
['api_2ephp',['api.php',['../mod_2api_8php.html',1,'']]],
['api_2ephp',['api.php',['../include_2api_8php.html',1,'']]],
['apps_2ephp',['apps.php',['../apps_8php.html',1,'']]],
- ['attach_2ephp',['attach.php',['../mod_2attach_8php.html',1,'']]],
['attach_2ephp',['attach.php',['../include_2attach_8php.html',1,'']]],
+ ['attach_2ephp',['attach.php',['../mod_2attach_8php.html',1,'']]],
['auth_2ephp',['auth.php',['../auth_8php.html',1,'']]]
];
diff --git a/doc/html/search/files_63.js b/doc/html/search/files_63.js
index 531b158b2..ab4e4cdd3 100644
--- a/doc/html/search/files_63.js
+++ b/doc/html/search/files_63.js
@@ -19,13 +19,13 @@ var searchData=
['config_2ephp',['config.php',['../view_2theme_2blogga_2php_2config_8php.html',1,'']]],
['connect_2ephp',['connect.php',['../connect_8php.html',1,'']]],
['connections_2ephp',['connections.php',['../connections_8php.html',1,'']]],
+ ['connedit_2ephp',['connedit.php',['../connedit_8php.html',1,'']]],
['contact_2ephp',['Contact.php',['../Contact_8php.html',1,'']]],
['contact_5fselectors_2ephp',['contact_selectors.php',['../contact__selectors_8php.html',1,'']]],
['contact_5fwidgets_2ephp',['contact_widgets.php',['../contact__widgets_8php.html',1,'']]],
['contactgroup_2ephp',['contactgroup.php',['../contactgroup_8php.html',1,'']]],
['conversation_2ephp',['conversation.php',['../conversation_8php.html',1,'']]],
['conversationobject_2ephp',['ConversationObject.php',['../ConversationObject_8php.html',1,'']]],
- ['crepair_2ephp',['crepair.php',['../crepair_8php.html',1,'']]],
['cronhooks_2ephp',['cronhooks.php',['../cronhooks_8php.html',1,'']]],
['crypto_2ephp',['crypto.php',['../crypto_8php.html',1,'']]]
];
diff --git a/doc/html/search/files_64.js b/doc/html/search/files_64.js
index 7829f65a6..9d13417b9 100644
--- a/doc/html/search/files_64.js
+++ b/doc/html/search/files_64.js
@@ -17,6 +17,7 @@ var searchData=
['dir_5ffns_2ephp',['dir_fns.php',['../dir__fns_8php.html',1,'']]],
['directory_2ephp',['directory.php',['../mod_2directory_8php.html',1,'']]],
['directory_2ephp',['directory.php',['../include_2directory_8php.html',1,'']]],
+ ['dirprofile_2ephp',['dirprofile.php',['../dirprofile_8php.html',1,'']]],
['dirsearch_2ephp',['dirsearch.php',['../dirsearch_8php.html',1,'']]],
['display_2ephp',['display.php',['../display_8php.html',1,'']]],
['docblox_5ferrorchecker_2ephp',['docblox_errorchecker.php',['../docblox__errorchecker_8php.html',1,'']]]
diff --git a/doc/html/search/files_68.js b/doc/html/search/files_68.js
index 4377d15af..533921876 100644
--- a/doc/html/search/files_68.js
+++ b/doc/html/search/files_68.js
@@ -1,6 +1,5 @@
var searchData=
[
- ['hcard_2ephp',['hcard.php',['../hcard_8php.html',1,'']]],
['help_2ephp',['help.php',['../help_8php.html',1,'']]],
['home_2ephp',['home.php',['../home_8php.html',1,'']]],
['hostxrd_2ephp',['hostxrd.php',['../hostxrd_8php.html',1,'']]],
diff --git a/doc/html/search/files_69.js b/doc/html/search/files_69.js
index 1ac9204d9..a08e0c1d4 100644
--- a/doc/html/search/files_69.js
+++ b/doc/html/search/files_69.js
@@ -2,7 +2,6 @@ var searchData=
[
['identity_2ephp',['identity.php',['../identity_8php.html',1,'']]],
['import_2ephp',['import.php',['../import_8php.html',1,'']]],
- ['intro_2ephp',['intro.php',['../intro_8php.html',1,'']]],
['invite_2ephp',['invite.php',['../invite_8php.html',1,'']]],
['item_2ephp',['item.php',['../item_8php.html',1,'']]],
['itemobject_2ephp',['ItemObject.php',['../ItemObject_8php.html',1,'']]],
diff --git a/doc/html/search/files_6c.js b/doc/html/search/files_6c.js
index 663f102d3..ffcd040c5 100644
--- a/doc/html/search/files_6c.js
+++ b/doc/html/search/files_6c.js
@@ -1,7 +1,6 @@
var searchData=
[
['language_2ephp',['language.php',['../language_8php.html',1,'']]],
- ['lastpost_2ephp',['lastpost.php',['../lastpost_8php.html',1,'']]],
['layouts_2ephp',['layouts.php',['../layouts_8php.html',1,'']]],
['like_2ephp',['like.php',['../like_8php.html',1,'']]],
['lockview_2ephp',['lockview.php',['../lockview_8php.html',1,'']]],
diff --git a/doc/html/search/files_6d.js b/doc/html/search/files_6d.js
index 25d3ea66a..1b8fc71cd 100644
--- a/doc/html/search/files_6d.js
+++ b/doc/html/search/files_6d.js
@@ -1,18 +1,17 @@
var searchData=
[
['magic_2ephp',['magic.php',['../magic_8php.html',1,'']]],
+ ['mail_2ephp',['mail.php',['../mail_8php.html',1,'']]],
['manage_2ephp',['manage.php',['../manage_8php.html',1,'']]],
['match_2ephp',['match.php',['../match_8php.html',1,'']]],
['menu_2ephp',['menu.php',['../mod_2menu_8php.html',1,'']]],
['menu_2ephp',['menu.php',['../include_2menu_8php.html',1,'']]],
- ['message_2ephp',['message.php',['../mod_2message_8php.html',1,'']]],
['message_2ephp',['message.php',['../include_2message_8php.html',1,'']]],
+ ['message_2ephp',['message.php',['../mod_2message_8php.html',1,'']]],
['minimal_2ephp',['minimal.php',['../minimal_8php.html',1,'']]],
['minimalisticdarkness_2ephp',['minimalisticdarkness.php',['../minimalisticdarkness_8php.html',1,'']]],
['mitem_2ephp',['mitem.php',['../mitem_8php.html',1,'']]],
['mod_5fimport_2ephp',['mod_import.php',['../mod__import_8php.html',1,'']]],
- ['mod_5fnew_5fchannel_2ephp',['mod_new_channel.php',['../mod__new__channel_8php.html',1,'']]],
- ['mod_5fregister_2ephp',['mod_register.php',['../mod__register_8php.html',1,'']]],
['mood_2ephp',['mood.php',['../mood_8php.html',1,'']]],
['msearch_2ephp',['msearch.php',['../msearch_8php.html',1,'']]]
];
diff --git a/doc/html/search/files_6e.js b/doc/html/search/files_6e.js
index 0aa61f5c1..2722d4f7d 100644
--- a/doc/html/search/files_6e.js
+++ b/doc/html/search/files_6e.js
@@ -5,6 +5,7 @@ var searchData=
['network_2ephp',['network.php',['../mod_2network_8php.html',1,'']]],
['new_5fchannel_2ephp',['new_channel.php',['../new__channel_8php.html',1,'']]],
['none_2ephp',['none.php',['../none_8php.html',1,'']]],
+ ['notes_2ephp',['notes.php',['../notes_8php.html',1,'']]],
['notifications_2ephp',['notifications.php',['../notifications_8php.html',1,'']]],
['notifier_2ephp',['notifier.php',['../notifier_8php.html',1,'']]],
['notify_2ephp',['notify.php',['../include_2notify_8php.html',1,'']]],
diff --git a/doc/html/search/files_71.js b/doc/html/search/files_71.js
index 1da0b5b3f..6a4d7ec81 100644
--- a/doc/html/search/files_71.js
+++ b/doc/html/search/files_71.js
@@ -1,6 +1,5 @@
var searchData=
[
- ['qsearch_2ephp',['qsearch.php',['../qsearch_8php.html',1,'']]],
['queue_2ephp',['queue.php',['../queue_8php.html',1,'']]],
['queue_5ffn_2ephp',['queue_fn.php',['../queue__fn_8php.html',1,'']]]
];
diff --git a/doc/html/search/files_72.js b/doc/html/search/files_72.js
index 00e4c63ae..e6734d438 100644
--- a/doc/html/search/files_72.js
+++ b/doc/html/search/files_72.js
@@ -5,7 +5,6 @@ var searchData=
['readme_2emd',['README.md',['../blogga_2php_2README_8md.html',1,'']]],
['redbasic_2ephp',['redbasic.php',['../redbasic_8php.html',1,'']]],
['reddav_2ephp',['reddav.php',['../reddav_8php.html',1,'']]],
- ['redir_2ephp',['redir.php',['../redir_8php.html',1,'']]],
['register_2ephp',['register.php',['../register_8php.html',1,'']]],
['regmod_2ephp',['regmod.php',['../regmod_8php.html',1,'']]],
['removeme_2ephp',['removeme.php',['../removeme_8php.html',1,'']]],
diff --git a/doc/html/search/files_73.js b/doc/html/search/files_73.js
index 3ea04e15e..f43a68f92 100644
--- a/doc/html/search/files_73.js
+++ b/doc/html/search/files_73.js
@@ -12,6 +12,7 @@ var searchData=
['smilies_2ephp',['smilies.php',['../smilies_8php.html',1,'']]],
['socgraph_2ephp',['socgraph.php',['../socgraph_8php.html',1,'']]],
['sources_2ephp',['sources.php',['../sources_8php.html',1,'']]],
+ ['sslify_2ephp',['sslify.php',['../sslify_8php.html',1,'']]],
['starred_2ephp',['starred.php',['../starred_8php.html',1,'']]],
['style_2ephp',['style.php',['../apw_2php_2style_8php.html',1,'']]],
['style_2ephp',['style.php',['../redbasic_2php_2style_8php.html',1,'']]],
diff --git a/doc/html/search/files_78.js b/doc/html/search/files_78.js
index cd29e0cce..e725086d3 100644
--- a/doc/html/search/files_78.js
+++ b/doc/html/search/files_78.js
@@ -1,5 +1,6 @@
var searchData=
[
['xchan_2ephp',['xchan.php',['../xchan_8php.html',1,'']]],
- ['xrd_2ephp',['xrd.php',['../xrd_8php.html',1,'']]]
+ ['xrd_2ephp',['xrd.php',['../xrd_8php.html',1,'']]],
+ ['xref_2ephp',['xref.php',['../xref_8php.html',1,'']]]
];
diff --git a/doc/html/search/functions_5f.js b/doc/html/search/functions_5f.js
index ada7b7fbb..8921ecf12 100644
--- a/doc/html/search/functions_5f.js
+++ b/doc/html/search/functions_5f.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['_5f_5fconstruct',['__construct',['../classApp.html#af6d39f63fb7116bbeb04e51696f99474',1,'App\__construct()'],['../classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09',1,'Conversation\__construct()'],['../classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186',1,'dba_driver\__construct()'],['../classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6',1,'FriendicaSmarty\__construct()'],['../classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6',1,'FriendicaSmartyEngine\__construct()'],['../classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2',1,'Item\__construct()'],['../classFKOAuth1.html#a2f1276872329a6f0b704ccda1a4b9fa6',1,'FKOAuth1\__construct()'],['../classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae',1,'photo_driver\__construct()'],['../classRedInode.html#a21a6f92921c037c868e6fae30c7c51bb',1,'RedInode\__construct()'],['../classRedDirectory.html#add0bf2c049230fec4913e769d126e6e6',1,'RedDirectory\__construct()'],['../classRedFile.html#ad4588b90004a2741b1a4ced10355904c',1,'RedFile\__construct()']]],
+ ['_5f_5fconstruct',['__construct',['../classApp.html#af6d39f63fb7116bbeb04e51696f99474',1,'App\__construct()'],['../classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09',1,'Conversation\__construct()'],['../classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186',1,'dba_driver\__construct()'],['../classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6',1,'FriendicaSmarty\__construct()'],['../classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6',1,'FriendicaSmartyEngine\__construct()'],['../classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2',1,'Item\__construct()'],['../classFKOAuth1.html#a2f1276872329a6f0b704ccda1a4b9fa6',1,'FKOAuth1\__construct()'],['../classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae',1,'photo_driver\__construct()'],['../classRedDirectory.html#a1e35e3cd31d2a15250655e4cafdea180',1,'RedDirectory\__construct()'],['../classRedFile.html#a9a67bdb34c9db6ce144b3f371148b183',1,'RedFile\__construct()'],['../classRedBrowser.html#a4b76be9ccef0262cf78fffb4129eda93',1,'RedBrowser\__construct()']]],
['_5f_5fdestruct',['__destruct',['../classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721',1,'dba_driver\__destruct()'],['../classphoto__driver.html#ae4501abdc9651359f81d036b63625686',1,'photo_driver\__destruct()']]],
['_5fbuild_5fnodes',['_build_nodes',['../classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4',1,'Template']]],
['_5fget_5fvar',['_get_var',['../classTemplate.html#aae9c4d761ea1298e745e8052d7910194',1,'Template']]],
diff --git a/doc/html/search/functions_61.js b/doc/html/search/functions_61.js
index 6a1b52ef3..e415a9885 100644
--- a/doc/html/search/functions_61.js
+++ b/doc/html/search/functions_61.js
@@ -7,6 +7,7 @@ var searchData=
['account_5fremove',['account_remove',['../Contact_8php.html#a6e64de7db60b7243dce45fb6347636ff',1,'Contact.php']]],
['account_5ftotal',['account_total',['../account_8php.html#a43e3042b2723d76915a030bac3c668b6',1,'account.php']]],
['account_5fverify_5fpassword',['account_verify_password',['../auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee',1,'auth.php']]],
+ ['achievements_5fcontent',['achievements_content',['../achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e',1,'achievements.php']]],
['acknowledge_5fpermissions',['acknowledge_permissions',['../classProtoDriver.html#a1593f3abae050edbd9304f4f8bc4894a',1,'ProtoDriver\acknowledge_permissions()'],['../classZotDriver.html#a3cfdf443da4e5326e205855d7c0054f2',1,'ZotDriver\acknowledge_permissions()']]],
['acl_5finit',['acl_init',['../acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a',1,'acl.php']]],
['activity_5fmatch',['activity_match',['../text_8php.html#af8a3e3a66a7b862d4510f145d2e13186',1,'text.php']]],
@@ -35,7 +36,6 @@ var searchData=
['aes_5funencapsulate',['aes_unencapsulate',['../crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914',1,'crypto.php']]],
['age',['age',['../datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df',1,'datetime.php']]],
['all_5ffriends',['all_friends',['../socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586',1,'socgraph.php']]],
- ['allfriends_5fcontent',['allfriends_content',['../allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83',1,'allfriends.php']]],
['allowed_5femail',['allowed_email',['../include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694',1,'network.php']]],
['allowed_5fpublic_5frecips',['allowed_public_recips',['../zot_8php.html#a703f528ade8382cf374e4119bd6f7859',1,'zot.php']]],
['allowed_5furl',['allowed_url',['../include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7',1,'network.php']]],
@@ -104,7 +104,9 @@ var searchData=
['atom_5fentry',['atom_entry',['../items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6',1,'items.php']]],
['attach_5fby_5fhash',['attach_by_hash',['../include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36',1,'attach.php']]],
['attach_5fby_5fhash_5fnodata',['attach_by_hash_nodata',['../include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932',1,'attach.php']]],
+ ['attach_5fchange_5fpermissions',['attach_change_permissions',['../include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221',1,'attach.php']]],
['attach_5fcount_5ffiles',['attach_count_files',['../include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3',1,'attach.php']]],
+ ['attach_5fdelete',['attach_delete',['../include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd',1,'attach.php']]],
['attach_5finit',['attach_init',['../mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1',1,'attach.php']]],
['attach_5flist_5ffiles',['attach_list_files',['../include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d',1,'attach.php']]],
['attach_5fmkdir',['attach_mkdir',['../include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc',1,'attach.php']]],
diff --git a/doc/html/search/functions_62.js b/doc/html/search/functions_62.js
index e4f1a9615..71a07a373 100644
--- a/doc/html/search/functions_62.js
+++ b/doc/html/search/functions_62.js
@@ -3,7 +3,9 @@ var searchData=
['base64url_5fdecode',['base64url_decode',['../text_8php.html#a13286f8a95d2de6b102966ecc270c8d6',1,'text.php']]],
['base64url_5fencode',['base64url_encode',['../text_8php.html#a070384ec000fd65043fce11d5392d241',1,'text.php']]],
['bb2diaspora',['bb2diaspora',['../bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c',1,'bb2diaspora.php']]],
+ ['bb_5flocation',['bb_location',['../bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd',1,'bbcode.php']]],
['bb_5fparse_5fcrypt',['bb_parse_crypt',['../bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f',1,'bbcode.php']]],
+ ['bb_5fqr',['bb_qr',['../bbcode_8php.html#a98d0eecc620c19561639f06cfbe8e74c',1,'bbcode.php']]],
['bb_5fshareattributes',['bb_ShareAttributes',['../bbcode_8php.html#a1c69e021d5e0aef97d6966bf3169c86a',1,'bbcode.php']]],
['bb_5fshareattributessimple',['bb_ShareAttributesSimple',['../bbcode_8php.html#a2be26414a367118143cc89e2d58e7377',1,'bbcode.php']]],
['bb_5fspacefy',['bb_spacefy',['../bbcode_8php.html#a8911e027907820df3db03b4f76724b50',1,'bbcode.php']]],
@@ -21,6 +23,7 @@ var searchData=
['blogtheme_5fdisplay_5fitem',['blogtheme_display_item',['../blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5',1,'theme.php']]],
['blogtheme_5fform',['blogtheme_form',['../view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27',1,'blogtheme_form(&amp;$a, $headimg, $headimghome):&#160;config.php'],['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27',1,'blogtheme_form(&amp;$a, $headimg, $headimghome):&#160;config.php']]],
['blogtheme_5fimgurl',['blogtheme_imgurl',['../blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec',1,'theme.php']]],
+ ['bookmarks_5fmenu_5ffetch',['bookmarks_menu_fetch',['../include_2menu_8php.html#a7fb5f4847bc94436e43be4b81478febc',1,'menu.php']]],
['breaklines',['breaklines',['../html2plain_8php.html#a3214912e3d00cf0a948072daccf16740',1,'html2plain.php']]],
['build_5fpagehead',['build_pagehead',['../classApp.html#a08f0537964d98958d218066364cff785',1,'App']]],
['build_5fquerystring',['build_querystring',['../boot_8php.html#a9cbab4ee728e9a8b4ce952bae643044e',1,'boot.php']]],
diff --git a/doc/html/search/functions_63.js b/doc/html/search/functions_63.js
index b7e0d9f33..271be6b7e 100644
--- a/doc/html/search/functions_63.js
+++ b/doc/html/search/functions_63.js
@@ -10,7 +10,6 @@ var searchData=
['chanlink_5fhash',['chanlink_hash',['../text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0',1,'text.php']]],
['chanlink_5furl',['chanlink_url',['../text_8php.html#a2e8d6c402603be3a1256a16605e09c2a',1,'text.php']]],
['chanman_5fremove_5feverything_5ffrom_5fnetwork',['chanman_remove_everything_from_network',['../include_2chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b',1,'chanman.php']]],
- ['channel_5faside',['channel_aside',['../channel_8php.html#aea8e189f2fbabfda779349dd94082e8e',1,'channel.php']]],
['channel_5fcontent',['channel_content',['../channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1',1,'channel.php']]],
['channel_5finit',['channel_init',['../channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc',1,'channel.php']]],
['channel_5fremove',['channel_remove',['../Contact_8php.html#a186162051a5127069cc851d78740f205',1,'Contact.php']]],
@@ -37,6 +36,7 @@ var searchData=
['check_5flist_5fpermissions',['check_list_permissions',['../permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7',1,'permissions.php']]],
['check_5fphp',['check_php',['../setup_8php.html#a14d208682a88632290c895d20da6e7d6',1,'setup.php']]],
['check_5fsmarty3',['check_smarty3',['../setup_8php.html#afd8b0b3ade1507c45325caf377bf459d',1,'setup.php']]],
+ ['check_5fstore',['check_store',['../setup_8php.html#ab4b71369a25021d59247c917e98d8246',1,'setup.php']]],
['check_5fwall_5fto_5fwall',['check_wall_to_wall',['../classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8',1,'Item']]],
['check_5fwebbie',['check_webbie',['../text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3',1,'text.php']]],
['childexists',['childExists',['../classRedDirectory.html#a5e3fc08b2bf9f61cea4d2ccae0495bec',1,'RedDirectory']]],
@@ -46,7 +46,7 @@ var searchData=
['cli_5fstartup',['cli_startup',['../cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b',1,'cli_startup.php']]],
['cli_5fsuggest_5frun',['cli_suggest_run',['../cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2',1,'cli_suggest.php']]],
['close',['close',['../classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975',1,'dba_driver\close()'],['../classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e',1,'dba_mysql\close()'],['../classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55',1,'dba_mysqli\close()']]],
- ['cloud_5finit',['cloud_init',['../cloud_8php.html#a080071b784fe01d04ed6c09d9f2785b8',1,'cloud.php']]],
+ ['cloud_5finit',['cloud_init',['../cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d',1,'cloud.php']]],
['collect',['collect',['../classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d',1,'ProtoDriver\collect()'],['../classZotDriver.html#af65febb26031eb7f39871b9e2a539797',1,'ZotDriver\collect()']]],
['collect_5fprivate',['collect_private',['../classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b',1,'ProtoDriver\collect_private()'],['../classZotDriver.html#a2e15ff09772f0608203dad1c98299394',1,'ZotDriver\collect_private()']]],
['collect_5frecipients',['collect_recipients',['../items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70',1,'items.php']]],
@@ -58,7 +58,6 @@ var searchData=
['comanche_5freplace_5fregion',['comanche_replace_region',['../comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe',1,'comanche.php']]],
['comanche_5fwebpage',['comanche_webpage',['../comanche_8php.html#ae9fe1ce574db3dd0931eada80234f82a',1,'comanche.php']]],
['comanche_5fwidget',['comanche_widget',['../comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f',1,'comanche.php']]],
- ['common_5faside',['common_aside',['../common_8php.html#a3b12ec67b3d3edcf595c8d195da5d14a',1,'common.php']]],
['common_5fcontent',['common_content',['../common_8php.html#ab63408f39abef7a6915186e8dabc5a96',1,'common.php']]],
['common_5ffriends',['common_friends',['../socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918',1,'socgraph.php']]],
['common_5ffriends_5fvisitor_5fwidget',['common_friends_visitor_widget',['../contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65',1,'contact_widgets.php']]],
@@ -72,11 +71,14 @@ var searchData=
['connect_5fcontent',['connect_content',['../connect_8php.html#a489f0a66c660de6ec4d6917b27674f07',1,'connect.php']]],
['connect_5finit',['connect_init',['../connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36',1,'connect.php']]],
['connect_5fpost',['connect_post',['../connect_8php.html#a417ec27afe33f21a929667a665e32ee2',1,'connect.php']]],
- ['connections_5faside',['connections_aside',['../connections_8php.html#af48f7ad20914760ba9874c090384e35a',1,'connections.php']]],
['connections_5fclone',['connections_clone',['../connections_8php.html#a15af118efee9c948b6f8294e54a73bb2',1,'connections.php']]],
['connections_5fcontent',['connections_content',['../connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c',1,'connections.php']]],
['connections_5finit',['connections_init',['../connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558',1,'connections.php']]],
['connections_5fpost',['connections_post',['../connections_8php.html#a1224058db8e3fb56463eb312f98e561d',1,'connections.php']]],
+ ['connedit_5fclone',['connedit_clone',['../connedit_8php.html#a707ea7e63cf9674025b1d6b081ae74f5',1,'connedit.php']]],
+ ['connedit_5fcontent',['connedit_content',['../connedit_8php.html#a795acb3d9d841f55c255d7611681ab67',1,'connedit.php']]],
+ ['connedit_5finit',['connedit_init',['../connedit_8php.html#a4da871e075597a09a8b374b9171dd92e',1,'connedit.php']]],
+ ['connedit_5fpost',['connedit_post',['../connedit_8php.html#a234c48426b652bf4d37053f2af329ac5',1,'connedit.php']]],
['construct_5factivity_5fobject',['construct_activity_object',['../items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee',1,'items.php']]],
['construct_5factivity_5ftarget',['construct_activity_target',['../items_8php.html#aa579bc4445d60098b1410961ca8e96b7',1,'items.php']]],
['construct_5fpage',['construct_page',['../boot_8php.html#acc4e0c910af066148b810e5fde55fff1',1,'boot.php']]],
@@ -98,13 +100,10 @@ var searchData=
['count_5fcommon_5ffriends_5fzcid',['count_common_friends_zcid',['../socgraph_8php.html#af175807406d94407a5e11742a3287746',1,'socgraph.php']]],
['count_5fdescendants',['count_descendants',['../classItem.html#aca1e66988ed00cd627b2a359b72cd0ae',1,'Item\count_descendants()'],['../conversation_8php.html#ab2383dff4f823e580399ff469d90ab19',1,'count_descendants():&#160;conversation.php']]],
['create_5faccount',['create_account',['../account_8php.html#a141fe579c351c78209d425473f978eb5',1,'account.php']]],
- ['create_5fdir_5faccount',['create_dir_account',['../identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd',1,'identity.php']]],
['create_5fidentity',['create_identity',['../identity_8php.html#a345f4c943d84de502ec6e72d2c813945',1,'identity.php']]],
+ ['create_5fsys_5fchannel',['create_sys_channel',['../identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05',1,'identity.php']]],
['createdirectory',['createDirectory',['../classRedDirectory.html#a986936910f0216887a25e28916c166c7',1,'RedDirectory']]],
['createfile',['createFile',['../classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0',1,'RedDirectory']]],
- ['crepair_5fcontent',['crepair_content',['../crepair_8php.html#a29464c01838e209c8059cfcd2d195caa',1,'crepair.php']]],
- ['crepair_5finit',['crepair_init',['../crepair_8php.html#ab089978e50df156bbfabf9f8f5ccd198',1,'crepair.php']]],
- ['crepair_5fpost',['crepair_post',['../crepair_8php.html#acc4493e1ffd1462a605dd9b870034513',1,'crepair.php']]],
['cronhooks_5frun',['cronhooks_run',['../cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca',1,'cronhooks.php']]],
['cropimage',['cropImage',['../classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e',1,'photo_driver\cropImage()'],['../classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c',1,'photo_gd\cropImage()'],['../classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4',1,'photo_imagick\cropImage()']]],
['crypto_5fencapsulate',['crypto_encapsulate',['../crypto_8php.html#a32fc08d57a5694f94d8543ecbb03323c',1,'crypto.php']]],
diff --git a/doc/html/search/functions_64.js b/doc/html/search/functions_64.js
index 635a4e07c..ef331a740 100644
--- a/doc/html/search/functions_64.js
+++ b/doc/html/search/functions_64.js
@@ -16,7 +16,7 @@ var searchData=
['del_5fpconfig',['del_pconfig',['../include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941',1,'config.php']]],
['del_5fxconfig',['del_xconfig',['../include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72',1,'config.php']]],
['delegate_5fcontent',['delegate_content',['../delegate_8php.html#a943eea8996ef348eb845c498f9f354dd',1,'delegate.php']]],
- ['delete',['delete',['../classRedInode.html#a5e8f09bc887725c3c448f8d72fe3edfc',1,'RedInode']]],
+ ['delete',['delete',['../classRedFile.html#aef71c9eaac7052be7dc8602eb12171e7',1,'RedFile']]],
['delete_5fimported_5fitem',['delete_imported_item',['../zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72',1,'zot.php']]],
['delete_5fitem_5flowlevel',['delete_item_lowlevel',['../items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259',1,'items.php']]],
['deletenode',['deletenode',['../html2bbcode_8php.html#a71a07f135d196ec5943b13f7b2e6a9b2',1,'html2bbcode.php']]],
@@ -33,10 +33,10 @@ var searchData=
['dir_5fsort_5flinks',['dir_sort_links',['../dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774',1,'dir_fns.php']]],
['dir_5ftagadelic',['dir_tagadelic',['../taxonomy_8php.html#a088371f4bc19155b2291508f5cd63332',1,'taxonomy.php']]],
['dir_5ftagblock',['dir_tagblock',['../taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1',1,'taxonomy.php']]],
- ['directory_5faside',['directory_aside',['../mod_2directory_8php.html#aa1d928543212871491706216742dd73c',1,'directory.php']]],
['directory_5fcontent',['directory_content',['../mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44',1,'directory.php']]],
['directory_5finit',['directory_init',['../mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf',1,'directory.php']]],
['directory_5frun',['directory_run',['../include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0',1,'directory.php']]],
+ ['dirprofile_5finit',['dirprofile_init',['../dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052',1,'dirprofile.php']]],
['dirsearch_5fcontent',['dirsearch_content',['../dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c',1,'dirsearch.php']]],
['dirsearch_5finit',['dirsearch_init',['../dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752',1,'dirsearch.php']]],
['discover',['discover',['../classProtoDriver.html#a64a3868cffe27d601d55f69a2ecc4337',1,'ProtoDriver\discover()'],['../classZotDriver.html#a40d328ff9f6b0a238afe286dddee1514',1,'ZotDriver\discover()']]],
diff --git a/doc/html/search/functions_66.js b/doc/html/search/functions_66.js
index a97f0bc6e..f9a7458d5 100644
--- a/doc/html/search/functions_66.js
+++ b/doc/html/search/functions_66.js
@@ -15,6 +15,7 @@ var searchData=
['filer_5fcontent',['filer_content',['../filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274',1,'filer.php']]],
['filerm_5fcontent',['filerm_content',['../filerm_8php.html#ae2eb28d2054fa2c37e38689882172208',1,'filerm.php']]],
['filestorage_5fcontent',['filestorage_content',['../filestorage_8php.html#a61bb1be78472555df4ce619f51014040',1,'filestorage.php']]],
+ ['filestorage_5fpost',['filestorage_post',['../filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd',1,'filestorage.php']]],
['find_5fthread_5fparent_5findex',['find_thread_parent_index',['../conversation_8php.html#ae59703b07ce2ddf627b4172ff26058b6',1,'conversation.php']]],
['find_5fupstream_5fdirectory',['find_upstream_directory',['../dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d',1,'dir_fns.php']]],
['find_5fxchan_5fin_5farray',['find_xchan_in_array',['../text_8php.html#ace3c98538c63e09b70a363210b414112',1,'text.php']]],
@@ -30,7 +31,6 @@ var searchData=
['flip',['flip',['../classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832',1,'photo_driver\flip()'],['../classphoto__gd.html#a44cedef376044018702d9355ddc813ce',1,'photo_gd\flip()'],['../classphoto__imagick.html#aff6bcdbab18593a3fc5a480db8509393',1,'photo_imagick\flip()']]],
['follow_5fcontent',['follow_content',['../mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592',1,'follow.php']]],
['follow_5finit',['follow_init',['../mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a',1,'follow.php']]],
- ['follow_5fwidget',['follow_widget',['../contact__widgets_8php.html#af24e693532a045954caab515942cfc6f',1,'contact_widgets.php']]],
['format_5fcategories',['format_categories',['../text_8php.html#a3054189cff173977f4216c9a3dd29e1b',1,'text.php']]],
['format_5fcss_5fif_5fexists',['format_css_if_exists',['../plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6',1,'plugin.php']]],
['format_5fevent_5fbbcode',['format_event_bbcode',['../event_8php.html#abb74206cf42d694307c3d7abb7af9869',1,'event.php']]],
diff --git a/doc/html/search/functions_67.js b/doc/html/search/functions_67.js
index b3e96032c..36c34ffd7 100644
--- a/doc/html/search/functions_67.js
+++ b/doc/html/search/functions_67.js
@@ -3,6 +3,7 @@ var searchData=
['gen_5ftoken',['gen_token',['../classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819',1,'FKOAuthDataStore']]],
['gender_5fselector',['gender_selector',['../profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355',1,'profile_selectors.php']]],
['generate_5fuser_5fguid',['generate_user_guid',['../text_8php.html#ae4f6881d7e13623f8eded6277595112a',1,'text.php']]],
+ ['generatedirectoryindex',['generateDirectoryIndex',['../classRedBrowser.html#a1f7daf50bb9bfcde7345b3b1908dbd7e',1,'RedBrowser']]],
['get',['get',['../classCache.html#a70392b109331897bf9fdd7f1960e21de',1,'Cache\get()'],['../classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535',1,'RedFile\get()']]],
['get_5faccount',['get_account',['../classApp.html#a08bc87aff64f39fbc084e9d6545cee4d',1,'App']]],
['get_5faccount_5fid',['get_account_id',['../boot_8php.html#afe88b920aa285982edb817a0dd44eb37',1,'boot.php']]],
@@ -20,6 +21,7 @@ var searchData=
['get_5fchild',['get_child',['../classItem.html#a632185dd25c5caf277067c76230a4320',1,'Item']]],
['get_5fchildren',['get_children',['../classItem.html#aa0ee775ec94abccec6c798428835d001',1,'Item']]],
['get_5fcipher',['get_cipher',['../classConversation.html#a4aab60bb39fa6761b6cacdc8d9da2901',1,'Conversation']]],
+ ['get_5fcloudpath',['get_cloudpath',['../include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce',1,'attach.php']]],
['get_5fcomment_5fbox',['get_comment_box',['../classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf',1,'Item']]],
['get_5fcomment_5fbox_5ftemplate',['get_comment_box_template',['../classItem.html#a904421c7a427411bb2ab473bca872f63',1,'Item']]],
['get_5fconfig',['get_config',['../include_2config_8php.html#af02c96e6b37335774b548914ede1d22e',1,'config.php']]],
@@ -29,6 +31,7 @@ var searchData=
['get_5fdata',['get_data',['../classItem.html#ad3638f93065693c1f69eb349feb1b7aa',1,'Item']]],
['get_5fdata_5fvalue',['get_data_value',['../classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c',1,'Item']]],
['get_5fdb_5ferrno',['get_db_errno',['../setup_8php.html#a8652788e8589778c5f81634a9d5b9429',1,'setup.php']]],
+ ['get_5fdefault_5fprofile_5fphoto',['get_default_profile_photo',['../identity_8php.html#ab1485a26b032956e1496fc08c58b83ed',1,'identity.php']]],
['get_5fdim',['get_dim',['../datetime_8php.html#a7df24d72ea05922d3127363e2295174c',1,'datetime.php']]],
['get_5fevents',['get_events',['../identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312',1,'identity.php']]],
['get_5ffeatures',['get_features',['../features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c',1,'features.php']]],
@@ -60,7 +63,7 @@ var searchData=
['get_5fpath',['get_path',['../classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be',1,'App']]],
['get_5fpconfig',['get_pconfig',['../include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad',1,'config.php']]],
['get_5fperms',['get_perms',['../classApp.html#adb5a4bb657881e553978ff390babd01f',1,'App\get_perms()'],['../permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972',1,'get_perms():&#160;permissions.php']]],
- ['get_5fplink',['get_plink',['../text_8php.html#a3ef8c0cf31f35f77462067de8712fa34',1,'text.php']]],
+ ['get_5fplink',['get_plink',['../text_8php.html#aac0969ae09853205992ba06ab9f9f61a',1,'text.php']]],
['get_5fplugin_5finfo',['get_plugin_info',['../plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35',1,'plugin.php']]],
['get_5fpoke_5fverbs',['get_poke_verbs',['../text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66',1,'text.php']]],
['get_5fprofile_5felements',['get_profile_elements',['../items_8php.html#a251343637ff40a50cca93452cd530c26',1,'items.php']]],
@@ -69,6 +72,7 @@ var searchData=
['get_5fredirect_5furl',['get_redirect_url',['../classItem.html#a428f448f89a8629055ea3294eb942aea',1,'Item']]],
['get_5frel_5flink',['get_rel_link',['../text_8php.html#a3972701c5c83624ec4e2d06242f614e7',1,'text.php']]],
['get_5frpost_5fpath',['get_rpost_path',['../zot_8php.html#a8e22dbc6f884be3644a892a876cbd972',1,'zot.php']]],
+ ['get_5fsys_5fchannel',['get_sys_channel',['../identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51',1,'identity.php']]],
['get_5ftags',['get_tags',['../text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623',1,'text.php']]],
['get_5ftemplate',['get_template',['../classItem.html#aba23a0a9d89e316d2b343cc46d695d91',1,'Item']]],
['get_5ftemplate_5fdata',['get_template_data',['../classConversation.html#a2a96b7a6573ae53db861624659e831cb',1,'Conversation\get_template_data()'],['../classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8',1,'Item\get_template_data()']]],
@@ -80,18 +84,21 @@ var searchData=
['get_5ftheme_5finfo',['get_theme_info',['../plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405',1,'plugin.php']]],
['get_5ftheme_5fscreenshot',['get_theme_screenshot',['../plugin_8php.html#a48047edfbef770125a5508dcc2f9282f',1,'plugin.php']]],
['get_5ftheme_5fuid',['get_theme_uid',['../identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3',1,'identity.php']]],
+ ['get_5fthings',['get_things',['../taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de',1,'taxonomy.php']]],
['get_5fthread',['get_thread',['../classConversation.html#a4cff75d8c46b517e7133e4d0da6fc1c8',1,'Conversation']]],
['get_5fwidgets',['get_widgets',['../classApp.html#a871898becd0697d778f36d9336253ae8',1,'App']]],
['get_5fxconfig',['get_xconfig',['../include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e',1,'config.php']]],
['getchild',['getChild',['../classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569',1,'RedDirectory']]],
['getchildren',['getChildren',['../classRedDirectory.html#aa42d3065f6f065b17db87146a7cb031a',1,'RedDirectory']]],
['getcontenttype',['getContentType',['../classRedFile.html#a26416827eb68554d033d1e2e5cc6dd3b',1,'RedFile']]],
+ ['getdir',['getDir',['../classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4',1,'RedDirectory']]],
['getetag',['getETag',['../classRedFile.html#ae96d5caa2db7a461c57b24380fa87e28',1,'RedFile']]],
['getext',['getExt',['../classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba',1,'photo_driver']]],
['getheight',['getHeight',['../classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468',1,'photo_driver']]],
['getimage',['getImage',['../classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5',1,'photo_driver\getImage()'],['../classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484',1,'photo_gd\getImage()'],['../classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc',1,'photo_imagick\getImage()']]],
- ['getlastmodified',['getLastModified',['../classRedInode.html#a8503d4f247186e9e55bc42b37e067fb6',1,'RedInode']]],
- ['getname',['getName',['../classRedInode.html#aec5706105400764124db39d4bc68d458',1,'RedInode']]],
+ ['getlastmodified',['getLastModified',['../classRedDirectory.html#a6c7e08199abc24e6eeb94a4037ef8bfc',1,'RedDirectory\getLastModified()'],['../classRedFile.html#a41562a28007789bbe7fe06d6a20eef47',1,'RedFile\getLastModified()']]],
+ ['getname',['getName',['../classRedDirectory.html#af6e4475dbd5abcdede00d20b8d388583',1,'RedDirectory\getName()'],['../classRedFile.html#a0c961c5f49544d2502420361fa526437',1,'RedFile\getName()']]],
+ ['getquotainfo',['getQuotaInfo',['../classRedDirectory.html#a2f7a574f2115f099d6dd103d5b252375',1,'RedDirectory']]],
['getsize',['getSize',['../classRedFile.html#acb1edbe1848fab05347746fa1ea09d8f',1,'RedFile']]],
['gettype',['getType',['../classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3',1,'photo_driver']]],
['getwidth',['getWidth',['../classphoto__driver.html#acc30486acee9e89e32701f44a1738117',1,'photo_driver']]],
@@ -99,7 +106,6 @@ var searchData=
['gprobe_5frun',['gprobe_run',['../gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1',1,'gprobe.php']]],
['group_5fadd',['group_add',['../include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce',1,'group.php']]],
['group_5fadd_5fmember',['group_add_member',['../include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b',1,'group.php']]],
- ['group_5faside',['group_aside',['../mod_2group_8php.html#aeb0784dd928e53e6d8693513bec8928c',1,'group.php']]],
['group_5fbyname',['group_byname',['../include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb',1,'group.php']]],
['group_5fcontent',['group_content',['../mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83',1,'group.php']]],
['group_5fget_5fmembers',['group_get_members',['../include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09',1,'group.php']]],
@@ -108,7 +114,7 @@ var searchData=
['group_5frmv',['group_rmv',['../include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5',1,'group.php']]],
['group_5frmv_5fmember',['group_rmv_member',['../include_2group_8php.html#a540e3ef36f47d47532646be4241f6518',1,'group.php']]],
['group_5fselect',['group_select',['../acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0',1,'acl_selectors.php']]],
- ['group_5fside',['group_side',['../include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17',1,'group.php']]],
+ ['group_5fside',['group_side',['../include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9',1,'group.php']]],
['groups_5fcontaining',['groups_containing',['../include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f',1,'group.php']]],
['guess_5fimage_5ftype',['guess_image_type',['../photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa',1,'photo_driver.php']]]
];
diff --git a/doc/html/search/functions_68.js b/doc/html/search/functions_68.js
index 2fcb45ed0..29fd49882 100644
--- a/doc/html/search/functions_68.js
+++ b/doc/html/search/functions_68.js
@@ -1,20 +1,23 @@
var searchData=
[
- ['handle_5ftag',['handle_tag',['../item_8php.html#abd0e603a6696051af16476eb968d52e7',1,'item.php']]],
+ ['handle_5ftag',['handle_tag',['../item_8php.html#aa22feef4de326e1d7078dedd892e615c',1,'item.php']]],
['has_5fpermissions',['has_permissions',['../items_8php.html#a77051724d1784074ff187e73a4db93fe',1,'items.php']]],
- ['hcard_5faside',['hcard_aside',['../hcard_8php.html#a956c7cae2009652a37900306e5b7b73d',1,'hcard.php']]],
- ['hcard_5finit',['hcard_init',['../hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d',1,'hcard.php']]],
['head_5fadd_5fcss',['head_add_css',['../plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a',1,'plugin.php']]],
['head_5fadd_5fjs',['head_add_js',['../plugin_8php.html#a516591850f4fd49fd1425cfa54089db8',1,'plugin.php']]],
['head_5fget_5fcss',['head_get_css',['../plugin_8php.html#af92789f559b89a380e49d303218aeeca',1,'plugin.php']]],
['head_5fget_5ficon',['head_get_icon',['../classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166',1,'App\head_get_icon()'],['../boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77',1,'head_get_icon():&#160;boot.php']]],
['head_5fget_5fjs',['head_get_js',['../plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1',1,'plugin.php']]],
+ ['head_5fremove_5fcss',['head_remove_css',['../plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf',1,'plugin.php']]],
+ ['head_5fremove_5fjs',['head_remove_js',['../plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4',1,'plugin.php']]],
['head_5fset_5ficon',['head_set_icon',['../classApp.html#a8863703a0305eaa45eb970dbd2046291',1,'App\head_set_icon()'],['../boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84',1,'head_set_icon():&#160;boot.php']]],
['help',['help',['../namespacefriendica-to-smarty-tpl.html#af6b2c793958aae2aadc294577431f749',1,'friendica-to-smarty-tpl.help()'],['../namespaceupdatetpl.html#ac9d11279fed403a329a719298feafc4f',1,'updatetpl.help()']]],
['help_5fcontent',['help_content',['../help_8php.html#af055e15f600ffa6fbca9386fdf715224',1,'help.php']]],
+ ['home_5fcontent',['home_content',['../home_8php.html#aa1cf697851a646755baf537f75334c46',1,'home.php']]],
+ ['home_5finit',['home_init',['../home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde',1,'home.php']]],
['hostxrd_5finit',['hostxrd_init',['../hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92',1,'hostxrd.php']]],
['html2bb_5fvideo',['html2bb_video',['../text_8php.html#a138a3a611fa7f4f3630674145fc826bf',1,'text.php']]],
['html2bbcode',['html2bbcode',['../html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837',1,'html2bbcode.php']]],
['html2plain',['html2plain',['../html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04',1,'html2plain.php']]],
+ ['htmlactionspanel',['htmlActionsPanel',['../classRedBrowser.html#a7f6bf0bda07833f4c647557bd172e349',1,'RedBrowser']]],
['http_5fstatus_5fexit',['http_status_exit',['../include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2',1,'network.php']]]
];
diff --git a/doc/html/search/functions_69.js b/doc/html/search/functions_69.js
index a1e34fb82..e50061ae5 100644
--- a/doc/html/search/functions_69.js
+++ b/doc/html/search/functions_69.js
@@ -11,7 +11,7 @@ var searchData=
['import_5fdirectory_5fkeywords',['import_directory_keywords',['../zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a',1,'zot.php']]],
['import_5fdirectory_5fprofile',['import_directory_profile',['../zot_8php.html#aeec89da5b6ff090c63a79de4de884a35',1,'zot.php']]],
['import_5fpost',['import_post',['../import_8php.html#af17fef0410518f7eac205d0ea416eaa2',1,'import.php']]],
- ['import_5fprofile_5fphoto',['import_profile_photo',['../photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca',1,'photo_driver.php']]],
+ ['import_5fprofile_5fphoto',['import_profile_photo',['../photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887',1,'photo_driver.php']]],
['import_5fsite',['import_site',['../zot_8php.html#a2657e141d62d5f67ad3c87651b585299',1,'zot.php']]],
['import_5fxchan',['import_xchan',['../zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1',1,'zot.php']]],
['in_5farrayi',['in_arrayi',['../text_8php.html#a75c326298519ed14ebe762194c8a3f2a',1,'text.php']]],
@@ -19,14 +19,13 @@ var searchData=
['insert_5fhook',['insert_hook',['../plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b',1,'plugin.php']]],
['install',['install',['../classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746',1,'dba_driver']]],
['install_5fplugin',['install_plugin',['../plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5',1,'plugin.php']]],
- ['intro_5faside',['intro_aside',['../intro_8php.html#abc3abf25da64f98f215126eb08c7936b',1,'intro.php']]],
- ['intro_5fcontent',['intro_content',['../intro_8php.html#a3e2a523697633ddb4517b9266a515f5b',1,'intro.php']]],
- ['intro_5fpost',['intro_post',['../intro_8php.html#af3681062183ccbdf065ae2647b07d6f1',1,'intro.php']]],
['invite_5fcontent',['invite_content',['../invite_8php.html#a244385b28cfd021d308715f01158bfd9',1,'invite.php']]],
['invite_5fpost',['invite_post',['../invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5',1,'invite.php']]],
['is_5fa_5fdate_5farg',['is_a_date_arg',['../text_8php.html#a1557112a774ec00fa06ed6b6f6495506',1,'text.php']]],
['is_5fajax',['is_ajax',['../boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c',1,'boot.php']]],
['is_5fcommentable',['is_commentable',['../classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3',1,'Conversation\is_commentable()'],['../classItem.html#ac04525a8be24c12b0a2ae4ca1ba4b967',1,'Item\is_commentable()']]],
+ ['is_5fforeigner',['is_foreigner',['../identity_8php.html#ae2b140df652a55ca11bb6a99005fce35',1,'identity.php']]],
+ ['is_5fmember',['is_member',['../identity_8php.html#a9637c557e13d9671f3eeb124ab98212a',1,'identity.php']]],
['is_5fpreview',['is_preview',['../classConversation.html#adf25ce023b69a166c63c6e84e02c136a',1,'Conversation']]],
['is_5fsite_5fadmin',['is_site_admin',['../boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e',1,'boot.php']]],
['is_5fthreaded',['is_threaded',['../classItem.html#a5b2fafdca55aefeaa08993a5a60529f0',1,'Item']]],
diff --git a/doc/html/search/functions_6c.js b/doc/html/search/functions_6c.js
index 7df51ec1b..0353cfc34 100644
--- a/doc/html/search/functions_6c.js
+++ b/doc/html/search/functions_6c.js
@@ -1,9 +1,6 @@
var searchData=
[
['lang_5fselector',['lang_selector',['../text_8php.html#a71f6952243d3fe1c5a8154f78027e29c',1,'text.php']]],
- ['lastpost_5faside',['lastpost_aside',['../lastpost_8php.html#a6108289ef2a767495c7c85a24f364983',1,'lastpost.php']]],
- ['lastpost_5fcontent',['lastpost_content',['../lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493',1,'lastpost.php']]],
- ['lastpost_5finit',['lastpost_init',['../lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c',1,'lastpost.php']]],
['layout_5fselect',['layout_select',['../text_8php.html#a3999a0b3e22e440f280ee791ce34d384',1,'text.php']]],
['layouts_5fcontent',['layouts_content',['../layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50',1,'layouts.php']]],
['legal_5fwebbie',['legal_webbie',['../text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728',1,'text.php']]],
diff --git a/doc/html/search/functions_6d.js b/doc/html/search/functions_6d.js
index c43f6598b..4ceedb978 100644
--- a/doc/html/search/functions_6d.js
+++ b/doc/html/search/functions_6d.js
@@ -3,6 +3,8 @@ var searchData=
['magic_5finit',['magic_init',['../magic_8php.html#acea2cc792849ca2d71d4b689f66518bf',1,'magic.php']]],
['magic_5flink',['magic_link',['../text_8php.html#a1e510c53624933ce9b7d6715784894db',1,'text.php']]],
['magiclink_5furl',['magiclink_url',['../text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6',1,'text.php']]],
+ ['mail_5fcontent',['mail_content',['../mail_8php.html#a3c7c485fc69f92371e8b20936040eca1',1,'mail.php']]],
+ ['mail_5fpost',['mail_post',['../mail_8php.html#acfc2cc0bf4e0b178207758384977f25a',1,'mail.php']]],
['mail_5fstore',['mail_store',['../items_8php.html#a77da7ce9a117601d49ac4a67c71b514f',1,'items.php']]],
['manage_5fcontent',['manage_content',['../manage_8php.html#a2bca247b5296827638959138367db4f5',1,'manage.php']]],
['manual_5fconfig',['manual_config',['../setup_8php.html#abe405d227ba7232971964a706d4f3bce',1,'setup.php']]],
@@ -23,9 +25,7 @@ var searchData=
['menu_5flist',['menu_list',['../include_2menu_8php.html#acef15a498d52666b1c7e5c12765c689b',1,'menu.php']]],
['menu_5fpost',['menu_post',['../mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393',1,'menu.php']]],
['menu_5frender',['menu_render',['../include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e',1,'menu.php']]],
- ['message_5faside',['message_aside',['../mod_2message_8php.html#af4ba72486117cc24335fd8e92a2112a7',1,'message.php']]],
- ['message_5fcontent',['message_content',['../mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79',1,'message.php']]],
- ['message_5fpost',['message_post',['../mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718',1,'message.php']]],
+ ['message_5fcontent',['message_content',['../mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f',1,'message.php']]],
['micropro',['micropro',['../text_8php.html#a2a902f5fdba8646333e997898ac45ea3',1,'text.php']]],
['mimetype_5fselect',['mimetype_select',['../text_8php.html#a1633412120f52bdce5f43e0a127d9293',1,'text.php']]],
['mini_5fgroup_5fselect',['mini_group_select',['../include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32',1,'group.php']]],
diff --git a/doc/html/search/functions_6e.js b/doc/html/search/functions_6e.js
index 075156110..c51d3673c 100644
--- a/doc/html/search/functions_6e.js
+++ b/doc/html/search/functions_6e.js
@@ -21,6 +21,7 @@ var searchData=
['normalise_5flink',['normalise_link',['../text_8php.html#a4bbb7d00c05cd20b4e043424f322388f',1,'text.php']]],
['normalise_5fopenid',['normalise_openid',['../text_8php.html#adba17ec946f4285285dc100f7860bf51',1,'text.php']]],
['notags',['notags',['../text_8php.html#a1af49756c8c71902a66c7e329c462beb',1,'text.php']]],
+ ['notes_5finit',['notes_init',['../notes_8php.html#a4dbd7b1f906440746af48b484d66535a',1,'notes.php']]],
['notice',['notice',['../boot_8php.html#a9255af5ae9c887520091ea04763c1a88',1,'boot.php']]],
['notification',['notification',['../enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc',1,'enotify.php']]],
['notifications_5fcontent',['notifications_content',['../notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62',1,'notifications.php']]],
diff --git a/doc/html/search/functions_6f.js b/doc/html/search/functions_6f.js
index b6278b300..33c7a2134 100644
--- a/doc/html/search/functions_6f.js
+++ b/doc/html/search/functions_6f.js
@@ -1,7 +1,7 @@
var searchData=
[
['oauth_5fget_5fclient',['oauth_get_client',['../mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117',1,'api.php']]],
- ['obj_5fverb_5fselector',['obj_verb_selector',['../taxonomy_8php.html#ac12a651a42ed77f8dc7072c6168811a2',1,'taxonomy.php']]],
+ ['obj_5fverb_5fselector',['obj_verb_selector',['../taxonomy_8php.html#af387463d42ffdf7d2ab3d5b22e40a0c7',1,'taxonomy.php']]],
['obj_5fverbs',['obj_verbs',['../taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce',1,'taxonomy.php']]],
['oe_5fbuild_5fxpath',['oe_build_xpath',['../include_2oembed_8php.html#ab953a6e7c11bc6498ce01ed73e2ba319',1,'oembed.php']]],
['oe_5fget_5finner_5fhtml',['oe_get_inner_html',['../include_2oembed_8php.html#a03fa3b7832c98a3d0b4630afeb73d487',1,'oembed.php']]],
diff --git a/doc/html/search/functions_70.js b/doc/html/search/functions_70.js
index 00f3caee0..acb3abbec 100644
--- a/doc/html/search/functions_70.js
+++ b/doc/html/search/functions_70.js
@@ -28,6 +28,7 @@ var searchData=
['photos_5fpost',['photos_post',['../mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080',1,'photos.php']]],
['php_5finit',['php_init',['../php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6',1,'php.php']]],
['ping_5finit',['ping_init',['../ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1',1,'ping.php']]],
+ ['pipe_5fstreams',['pipe_streams',['../include_2attach_8php.html#a5d484de2d19a93071571d6499a50ae34',1,'attach.php']]],
['pkcs5_5fpad',['pkcs5_pad',['../crypto_8php.html#ad5e51fd44cff93cfaa07a37e24a5edec',1,'crypto.php']]],
['pkcs5_5funpad',['pkcs5_unpad',['../crypto_8php.html#ac95ac3b1b23b65b04a86613d4206ae85',1,'crypto.php']]],
['po2php_5frun',['po2php_run',['../po2php_8php.html#a3b75e36f913198299e99559b175cd8b4',1,'po2php.php']]],
@@ -78,22 +79,18 @@ var searchData=
['process_5fmail_5fdelivery',['process_mail_delivery',['../zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc',1,'zot.php']]],
['process_5fprofile_5fdelivery',['process_profile_delivery',['../zot_8php.html#a9a57b40669351c9791126b925cb7ef3b',1,'zot.php']]],
['profile_5factivity',['profile_activity',['../activities_8php.html#a80134e807719b3c54aba971958d2e132',1,'activities.php']]],
- ['profile_5faside',['profile_aside',['../profile_8php.html#a1a2482b775476f2f64ea5e8f4fc3fd1e',1,'profile.php']]],
['profile_5fcontent',['profile_content',['../profile_8php.html#a3775cf6eef6587e5143133356a7b76c0',1,'profile.php']]],
['profile_5fcreate_5fsidebar',['profile_create_sidebar',['../identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620',1,'identity.php']]],
['profile_5finit',['profile_init',['../profile_8php.html#ab5d0246be0552e2182a585c1206d22a5',1,'profile.php']]],
['profile_5fload',['profile_load',['../identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68',1,'identity.php']]],
- ['profile_5fphoto_5faside',['profile_photo_aside',['../profile__photo_8php.html#ac9cd968a767e2ae1b88383b6cdd6dbe3',1,'profile_photo.php']]],
['profile_5fphoto_5finit',['profile_photo_init',['../profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02',1,'profile_photo.php']]],
['profile_5fphoto_5fpost',['profile_photo_post',['../profile__photo_8php.html#a4b80234074bd603221aa5364f330e479',1,'profile_photo.php']]],
['profile_5fsidebar',['profile_sidebar',['../identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc',1,'identity.php']]],
['profile_5ftabs',['profile_tabs',['../conversation_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273',1,'conversation.php']]],
['profiler',['profiler',['../text_8php.html#a8b0a799341b1fc4cba2c3ede3e3fc9b6',1,'text.php']]],
- ['profiles_5faside',['profiles_aside',['../profiles_8php.html#a2a3ac90f51941ff78b85e9389304969c',1,'profiles.php']]],
['profiles_5fcontent',['profiles_content',['../profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00',1,'profiles.php']]],
['profiles_5finit',['profiles_init',['../profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e',1,'profiles.php']]],
['profiles_5fpost',['profiles_post',['../profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04',1,'profiles.php']]],
- ['profperm_5faside',['profperm_aside',['../profperm_8php.html#a77fd398ae7c25142e1d9ad724ec347cc',1,'profperm.php']]],
['profperm_5fcontent',['profperm_content',['../profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023',1,'profperm.php']]],
['profperm_5finit',['profperm_init',['../profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6',1,'profperm.php']]],
['protect_5fsprintf',['protect_sprintf',['../text_8php.html#a4e7698aca48982512594b274543c3b9b',1,'text.php']]],
diff --git a/doc/html/search/functions_71.js b/doc/html/search/functions_71.js
index 64b6af3a9..11b357b31 100644
--- a/doc/html/search/functions_71.js
+++ b/doc/html/search/functions_71.js
@@ -2,7 +2,6 @@ var searchData=
[
['q',['q',['../classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555',1,'dba_driver\q()'],['../classdba__mysql.html#ac3fd60c278f400907322dac578754a99',1,'dba_mysql\q()'],['../classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec',1,'dba_mysqli\q()'],['../dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f',1,'q():&#160;dba_driver.php']]],
['qp',['qp',['../text_8php.html#afc998d2796a6b2a08e96f7cc061e7221',1,'text.php']]],
- ['qsearch_5finit',['qsearch_init',['../qsearch_8php.html#a0501887b95bd8fa21018b2936a668894',1,'qsearch.php']]],
['queue_5frun',['queue_run',['../queue_8php.html#af8c93de86d866c3200174c8450a0f341',1,'queue.php']]],
['quotelevel',['quotelevel',['../html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0',1,'html2plain.php']]]
];
diff --git a/doc/html/search/functions_72.js b/doc/html/search/functions_72.js
index e00c170d9..a37fda950 100644
--- a/doc/html/search/functions_72.js
+++ b/doc/html/search/functions_72.js
@@ -10,7 +10,9 @@ var searchData=
['red_5fzrl_5fcallback',['red_zrl_callback',['../items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b',1,'items.php']]],
['redbasic_5fform',['redbasic_form',['../view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793',1,'config.php']]],
['redbasic_5finit',['redbasic_init',['../redbasic_2php_2theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b',1,'theme.php']]],
- ['redir_5finit',['redir_init',['../redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5',1,'redir.php']]],
+ ['redchannellist',['RedChannelList',['../reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66',1,'reddav.php']]],
+ ['redcollectiondata',['RedCollectionData',['../reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266',1,'reddav.php']]],
+ ['redfiledata',['RedFileData',['../reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088',1,'reddav.php']]],
['reduce',['reduce',['../docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f',1,'docblox_errorchecker.php']]],
['ref_5fsession_5fclose',['ref_session_close',['../session_8php.html#a5e1c616e02b863d5450317d101366bb7',1,'session.php']]],
['ref_5fsession_5fdestroy',['ref_session_destroy',['../session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052',1,'session.php']]],
diff --git a/doc/html/search/functions_73.js b/doc/html/search/functions_73.js
index b62e60888..ab1a2ac62 100644
--- a/doc/html/search/functions_73.js
+++ b/doc/html/search/functions_73.js
@@ -2,18 +2,17 @@ var searchData=
[
['sanitise_5facl',['sanitise_acl',['../text_8php.html#a9fbeae13c9abd6e27cb4d8d1817f969c',1,'text.php']]],
['save',['save',['../classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac',1,'photo_driver']]],
- ['saved_5fsearches',['saved_searches',['../mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad',1,'network.php']]],
['saveimage',['saveImage',['../classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3',1,'photo_driver']]],
['scale_5fexternal_5fimages',['scale_external_images',['../include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f',1,'network.php']]],
['scaleimage',['scaleImage',['../classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0',1,'photo_driver']]],
['scaleimagesquare',['scaleImageSquare',['../classphoto__driver.html#a56634842b071b96502716e9843ea5361',1,'photo_driver']]],
['scaleimageup',['scaleImageUp',['../classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce',1,'photo_driver']]],
+ ['script_5fpath',['script_path',['../plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3',1,'plugin.php']]],
['search',['search',['../text_8php.html#a876e94892867019935b348b573299352',1,'text.php']]],
['search_5fac_5finit',['search_ac_init',['../search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138',1,'search_ac.php']]],
['search_5fcontent',['search_content',['../search_8php.html#ab2568591359edde5b483a6cd9a24b2cc',1,'search.php']]],
['search_5finit',['search_init',['../search_8php.html#acf19fd30f07f495781ca0d7a0a08b435',1,'search.php']]],
- ['search_5fpost',['search_post',['../search_8php.html#a230ec9681ddee3b5b8b40c8d550f32f7',1,'search.php']]],
- ['search_5fsaved_5fsearches',['search_saved_searches',['../search_8php.html#aa911f7c7f0cdb0284e35d0ed610f19c6',1,'search.php']]],
+ ['searchbox',['searchbox',['../text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447',1,'text.php']]],
['select_5ftimezone',['select_timezone',['../datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f',1,'datetime.php']]],
['send',['send',['../classenotify.html#afbc088860f534c6c05788b48cfc262c6',1,'enotify']]],
['send_5fmessage',['send_message',['../include_2message_8php.html#a751ffd6635022b2190f56154ee745752',1,'message.php']]],
@@ -43,12 +42,15 @@ var searchData=
['set_5fpconfig',['set_pconfig',['../include_2config_8php.html#a61591371cb18764138655d67dc817ab2',1,'config.php']]],
['set_5fperms',['set_perms',['../classApp.html#a557d7b779d8259027f4724ebf7b248dc',1,'App']]],
['set_5fprofile_5fowner',['set_profile_owner',['../classConversation.html#a8898bddc1e8990e81dab9a13a532cc93',1,'Conversation']]],
+ ['set_5ftemplate',['set_template',['../classItem.html#af1b73df9b7c4b927e26b7e243b491f42',1,'Item']]],
['set_5ftemplate_5fengine',['set_template_engine',['../classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7',1,'App']]],
['set_5fwidget',['set_widget',['../classApp.html#a123b903dfe5d3488cc68db3471d36fd2',1,'App']]],
+ ['set_5fwriteable',['set_writeable',['../classRedBrowser.html#a40fdbb9d9fe6c1243bbf135dd5b0a06f',1,'RedBrowser']]],
['set_5fxconfig',['set_xconfig',['../include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e',1,'config.php']]],
+ ['setbrowserplugin',['setBrowserPlugin',['../classRedBasicAuth.html#a358ddad4abb5aa8c1382cf49a907adbc',1,'RedBasicAuth']]],
+ ['setcurrentuser',['setCurrentUser',['../classRedBasicAuth.html#a072e8244a9a7f191b32d3db5ac94f857',1,'RedBasicAuth']]],
['setdimensions',['setDimensions',['../classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143',1,'photo_driver\setDimensions()'],['../classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e',1,'photo_gd\setDimensions()'],['../classphoto__imagick.html#af92901d252c1e6ab5b54eebedbed23bb',1,'photo_imagick\setDimensions()']]],
- ['setname',['setName',['../classRedInode.html#a3d76322f25d847b123b3df37a26dd04e',1,'RedInode']]],
- ['settings_5faside',['settings_aside',['../settings_8php.html#ae5aebccb006bee1300078576baaf5582',1,'settings.php']]],
+ ['setname',['setName',['../classRedFile.html#a38a82bfc1b30028ea6ac75923e90fa25',1,'RedFile']]],
['settings_5finit',['settings_init',['../settings_8php.html#a3a4cde287482fced008583f54ba2a722',1,'settings.php']]],
['settings_5fpost',['settings_post',['../settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586',1,'settings.php']]],
['setup_5fcontent',['setup_content',['../setup_8php.html#a88247384a96e14516f474d7af6a465c1',1,'setup.php']]],
@@ -72,6 +74,8 @@ var searchData=
['sort_5fthr_5fcreated_5frev',['sort_thr_created_rev',['../conversation_8php.html#a9cc2a679606da9e535a06433f9f553a0',1,'conversation.php']]],
['sources_5fcontent',['sources_content',['../sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7',1,'sources.php']]],
['sources_5fpost',['sources_post',['../sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e',1,'sources.php']]],
+ ['sslify',['sslify',['../text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9',1,'text.php']]],
+ ['sslify_5finit',['sslify_init',['../sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316',1,'sslify.php']]],
['starred_5finit',['starred_init',['../starred_8php.html#a63024fb418c678e49fd535e3752d349a',1,'starred.php']]],
['startup',['startup',['../boot_8php.html#aca47505b8732177f52bb2d647eb2741c',1,'boot.php']]],
['status_5feditor',['status_editor',['../conversation_8php.html#a2a7d541854bba755eb8ada59af7dcb1a',1,'conversation.php']]],
@@ -83,7 +87,6 @@ var searchData=
['stringify_5farray_5felms',['stringify_array_elms',['../text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13',1,'text.php']]],
['stripdcode_5fbr_5fcb',['stripdcode_br_cb',['../bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93',1,'bb2diaspora.php']]],
['subthread_5fcontent',['subthread_content',['../subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3',1,'subthread.php']]],
- ['suggest_5faside',['suggest_aside',['../suggest_8php.html#a4df91c84594d51ba56b5918de414230d',1,'suggest.php']]],
['suggest_5fcontent',['suggest_content',['../suggest_8php.html#a58748a8235d4523f8333847f3e42dd91',1,'suggest.php']]],
['suggest_5finit',['suggest_init',['../suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c',1,'suggest.php']]],
['suggestion_5fquery',['suggestion_query',['../socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329',1,'socgraph.php']]],
diff --git a/doc/html/search/functions_74.js b/doc/html/search/functions_74.js
index 6b9dca5d7..7cef73235 100644
--- a/doc/html/search/functions_74.js
+++ b/doc/html/search/functions_74.js
@@ -31,5 +31,7 @@ var searchData=
['toggle_5fsafesearch_5finit',['toggle_safesearch_init',['../toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79',1,'toggle_safesearch.php']]],
['toggle_5ftheme',['toggle_theme',['../admin_8php.html#af81f081851791cd15e49e8ff6722dc27',1,'admin.php']]],
['tryoembed',['tryoembed',['../bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7',1,'bbcode.php']]],
+ ['tryzrlaudio',['tryzrlaudio',['../bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322',1,'bbcode.php']]],
+ ['tryzrlvideo',['tryzrlvideo',['../bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8',1,'bbcode.php']]],
['tt',['tt',['../language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d',1,'language.php']]]
];
diff --git a/doc/html/search/functions_75.js b/doc/html/search/functions_75.js
index 2345f8a3c..ef023b551 100644
--- a/doc/html/search/functions_75.js
+++ b/doc/html/search/functions_75.js
@@ -17,6 +17,7 @@ var searchData=
['update_5fmodtime',['update_modtime',['../zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd',1,'zot.php']]],
['update_5fnetwork_5fcontent',['update_network_content',['../update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41',1,'update_network.php']]],
['update_5fqueue_5ftime',['update_queue_time',['../queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1',1,'queue_fn.php']]],
+ ['update_5fremote_5fid',['update_remote_id',['../items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6',1,'items.php']]],
['update_5fsearch_5fcontent',['update_search_content',['../update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52',1,'update_search.php']]],
['update_5fsuggestions',['update_suggestions',['../socgraph_8php.html#a790690bb1a1d02483fe31632a160144d',1,'socgraph.php']]],
['upgrade_5fbool_5fmessage',['upgrade_bool_message',['../plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d',1,'plugin.php']]],
diff --git a/doc/html/search/functions_76.js b/doc/html/search/functions_76.js
index 562e0412b..7e2c42234 100644
--- a/doc/html/search/functions_76.js
+++ b/doc/html/search/functions_76.js
@@ -8,7 +8,6 @@ var searchData=
['var_5freplace',['var_replace',['../classTemplate.html#abbc484016ddf5d818f55b823cae6feb0',1,'Template']]],
['vcard_5ffrom_5fxchan',['vcard_from_xchan',['../Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960',1,'Contact.php']]],
['view_5finit',['view_init',['../view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e',1,'view.php']]],
- ['viewconnections_5faside',['viewconnections_aside',['../viewconnections_8php.html#ae330cea4cddd091559659f8b469617b6',1,'viewconnections.php']]],
['viewconnections_5fcontent',['viewconnections_content',['../viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776',1,'viewconnections.php']]],
['viewconnections_5finit',['viewconnections_init',['../viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330',1,'viewconnections.php']]],
['viewsrc_5fcontent',['viewsrc_content',['../viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4',1,'viewsrc.php']]],
diff --git a/doc/html/search/functions_77.js b/doc/html/search/functions_77.js
index 85ab44b93..90b12c339 100644
--- a/doc/html/search/functions_77.js
+++ b/doc/html/search/functions_77.js
@@ -8,7 +8,28 @@ var searchData=
['webpages_5fcontent',['webpages_content',['../webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d',1,'webpages.php']]],
['wfinger_5finit',['wfinger_init',['../wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3',1,'wfinger.php']]],
['what_5fnext',['what_next',['../setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58',1,'setup.php']]],
+ ['widget_5faffinity',['widget_affinity',['../widgets_8php.html#add9b24d3304e529a7975e96122315554',1,'widgets.php']]],
+ ['widget_5farchive',['widget_archive',['../widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65',1,'widgets.php']]],
+ ['widget_5fcategories',['widget_categories',['../widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b',1,'widgets.php']]],
+ ['widget_5fcollections',['widget_collections',['../widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f',1,'widgets.php']]],
+ ['widget_5fdesign_5ftools',['widget_design_tools',['../widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b',1,'widgets.php']]],
+ ['widget_5fdirsafemode',['widget_dirsafemode',['../widgets_8php.html#a268b01ce1ab8fe2cb346cb769b9d1091',1,'widgets.php']]],
+ ['widget_5fdirsort',['widget_dirsort',['../widgets_8php.html#a95c06bc9be133e89768746302d2ac395',1,'widgets.php']]],
+ ['widget_5fdirtags',['widget_dirtags',['../widgets_8php.html#a08035db02ff6a23260146b4c64153422',1,'widgets.php']]],
+ ['widget_5ffiler',['widget_filer',['../widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0',1,'widgets.php']]],
+ ['widget_5ffindpeople',['widget_findpeople',['../widgets_8php.html#ade630b19fb4c622b7b2f6f8ef89eefa2',1,'widgets.php']]],
+ ['widget_5ffollow',['widget_follow',['../widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd',1,'widgets.php']]],
+ ['widget_5ffullprofile',['widget_fullprofile',['../widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165',1,'widgets.php']]],
+ ['widget_5fmailmenu',['widget_mailmenu',['../widgets_8php.html#afa2e55a78f95667a6da082efac7fec74',1,'widgets.php']]],
+ ['widget_5fmenu_5fpreview',['widget_menu_preview',['../widgets_8php.html#a3bdfb81bf9a8ddf219924fa7eaf22013',1,'widgets.php']]],
+ ['widget_5fnotes',['widget_notes',['../widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256',1,'widgets.php']]],
+ ['widget_5fphoto_5falbums',['widget_photo_albums',['../widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e',1,'widgets.php']]],
['widget_5fprofile',['widget_profile',['../widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923',1,'widgets.php']]],
+ ['widget_5fsavedsearch',['widget_savedsearch',['../widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8',1,'widgets.php']]],
+ ['widget_5fsettings_5fmenu',['widget_settings_menu',['../widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01',1,'widgets.php']]],
+ ['widget_5fsuggestions',['widget_suggestions',['../widgets_8php.html#a0d404276fedc59f5038cf5c085028326',1,'widgets.php']]],
['widget_5ftagcloud',['widget_tagcloud',['../widgets_8php.html#a6dbc227aac750774284ee39c45f0a200',1,'widgets.php']]],
+ ['widget_5ftagcloud_5fwall',['widget_tagcloud_wall',['../widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653',1,'widgets.php']]],
+ ['widget_5fvcard',['widget_vcard',['../widgets_8php.html#abe03366fd22fd27d683518fa0765da50',1,'widgets.php']]],
['writepages_5fwidget',['writepages_widget',['../page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f',1,'page_widgets.php']]]
];
diff --git a/doc/html/search/functions_78.js b/doc/html/search/functions_78.js
index 038aa6810..97e977ea8 100644
--- a/doc/html/search/functions_78.js
+++ b/doc/html/search/functions_78.js
@@ -8,5 +8,6 @@ var searchData=
['xml_5fstatus',['xml_status',['../include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6',1,'network.php']]],
['xmlify',['xmlify',['../text_8php.html#aaed4413ed8918838b517e3b2fafaea0d',1,'text.php']]],
['xpost_5fto_5fhtml2bbcode',['xpost_to_html2bbcode',['../post__to__red_8php.html#af2713018a2dc97e88f121fc6215beb66',1,'post_to_red.php']]],
- ['xrd_5finit',['xrd_init',['../xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270',1,'xrd.php']]]
+ ['xrd_5finit',['xrd_init',['../xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270',1,'xrd.php']]],
+ ['xref_5finit',['xref_init',['../xref_8php.html#a9bee399213b8de8226b0d60834307473',1,'xref.php']]]
];
diff --git a/doc/html/search/variables_24.js b/doc/html/search/variables_24.js
index 529ec0c2d..f52fc6283 100644
--- a/doc/html/search/variables_24.js
+++ b/doc/html/search/variables_24.js
@@ -9,20 +9,22 @@ var searchData=
['_24argv',['$argv',['../classApp.html#ab3da757abe5cb45bf88f07cc51a73b58',1,'App']]],
['_24arr',['$arr',['../extract_8php.html#a63bb4c41bc532baacf6a4976cfaa0feb',1,'extract.php']]],
['_24aside',['$aside',['../minimalisticdarkness_8php.html#a6e5d97615c6faef5dbffe04b8024ceaf',1,'minimalisticdarkness.php']]],
- ['_24attach',['$attach',['../classRedInode.html#a7b317eb1230930154107ed51e54193f5',1,'RedInode']]],
- ['_24auth',['$auth',['../classRedDirectory.html#a9616af16cd19a18a6afebebcc2881c44',1,'RedDirectory']]],
+ ['_24auth',['$auth',['../classRedDirectory.html#a9616af16cd19a18a6afebebcc2881c44',1,'RedDirectory\$auth()'],['../classRedFile.html#a4b5d0e33f919c6c175b30a55de6263f2',1,'RedFile\$auth()'],['../classRedBrowser.html#ab6d6d1e2a67e06b344a4cede1bd00b35',1,'RedBrowser\$auth()']]],
['_24background_5fimage',['$background_image',['../redbasic_2php_2style_8php.html#a339624aeef6604a2f00209a3962c6e1c',1,'style.php']]],
['_24banner_5fcolour',['$banner_colour',['../redbasic_2php_2style_8php.html#ae587aa6949ab6e4aa77a591e60f67ee0',1,'style.php']]],
['_24baseurl',['$baseurl',['../classApp.html#ad5175536561021548ae8188e24c7b80c',1,'App']]],
['_24bgcolour',['$bgcolour',['../redbasic_2php_2style_8php.html#a0bdce350cf14bac44976e786d1be6574',1,'style.php']]],
['_24body_5ffont_5fsize',['$body_font_size',['../redbasic_2php_2style_8php.html#ad78cb8a1793834626d73aca22a1501f8',1,'style.php']]],
['_24bodyclass',['$bodyclass',['../theme_2blogga_2php_2default_8php.html#a720581ae288aa09511670563e4205a4a',1,'$bodyclass():&#160;default.php'],['../theme_2blogga_2view_2theme_2blog_2default_8php.html#a720581ae288aa09511670563e4205a4a',1,'$bodyclass():&#160;default.php']]],
+ ['_24browser',['$browser',['../classRedBasicAuth.html#af14337f1baad407f8a85d48205c0f30e',1,'RedBasicAuth']]],
['_24cached_5fprofile_5fimage',['$cached_profile_image',['../classApp.html#abe0e4fa91097f7a6588e1213a834121c',1,'App']]],
['_24cached_5fprofile_5fpicdate',['$cached_profile_picdate',['../classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e',1,'App']]],
['_24called_5fapi',['$called_api',['../include_2api_8php.html#aa62b15a6bbb280e86b98132eb214013d',1,'api.php']]],
['_24category',['$category',['../classApp.html#a5cfc098c061b7d765add58fd2ca97445',1,'App']]],
['_24channel',['$channel',['../classApp.html#a050b0696118da47e8b30859ad1a2c149',1,'App\$channel()'],['../classItem.html#acc32426c0f465391be8a99ad810c7b8e',1,'Item\$channel()'],['../php_2theme__init_8php.html#a54f32c086fe209c99769a4c4047dd864',1,'$channel():&#160;theme_init.php']]],
- ['_24channel_5fid',['$channel_id',['../classRedDirectory.html#ae624dcaa4d73a517f4b1616d33df690d',1,'RedDirectory']]],
+ ['_24channel_5fhash',['$channel_hash',['../classRedBasicAuth.html#ad5a3ea4dc4783b242d9dc6e76478b6ef',1,'RedBasicAuth']]],
+ ['_24channel_5fid',['$channel_id',['../classRedBasicAuth.html#a2dab393650d1573e3515969a153e8354',1,'RedBasicAuth']]],
+ ['_24channel_5fname',['$channel_name',['../classRedBasicAuth.html#a438ab125b6ef46581947e35d49cdebac',1,'RedBasicAuth']]],
['_24children',['$children',['../classItem.html#a80dcd0fb7673776c0967839d429c2a0f',1,'Item']]],
['_24cid',['$cid',['../classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0',1,'App']]],
['_24cipher',['$cipher',['../classConversation.html#aa95c1a62af38bdfba7add9549bec083b',1,'Conversation']]],
@@ -45,14 +47,15 @@ var searchData=
['_24db',['$db',['../classApp.html#a330410a288f3393d53772f5e98f857ea',1,'App\$db()'],['../classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6',1,'dba_driver\$db()']]],
['_24debug',['$debug',['../classdba__driver.html#af48e2afeded5285766bf92e22123ed03',1,'dba_driver\$debug()'],['../classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a',1,'Template\$debug()']]],
['_24dir',['$dir',['../docblox__errorchecker_8php.html#a1659f0a629d408e0f849dbe4ee061e62',1,'docblox_errorchecker.php']]],
- ['_24dir_5fkey',['$dir_key',['../classRedDirectory.html#a8d5df814b2f825dd14c628a51b5829b5',1,'RedDirectory']]],
['_24dirs',['$dirs',['../typo_8php.html#a1b709c1d79631ebc8320b41bda028b54',1,'typo.php']]],
['_24dirstack',['$dirstack',['../docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6',1,'docblox_errorchecker.php']]],
['_24done',['$done',['../classTemplate.html#abda4c8d049f70553338eae7c905e9d5c',1,'Template']]],
['_24error',['$error',['../classApp.html#ac1a8b2cd40609b231a560201a08852ba',1,'App\$error()'],['../classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c',1,'dba_driver\$error()']]],
+ ['_24ext_5fpath',['$ext_path',['../classRedDirectory.html#a0f113244cd85c17848df991001d024f4',1,'RedDirectory']]],
['_24filelist',['$filelist',['../docblox__errorchecker_8php.html#a648a570b0f9f6e0e51b7267647c4b09b',1,'docblox_errorchecker.php']]],
['_24filename',['$filename',['../classFriendicaSmarty.html#a33fabbd4d6eef869df496adf357ae690',1,'FriendicaSmarty']]],
['_24files',['$files',['../extract_8php.html#a9590b15215a21e9b42eb546aeef79704',1,'$files():&#160;extract.php'],['../tpldebug_8php.html#a5358407d65f2ca826f96356a6642d149',1,'$files():&#160;tpldebug.php'],['../typo_8php.html#a9590b15215a21e9b42eb546aeef79704',1,'$files():&#160;typo.php']]],
+ ['_24folder_5fhash',['$folder_hash',['../classRedDirectory.html#aa10254abf177bb2a0e4a88495725e09b',1,'RedDirectory']]],
['_24font_5fcolour',['$font_colour',['../redbasic_2php_2style_8php.html#a68e3ff836ec87ae1370c9f4a12c21c6b',1,'style.php']]],
['_24font_5fsize',['$font_size',['../redbasic_2php_2style_8php.html#afcbcf57d0b90d2e4226c2e8a1171befc',1,'style.php']]],
['_24force_5fmax_5fitems',['$force_max_items',['../classApp.html#ae3f47830543d0d902f66913def8db66b',1,'App']]],
@@ -83,16 +86,19 @@ var searchData=
['_24mode',['$mode',['../classConversation.html#afb03d1648dbfafe62caa1e30f32f2b1a',1,'Conversation']]],
['_24module',['$module',['../classApp.html#a9bf62f8e39585c0aa48fcffc3bf3484d',1,'App']]],
['_24module_5floaded',['$module_loaded',['../classApp.html#a6e4f0fbfa3cf6c11baebe22a03db6165',1,'App']]],
- ['_24name',['$name',['../classFriendicaSmartyEngine.html#aaba6a42101bc9ae32e36b7fa2e243f02',1,'FriendicaSmartyEngine\$name()'],['../classTemplate.html#a6eb301a51cc94d8b94f4548fbad85eae',1,'Template\$name()']]],
+ ['_24name',['$name',['../classFriendicaSmartyEngine.html#aaba6a42101bc9ae32e36b7fa2e243f02',1,'FriendicaSmartyEngine\$name()'],['../classRedFile.html#acc48c05cd5a70951cb3c615ad84f03ba',1,'RedFile\$name()'],['../classTemplate.html#a6eb301a51cc94d8b94f4548fbad85eae',1,'Template\$name()']]],
['_24nav_5fcolour',['$nav_colour',['../redbasic_2php_2style_8php.html#a8fdd5874587a9ad86fb05ed0be265649',1,'style.php']]],
['_24nav_5fmin_5fopacity',['$nav_min_opacity',['../redbasic_2php_2style_8php.html#ab5ec5703848e0132f8a8f3d3a53a58e1',1,'style.php']]],
['_24nav_5fpercent_5fmin_5fopacity',['$nav_percent_min_opacity',['../redbasic_2php_2style_8php.html#a01c151bf47f7da2b979aaa4cb868da4c',1,'style.php']]],
['_24nav_5fsel',['$nav_sel',['../classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c',1,'App']]],
['_24needed',['$needed',['../docblox__errorchecker_8php.html#a852004caba0a34390297a079f4aaac73',1,'docblox_errorchecker.php']]],
['_24nodes',['$nodes',['../classTemplate.html#a8f4d17e49f42b876a97364c13fb572d1',1,'Template']]],
- ['_24observer',['$observer',['../classApp.html#a4ffe529fb14389f7fedf5fdc5f722e7f',1,'App\$observer()'],['../classConversation.html#a8748445aa26047ebed5141f3c3cbc244',1,'Conversation\$observer()']]],
+ ['_24observer',['$observer',['../classApp.html#a4ffe529fb14389f7fedf5fdc5f722e7f',1,'App\$observer()'],['../classConversation.html#a8748445aa26047ebed5141f3c3cbc244',1,'Conversation\$observer()'],['../classRedBasicAuth.html#aa75dc43b59adc98e38a98517d3fd35d1',1,'RedBasicAuth\$observer()']]],
+ ['_24os_5fpath',['$os_path',['../classRedDirectory.html#a3c148c07ad909985125aa4926d8d0021',1,'RedDirectory']]],
['_24out',['$out',['../php2po_8php.html#a48cb304902320d173a4eaa41543327b9',1,'php2po.php']]],
+ ['_24owner_5fid',['$owner_id',['../classRedBasicAuth.html#a09c1488a0b290f5a54dc15180c5690d7',1,'RedBasicAuth']]],
['_24owner_5fname',['$owner_name',['../classItem.html#a9594df6014b0b6f45364ea7a34510130',1,'Item']]],
+ ['_24owner_5fnick',['$owner_nick',['../classRedBasicAuth.html#a8d09b8d784cc810a0b3be580d05106a7',1,'RedBasicAuth']]],
['_24owner_5fphoto',['$owner_photo',['../classItem.html#a078f95b4134ce3a1df344cf8d386f986',1,'Item']]],
['_24owner_5furl',['$owner_url',['../classItem.html#afa54851df82962c7c42dea3cc9f5c92c',1,'Item']]],
['_24page',['$page',['../classApp.html#a4b67935096f66d1f14b657399a8461ac',1,'App']]],
@@ -108,6 +114,7 @@ var searchData=
['_24pmenu_5freply',['$pmenu_reply',['../redbasic_2php_2style_8php.html#a9b489f1c595b867212d30eca0c85b38c',1,'style.php']]],
['_24pmenu_5ftop',['$pmenu_top',['../redbasic_2php_2style_8php.html#ac98bd8264411bd207a5740d08e81a158',1,'style.php']]],
['_24pofile',['$pofile',['../php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1',1,'php2po.php']]],
+ ['_24poi',['$poi',['../classApp.html#a1936f2afce0dc0d1bbed15ae1f2ee81a',1,'App']]],
['_24prepared_5fitem',['$prepared_item',['../classConversation.html#a5b6adbb2fe24f0f53d6c22660dff91b2',1,'Conversation']]],
['_24preview',['$preview',['../classConversation.html#ae9937f9e0f3d927acc2bed46cc72e9ae',1,'Conversation']]],
['_24profile',['$profile',['../classApp.html#a57d041fcc003d08c127dfa99a02bc192',1,'App']]],
@@ -122,6 +129,7 @@ var searchData=
['_24replace',['$replace',['../classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10',1,'Template']]],
['_24reply_5fphoto',['$reply_photo',['../redbasic_2php_2style_8php.html#a0b070f2c9140a7a12a0b1f88601a29e4',1,'style.php']]],
['_24res',['$res',['../docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5',1,'docblox_errorchecker.php']]],
+ ['_24root_5fdir',['$root_dir',['../classRedDirectory.html#ad87c514a307ec97ba0f1372e9bcfa6a4',1,'RedDirectory']]],
['_24s',['$s',['../extract_8php.html#a50b05cf2e02ef0b67fcad97106dd7634',1,'extract.php']]],
['_24schema',['$schema',['../redbasic_2php_2style_8php.html#a83022b1d70799d2bde3d64dca9cb40ee',1,'style.php']]],
['_24scheme',['$scheme',['../classApp.html#ad082d63acc078e5bf23825a03bdd6a76',1,'App']]],
@@ -144,7 +152,7 @@ var searchData=
['_24theme_5fthread_5fallow',['$theme_thread_allow',['../classApp.html#a487332f8de40414ca1a54a4265570b70',1,'App']]],
['_24threaded',['$threaded',['../classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2',1,'Item']]],
['_24threads',['$threads',['../classConversation.html#a41f4a549e6a99f98935c4742addd22c8',1,'Conversation']]],
- ['_24timezone',['$timezone',['../classApp.html#ab35b01a366a2ea95725e97af278f87ab',1,'App']]],
+ ['_24timezone',['$timezone',['../classApp.html#ab35b01a366a2ea95725e97af278f87ab',1,'App\$timezone()'],['../classRedBasicAuth.html#a2d0246ed446fd5e55c17938b4ce6ac47',1,'RedBasicAuth\$timezone()']]],
['_24toolicon_5factivecolour',['$toolicon_activecolour',['../redbasic_2php_2style_8php.html#acfd00ec469ca3c5e8bfac787573093f3',1,'style.php']]],
['_24toolicon_5fcolour',['$toolicon_colour',['../redbasic_2php_2style_8php.html#a4161f6b8aa923f67e53f54dfb6554cdb',1,'style.php']]],
['_24top_5fphoto',['$top_photo',['../redbasic_2php_2style_8php.html#a810142b4bdd35a1d377ab279b02b47eb',1,'style.php']]],
diff --git a/doc/html/search/variables_61.js b/doc/html/search/variables_61.js
index 04c1a72d8..b5537bddf 100644
--- a/doc/html/search/variables_61.js
+++ b/doc/html/search/variables_61.js
@@ -18,6 +18,7 @@ var searchData=
['account_5fremoved',['ACCOUNT_REMOVED',['../boot_8php.html#ab5ddbe69d3d03acd06e1fb281488cb78',1,'boot.php']]],
['account_5frole_5fadmin',['ACCOUNT_ROLE_ADMIN',['../boot_8php.html#ac8400313df2c831653f9036f71ebd86d',1,'boot.php']]],
['account_5frole_5fallowcode',['ACCOUNT_ROLE_ALLOWCODE',['../boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688',1,'boot.php']]],
+ ['account_5frole_5fsystem',['ACCOUNT_ROLE_SYSTEM',['../boot_8php.html#a7c2eb822d50e1554bf5c32861f36342b',1,'boot.php']]],
['account_5funverified',['ACCOUNT_UNVERIFIED',['../boot_8php.html#af3a4271630aabd8be592213f925d6a36',1,'boot.php']]],
['activity_5fdislike',['ACTIVITY_DISLIKE',['../boot_8php.html#a0e57f846e6d47a308feced0f7274f178',1,'boot.php']]],
['activity_5ffavorite',['ACTIVITY_FAVORITE',['../boot_8php.html#a3e2ea123d29a72012db1241f96280b0e',1,'boot.php']]],
diff --git a/doc/html/search/variables_69.js b/doc/html/search/variables_69.js
index c71968467..dc5368a10 100644
--- a/doc/html/search/variables_69.js
+++ b/doc/html/search/variables_69.js
@@ -2,6 +2,7 @@ var searchData=
[
['if',['if',['../php2po_8php.html#a45b05625748f412ec97afcd61cf7980b',1,'if():&#160;php2po.php'],['../php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762',1,'if():&#160;default.php'],['../full_8php.html#a6fac1b4b8cdfde06ea1b7713479e92db',1,'if():&#160;full.php'],['../apw_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a',1,'if():&#160;style.php'],['../redbasic_2php_2style_8php.html#a883f9f14e205f7aa7de02c14df67b40a',1,'if():&#160;style.php']]],
['item_5fblocked',['ITEM_BLOCKED',['../boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f',1,'boot.php']]],
+ ['item_5fbug',['ITEM_BUG',['../boot_8php.html#a87b0f279f8413c7e4d805c5d85f20d34',1,'boot.php']]],
['item_5fbuildblock',['ITEM_BUILDBLOCK',['../boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf',1,'boot.php']]],
['item_5fdelayed_5fpublish',['ITEM_DELAYED_PUBLISH',['../boot_8php.html#ac890557fedc5b5a3b1d996249b1e1a20',1,'boot.php']]],
['item_5fdeleted',['ITEM_DELETED',['../boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49',1,'boot.php']]],
diff --git a/doc/html/search/variables_6d.js b/doc/html/search/variables_6d.js
index 4996247cb..68833d773 100644
--- a/doc/html/search/variables_6d.js
+++ b/doc/html/search/variables_6d.js
@@ -8,6 +8,8 @@ var searchData=
['mail_5fseen',['MAIL_SEEN',['../boot_8php.html#a1fbb93cf030f07391f22cc2948744869',1,'boot.php']]],
['max_5fimage_5flength',['MAX_IMAGE_LENGTH',['../boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa',1,'boot.php']]],
['max_5flikers',['MAX_LIKERS',['../boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd',1,'boot.php']]],
+ ['menu_5fbookmark',['MENU_BOOKMARK',['../boot_8php.html#a458e19af801bc4b0d1f1ce1a6d9e857e',1,'boot.php']]],
['menu_5fitem_5fnewwin',['MENU_ITEM_NEWWIN',['../boot_8php.html#ad11f30a6590d3d77f0c5e1e3909af8f5',1,'boot.php']]],
- ['menu_5fitem_5fzid',['MENU_ITEM_ZID',['../boot_8php.html#aed0dfb35f7dd00dc9e4f868ea7f7ff53',1,'boot.php']]]
+ ['menu_5fitem_5fzid',['MENU_ITEM_ZID',['../boot_8php.html#aed0dfb35f7dd00dc9e4f868ea7f7ff53',1,'boot.php']]],
+ ['menu_5fsystem',['MENU_SYSTEM',['../boot_8php.html#a718a801b0be6cbaef5e519516da12721',1,'boot.php']]]
];
diff --git a/doc/html/search/variables_70.js b/doc/html/search/variables_70.js
index 333736820..6fe926c34 100644
--- a/doc/html/search/variables_70.js
+++ b/doc/html/search/variables_70.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['page',['page',['../mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'page():&#160;mod_import.php'],['../mod__new__channel_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'page():&#160;mod_new_channel.php'],['../mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'page():&#160;mod_register.php']]],
+ ['page',['page',['../mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'mod_import.php']]],
['page_5fadult',['PAGE_ADULT',['../boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32',1,'boot.php']]],
['page_5fapplication',['PAGE_APPLICATION',['../boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed',1,'boot.php']]],
['page_5fautoconnect',['PAGE_AUTOCONNECT',['../boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9',1,'boot.php']]],
@@ -9,6 +9,7 @@ var searchData=
['page_5fnormal',['PAGE_NORMAL',['../boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3',1,'boot.php']]],
['page_5fpremium',['PAGE_PREMIUM',['../boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8',1,'boot.php']]],
['page_5fremoved',['PAGE_REMOVED',['../boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6',1,'boot.php']]],
+ ['page_5fsystem',['PAGE_SYSTEM',['../boot_8php.html#a6ee7a72d558d1851bbb9e3cdde377932',1,'boot.php']]],
['path',['path',['../namespacefriendica-to-smarty-tpl.html#a68d15934660cd1f4301ce251b1646f09',1,'friendica-to-smarty-tpl.path()'],['../namespaceupdatetpl.html#ae694f5e1f25f8a92a945eb90c432dfe6',1,'updatetpl.path()']]],
['perms_5fa_5fdelegate',['PERMS_A_DELEGATE',['../boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b',1,'boot.php']]],
['perms_5fa_5frepublish',['PERMS_A_REPUBLISH',['../boot_8php.html#aae6c941bde5fd6fce07e51dba7326ead',1,'boot.php']]],
diff --git a/doc/html/search/variables_78.js b/doc/html/search/variables_78.js
index ef8c3194c..75be51da5 100644
--- a/doc/html/search/variables_78.js
+++ b/doc/html/search/variables_78.js
@@ -3,6 +3,8 @@ var searchData=
['xchan_5fflags_5fcensored',['XCHAN_FLAGS_CENSORED',['../boot_8php.html#accd6f36cc9f40225cbd720e4d12a7c6e',1,'boot.php']]],
['xchan_5fflags_5fdeleted',['XCHAN_FLAGS_DELETED',['../boot_8php.html#a9ea1290e00c6d40684892047f2c778a9',1,'boot.php']]],
['xchan_5fflags_5fhidden',['XCHAN_FLAGS_HIDDEN',['../boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2',1,'boot.php']]],
+ ['xchan_5fflags_5fnormal',['XCHAN_FLAGS_NORMAL',['../boot_8php.html#a8fdcc4ffb365a3267bd02ce8a8d466d6',1,'boot.php']]],
['xchan_5fflags_5forphan',['XCHAN_FLAGS_ORPHAN',['../boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f',1,'boot.php']]],
- ['xchan_5fflags_5fselfcensored',['XCHAN_FLAGS_SELFCENSORED',['../boot_8php.html#a5a681a672e007cdc22b43345d71f07c6',1,'boot.php']]]
+ ['xchan_5fflags_5fselfcensored',['XCHAN_FLAGS_SELFCENSORED',['../boot_8php.html#a5a681a672e007cdc22b43345d71f07c6',1,'boot.php']]],
+ ['xchan_5fflags_5fsystem',['XCHAN_FLAGS_SYSTEM',['../boot_8php.html#afef254290febac854c85fc698d9483a6',1,'boot.php']]]
];
diff --git a/doc/html/search_8php.html b/doc/html/search_8php.html
index 74adf4da0..ec93dbf2b 100644
--- a/doc/html/search_8php.html
+++ b/doc/html/search_8php.html
@@ -112,12 +112,8 @@ $(document).ready(function(){initNavTree('search_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
-<tr class="memitem:aa911f7c7f0cdb0284e35d0ed610f19c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="search_8php.html#aa911f7c7f0cdb0284e35d0ed610f19c6">search_saved_searches</a> ()</td></tr>
-<tr class="separator:aa911f7c7f0cdb0284e35d0ed610f19c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf19fd30f07f495781ca0d7a0a08b435"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init</a> (&amp;$a)</td></tr>
<tr class="separator:acf19fd30f07f495781ca0d7a0a08b435"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a230ec9681ddee3b5b8b40c8d550f32f7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="search_8php.html#a230ec9681ddee3b5b8b40c8d550f32f7">search_post</a> (&amp;$a)</td></tr>
-<tr class="separator:a230ec9681ddee3b5b8b40c8d550f32f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2568591359edde5b483a6cd9a24b2cc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content</a> (&amp;$a, $update=0, $load=false)</td></tr>
<tr class="separator:ab2568591359edde5b483a6cd9a24b2cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -172,39 +168,6 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a230ec9681ddee3b5b8b40c8d550f32f7"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">search_post </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aa911f7c7f0cdb0284e35d0ed610f19c6"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">search_saved_searches </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Referenced by <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init()</a>.</p>
-
-</div>
-</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/search_8php.js b/doc/html/search_8php.js
index ffe2bd8fc..254c8c72e 100644
--- a/doc/html/search_8php.js
+++ b/doc/html/search_8php.js
@@ -1,7 +1,5 @@
var search_8php =
[
[ "search_content", "search_8php.html#ab2568591359edde5b483a6cd9a24b2cc", null ],
- [ "search_init", "search_8php.html#acf19fd30f07f495781ca0d7a0a08b435", null ],
- [ "search_post", "search_8php.html#a230ec9681ddee3b5b8b40c8d550f32f7", null ],
- [ "search_saved_searches", "search_8php.html#aa911f7c7f0cdb0284e35d0ed610f19c6", null ]
+ [ "search_init", "search_8php.html#acf19fd30f07f495781ca0d7a0a08b435", null ]
]; \ No newline at end of file
diff --git a/doc/html/security_8php.html b/doc/html/security_8php.html
index b1263fa59..e2c19b6b5 100644
--- a/doc/html/security_8php.html
+++ b/doc/html/security_8php.html
@@ -323,7 +323,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, and <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, and <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>.</p>
</div>
</div>
@@ -361,7 +361,7 @@ Functions</h2></td></tr>
<p>Profile owner - everything is visible</p>
<p>Authenticated visitor. Unless pre-verified, check that the contact belongs to this $owner_id and load the groups the visitor belongs to. If pre-verified, the caller is expected to have already done this and passed the groups into this function.</p>
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
</div>
</div>
@@ -399,7 +399,7 @@ Functions</h2></td></tr>
<p>Profile owner - everything is visible</p>
<p>Authenticated visitor. Unless pre-verified, check that the contact belongs to this $owner_id and load the groups the visitor belongs to. If pre-verified, the caller is expected to have already done this and passed the groups into this function.</p>
-<p>Referenced by <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, and <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>.</p>
+<p>Referenced by <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2menu_8php.html#a7fb5f4847bc94436e43be4b81478febc">bookmarks_menu_fetch()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, and <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>.</p>
</div>
</div>
diff --git a/doc/html/settings_8php.html b/doc/html/settings_8php.html
index 8cd9e7063..cb50bbc52 100644
--- a/doc/html/settings_8php.html
+++ b/doc/html/settings_8php.html
@@ -116,8 +116,6 @@ Functions</h2></td></tr>
<tr class="separator:a39abc76ff5459c57e3b957664f273f18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a4cde287482fced008583f54ba2a722"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings_init</a> (&amp;$a)</td></tr>
<tr class="separator:a3a4cde287482fced008583f54ba2a722"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae5aebccb006bee1300078576baaf5582"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings_aside</a> (&amp;$a)</td></tr>
-<tr class="separator:ae5aebccb006bee1300078576baaf5582"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7ee94d88ac088edb04ccf3a26de3586"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post</a> (&amp;$a)</td></tr>
<tr class="separator:aa7ee94d88ac088edb04ccf3a26de3586"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -140,22 +138,6 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="ae5aebccb006bee1300078576baaf5582"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">settings_aside </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="a3a4cde287482fced008583f54ba2a722"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/settings_8php.js b/doc/html/settings_8php.js
index facd5da67..9185251bc 100644
--- a/doc/html/settings_8php.js
+++ b/doc/html/settings_8php.js
@@ -1,7 +1,6 @@
var settings_8php =
[
[ "get_theme_config_file", "settings_8php.html#a39abc76ff5459c57e3b957664f273f18", null ],
- [ "settings_aside", "settings_8php.html#ae5aebccb006bee1300078576baaf5582", null ],
[ "settings_init", "settings_8php.html#a3a4cde287482fced008583f54ba2a722", null ],
[ "settings_post", "settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586", null ]
]; \ No newline at end of file
diff --git a/doc/html/setup_8php.html b/doc/html/setup_8php.html
index ab0d78658..3537830f1 100644
--- a/doc/html/setup_8php.html
+++ b/doc/html/setup_8php.html
@@ -133,6 +133,8 @@ Functions</h2></td></tr>
<tr class="separator:a5ad92c0857d1dadd6b60a9a557159c9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd8b0b3ade1507c45325caf377bf459d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#afd8b0b3ade1507c45325caf377bf459d">check_smarty3</a> (&amp;$checks)</td></tr>
<tr class="separator:afd8b0b3ade1507c45325caf377bf459d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4b71369a25021d59247c917e98d8246"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#ab4b71369a25021d59247c917e98d8246">check_store</a> (&amp;$checks)</td></tr>
+<tr class="separator:ab4b71369a25021d59247c917e98d8246"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c3f3b671381f6dccd924b8ecdfc56c4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess</a> (&amp;$checks)</td></tr>
<tr class="separator:a0c3f3b671381f6dccd924b8ecdfc56c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe405d227ba7232971964a706d4f3bce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#abe405d227ba7232971964a706d4f3bce">manual_config</a> (&amp;$a)</td></tr>
@@ -193,7 +195,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>checks : array passed to template title : string status : boolean required : boolean help : string optional </p>
-<p>Referenced by <a class="el" href="setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e">check_funcs()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f">check_htconfig()</a>, <a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">check_keys()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, and <a class="el" href="setup_8php.html#afd8b0b3ade1507c45325caf377bf459d">check_smarty3()</a>.</p>
+<p>Referenced by <a class="el" href="setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e">check_funcs()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f">check_htconfig()</a>, <a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">check_keys()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="setup_8php.html#afd8b0b3ade1507c45325caf377bf459d">check_smarty3()</a>, and <a class="el" href="setup_8php.html#ab4b71369a25021d59247c917e98d8246">check_store()</a>.</p>
</div>
</div>
@@ -315,6 +317,24 @@ Variables</h2></td></tr>
</div>
</div>
+<a class="anchor" id="ab4b71369a25021d59247c917e98d8246"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_store </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$checks</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a8652788e8589778c5f81634a9d5b9429"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/setup_8php.js b/doc/html/setup_8php.js
index 386036b13..e02d5899c 100644
--- a/doc/html/setup_8php.js
+++ b/doc/html/setup_8php.js
@@ -7,6 +7,7 @@ var setup_8php =
[ "check_keys", "setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76", null ],
[ "check_php", "setup_8php.html#a14d208682a88632290c895d20da6e7d6", null ],
[ "check_smarty3", "setup_8php.html#afd8b0b3ade1507c45325caf377bf459d", null ],
+ [ "check_store", "setup_8php.html#ab4b71369a25021d59247c917e98d8246", null ],
[ "get_db_errno", "setup_8php.html#a8652788e8589778c5f81634a9d5b9429", null ],
[ "load_database", "setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a", null ],
[ "load_database_rem", "setup_8php.html#a2b375ddc555140236fc500135de99371", null ],
diff --git a/doc/html/socgraph_8php.html b/doc/html/socgraph_8php.html
index 5f67be58c..47a2222ca 100644
--- a/doc/html/socgraph_8php.html
+++ b/doc/html/socgraph_8php.html
@@ -168,8 +168,6 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content()</a>.</p>
-
</div>
</div>
<a class="anchor" id="a7d34cd58025bcd9e575282f44db75918"></a>
@@ -406,7 +404,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>.</p>
+<p>Referenced by <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, and <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>.</p>
</div>
</div>
diff --git a/doc/html/sslify_8php.html b/doc/html/sslify_8php.html
new file mode 100644
index 000000000..e408329b5
--- /dev/null
+++ b/doc/html/sslify_8php.html
@@ -0,0 +1,137 @@
+<!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 Red Matrix: mod/sslify.php File 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 Red Matrix
+ </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><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><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="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#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('sslify_8php.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="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">sslify.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a75b11e54a3d1fc83e7d4c0e8b4dab316"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a75b11e54a3d1fc83e7d4c0e8b4dab316"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a75b11e54a3d1fc83e7d4c0e8b4dab316"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">sslify_init </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/sslify_8php.js b/doc/html/sslify_8php.js
new file mode 100644
index 000000000..ec3ef3c09
--- /dev/null
+++ b/doc/html/sslify_8php.js
@@ -0,0 +1,4 @@
+var sslify_8php =
+[
+ [ "sslify_init", "sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316", null ]
+]; \ No newline at end of file
diff --git a/doc/html/suggest_8php.html b/doc/html/suggest_8php.html
index 9dcf0c0e7..822cf8fd4 100644
--- a/doc/html/suggest_8php.html
+++ b/doc/html/suggest_8php.html
@@ -114,28 +114,10 @@ $(document).ready(function(){initNavTree('suggest_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a696acf1dd8070e479adcc80c63c6718c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init</a> (&amp;$a)</td></tr>
<tr class="separator:a696acf1dd8070e479adcc80c63c6718c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4df91c84594d51ba56b5918de414230d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="suggest_8php.html#a4df91c84594d51ba56b5918de414230d">suggest_aside</a> (&amp;$a)</td></tr>
-<tr class="separator:a4df91c84594d51ba56b5918de414230d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58748a8235d4523f8333847f3e42dd91"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content</a> (&amp;$a)</td></tr>
<tr class="separator:a58748a8235d4523f8333847f3e42dd91"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a4df91c84594d51ba56b5918de414230d"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">suggest_aside </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="a58748a8235d4523f8333847f3e42dd91"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/suggest_8php.js b/doc/html/suggest_8php.js
index 98b2888c5..6a1ef5b3d 100644
--- a/doc/html/suggest_8php.js
+++ b/doc/html/suggest_8php.js
@@ -1,6 +1,5 @@
var suggest_8php =
[
- [ "suggest_aside", "suggest_8php.html#a4df91c84594d51ba56b5918de414230d", null ],
[ "suggest_content", "suggest_8php.html#a58748a8235d4523f8333847f3e42dd91", null ],
[ "suggest_init", "suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c", null ]
]; \ No newline at end of file
diff --git a/doc/html/taxonomy_8php.html b/doc/html/taxonomy_8php.html
index bb854072f..f5a0c9243 100644
--- a/doc/html/taxonomy_8php.html
+++ b/doc/html/taxonomy_8php.html
@@ -138,8 +138,10 @@ Functions</h2></td></tr>
<tr class="separator:a599ee71dd3194c8127b00dabec77abc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03f55ee46c5f496e42f3d29db8d09cce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs</a> ()</td></tr>
<tr class="separator:a03f55ee46c5f496e42f3d29db8d09cce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac12a651a42ed77f8dc7072c6168811a2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#ac12a651a42ed77f8dc7072c6168811a2">obj_verb_selector</a> ()</td></tr>
-<tr class="separator:ac12a651a42ed77f8dc7072c6168811a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af387463d42ffdf7d2ab3d5b22e40a0c7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#af387463d42ffdf7d2ab3d5b22e40a0c7">obj_verb_selector</a> ($current= '')</td></tr>
+<tr class="separator:af387463d42ffdf7d2ab3d5b22e40a0c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7747fa859ac56fbffd4f9782d85505de"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things</a> ($profile_hash, $uid)</td></tr>
+<tr class="separator:a7747fa859ac56fbffd4f9782d85505de"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a088371f4bc19155b2291508f5cd63332"></a>
@@ -184,7 +186,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>.</p>
+<p>Referenced by <a class="el" href="widgets_8php.html#a08035db02ff6a23260146b4c64153422">widget_dirtags()</a>.</p>
</div>
</div>
@@ -250,8 +252,6 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>.</p>
-
</div>
</div>
<a class="anchor" id="adfead45e3b8a3dfb2b4a4b9281d0dbe1"></a>
@@ -300,14 +300,43 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="ac12a651a42ed77f8dc7072c6168811a2"></a>
+<a class="anchor" id="a7747fa859ac56fbffd4f9782d85505de"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_things </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$profile_hash</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uid</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af387463d42ffdf7d2ab3d5b22e40a0c7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">obj_verb_selector </td>
<td>(</td>
- <td class="paramname"></td><td>)</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$current</em> = <code>''</code></td><td>)</td>
<td></td>
</tr>
</table>
@@ -331,7 +360,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<p>verbs: [0] = first person singular, e.g. "I want", [1] = 3rd person singular, e.g. "Bill wants" We use the first person form when creating an activity, but the third person for use in activities FIXME: There is no accounting for verb gender for languages where this is significant. We may eventually require <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs()</a> to provide full conjugations and specify which form to use in the $_REQUEST params to this module. </p>
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="taxonomy_8php.html#ac12a651a42ed77f8dc7072c6168811a2">obj_verb_selector()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+<p>Referenced by <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="taxonomy_8php.html#af387463d42ffdf7d2ab3d5b22e40a0c7">obj_verb_selector()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
</div>
</div>
@@ -493,7 +522,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel_aside()</a>, and <a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost_aside()</a>.</p>
+<p>Referenced by <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>.</p>
</div>
</div>
diff --git a/doc/html/taxonomy_8php.js b/doc/html/taxonomy_8php.js
index d2025fb8a..24b5fb426 100644
--- a/doc/html/taxonomy_8php.js
+++ b/doc/html/taxonomy_8php.js
@@ -7,7 +7,8 @@ var taxonomy_8php =
[ "file_tag_file_query", "taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1", null ],
[ "format_term_for_display", "taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1", null ],
[ "get_terms_oftype", "taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1", null ],
- [ "obj_verb_selector", "taxonomy_8php.html#ac12a651a42ed77f8dc7072c6168811a2", null ],
+ [ "get_things", "taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de", null ],
+ [ "obj_verb_selector", "taxonomy_8php.html#af387463d42ffdf7d2ab3d5b22e40a0c7", null ],
[ "obj_verbs", "taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce", null ],
[ "store_item_tag", "taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd", null ],
[ "tagadelic", "taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a", null ],
diff --git a/doc/html/text_8php.html b/doc/html/text_8php.html
index b4472a962..f7b4d5a41 100644
--- a/doc/html/text_8php.html
+++ b/doc/html/text_8php.html
@@ -175,10 +175,14 @@ Functions</h2></td></tr>
<tr class="separator:a2a902f5fdba8646333e997898ac45ea3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a876e94892867019935b348b573299352"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search</a> ($s, $id='search-box', $url='/search', $save=false)</td></tr>
<tr class="separator:a876e94892867019935b348b573299352"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae91e4d2a2c6f7a9daccd2c186ae3447"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox</a> ($s, $id='<a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search</a>-box', $url='/<a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search</a>', $save=false)</td></tr>
+<tr class="separator:aae91e4d2a2c6f7a9daccd2c186ae3447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a3d80a6c6fb234fd0bac44203b828eb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb">valid_email</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
<tr class="separator:a6a3d80a6c6fb234fd0bac44203b828eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11255c8c4e5245b6c24f97684826aa54"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a11255c8c4e5245b6c24f97684826aa54">linkify</a> ($s)</td></tr>
<tr class="separator:a11255c8c4e5245b6c24f97684826aa54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33bdb5d4bfff2ede7caf61a98ac0a2e9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9">sslify</a> ($s)</td></tr>
+<tr class="separator:a33bdb5d4bfff2ede7caf61a98ac0a2e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa46f941155c2ac1155f2f17ffb0adb66"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">get_poke_verbs</a> ()</td></tr>
<tr class="separator:aa46f941155c2ac1155f2f17ffb0adb66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a736db13a966b8abaf8c9198faa35911a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs</a> ()</td></tr>
@@ -219,8 +223,8 @@ Functions</h2></td></tr>
<tr class="separator:a8d8c4a11e53461caca21181ebd72daca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89929fa6f70a8ba54d5273fcf622b665"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a89929fa6f70a8ba54d5273fcf622b665">feed_salmonlinks</a> ($nick)</td></tr>
<tr class="separator:a89929fa6f70a8ba54d5273fcf622b665"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3ef8c0cf31f35f77462067de8712fa34"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a3ef8c0cf31f35f77462067de8712fa34">get_plink</a> ($item, $mode)</td></tr>
-<tr class="separator:a3ef8c0cf31f35f77462067de8712fa34"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac0969ae09853205992ba06ab9f9f61a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink</a> ($item, $conversation_mode=true)</td></tr>
+<tr class="separator:aac0969ae09853205992ba06ab9f9f61a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29d6b804e368d3ef359ee295e96ed4c7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7">unamp</a> ($s)</td></tr>
<tr class="separator:a29d6b804e368d3ef359ee295e96ed4c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3999a0b3e22e440f280ee791ce34d384"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">layout_select</a> ($channel_id, $current= '')</td></tr>
@@ -358,7 +362,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, and <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, and <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>.</p>
</div>
</div>
@@ -475,7 +479,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#a3570a4eb77332b292d394c4132cb8f03">identity_basic_export()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="text_8php.html#a9d6a5ee1290de7a8b483fe78585daade">random_string()</a>, <a class="el" href="text_8php.html#a44d460fcdee6247c67b9bef3ea15f3e6">smile_encode()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot_new_uid()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
+<p>Referenced by <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#a3570a4eb77332b292d394c4132cb8f03">identity_basic_export()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="text_8php.html#a9d6a5ee1290de7a8b483fe78585daade">random_string()</a>, <a class="el" href="text_8php.html#a44d460fcdee6247c67b9bef3ea15f3e6">smile_encode()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot_new_uid()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
</div>
</div>
@@ -527,7 +531,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, and <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">micropro()</a>.</p>
+<p>Referenced by <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, and <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">micropro()</a>.</p>
</div>
</div>
@@ -545,7 +549,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8">Item\check_wall_to_wall()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, and <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>.</p>
+<p>Referenced by <a class="el" href="classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8">Item\check_wall_to_wall()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, and <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>.</p>
</div>
</div>
@@ -580,7 +584,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, and <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>.</p>
+<p>Referenced by <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, and <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>.</p>
</div>
</div>
@@ -632,7 +636,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, and <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>.</p>
+<p>Referenced by <a class="el" href="widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b">widget_design_tools()</a>.</p>
</div>
</div>
@@ -684,7 +688,7 @@ Variables</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
-<p>Referenced by <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249">printable()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, and <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249">printable()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, and <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>.</p>
</div>
</div>
@@ -780,7 +784,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, and <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>.</p>
+<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, and <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>.</p>
</div>
</div>
@@ -888,7 +892,7 @@ Variables</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a3ef8c0cf31f35f77462067de8712fa34"></a>
+<a class="anchor" id="aac0969ae09853205992ba06ab9f9f61a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -902,7 +906,7 @@ Variables</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
- <td class="paramname"><em>$mode</em>&#160;</td>
+ <td class="paramname"><em>$conversation_mode</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1021,7 +1025,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
</div>
</div>
@@ -1049,7 +1053,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>.</p>
+<p>Referenced by <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, and <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>.</p>
</div>
</div>
@@ -1084,7 +1088,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, and <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>.</p>
+<p>Referenced by <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, and <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>.</p>
</div>
</div>
@@ -1144,7 +1148,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, and <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>.</p>
+<p>Referenced by <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, and <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>.</p>
</div>
</div>
@@ -1257,7 +1261,7 @@ Variables</h2></td></tr>
<p>Function: linkify</p>
<p>Replace naked text hyperlink with HTML formatted hyperlink </p>
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, and <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, and <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>.</p>
</div>
</div>
@@ -1285,7 +1289,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="Contact_8php.html#a6e64de7db60b7243dce45fb6347636ff">account_remove()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="include_2api_8php.html#a72bfecac1970bc29b853073e816388ff">api_channel_stream()</a>, <a class="el" href="include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53">api_export_basic()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3">api_oauth_request_token()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="text_8php.html#a13286f8a95d2de6b102966ecc270c8d6">base64url_decode()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#aae58cc837fe56473d9f3370abfe533ae">blog_install()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a3e77dbe111f330c64a1ff6c741cd515c">blog_uninstall()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="include_2chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b">chanman_remove_everything_from_network()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post()</a>, <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run()</a>, <a class="el" href="datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226">datetime_convert()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0">email_send()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0">fetch_lrdd_template()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="classConversation.html#a2a96b7a6573ae53db861624659e831cb">Conversation\get_template_data()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84">head_set_icon()</a>, <a class="el" href="include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2">http_status_exit()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="items_8php.html#af94c281016c6c912d06e064113336c5c">limit_body_size()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore\lookup_consumer()</a>, <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore\lookup_token()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a">new_keypair()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>, <a class="el" href="dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f">q()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">Item\remove_child()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">remove_queue_item()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="classenotify.html#afbc088860f534c6c05788b48cfc262c6">enotify\send()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a15e0f8f511cc06192db63387f97238b3">stream_perms_xchans()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin()</a>, <a class="el" href="plugin_8php.html#a90538627db68605aeb6db17a8ead6523">unload_plugin()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="classRedBasicAuth.html#a8dfd9a0953f8884723b421b7c1acf79b">RedBasicAuth\validateUserPass()</a>, <a class="el" href="include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5">webfinger()</a>, <a class="el" href="include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335">webfinger_dfrn()</a>, <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array()</a>, <a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">xml_status()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="classRedDirectory.html#a1e35e3cd31d2a15250655e4cafdea180">RedDirectory\__construct()</a>, <a class="el" href="classRedFile.html#a9a67bdb34c9db6ce144b3f371148b183">RedFile\__construct()</a>, <a class="el" href="Contact_8php.html#a6e64de7db60b7243dce45fb6347636ff">account_remove()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="include_2api_8php.html#a72bfecac1970bc29b853073e816388ff">api_channel_stream()</a>, <a class="el" href="include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53">api_export_basic()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3">api_oauth_request_token()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="text_8php.html#a13286f8a95d2de6b102966ecc270c8d6">base64url_decode()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#aae58cc837fe56473d9f3370abfe533ae">blog_install()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a3e77dbe111f330c64a1ff6c741cd515c">blog_uninstall()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="include_2chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b">chanman_remove_everything_from_network()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="classRedDirectory.html#a5e3fc08b2bf9f61cea4d2ccae0495bec">RedDirectory\childExists()</a>, <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud_init()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedDirectory.html#a986936910f0216887a25e28916c166c7">RedDirectory\createDirectory()</a>, <a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">RedDirectory\createFile()</a>, <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run()</a>, <a class="el" href="datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226">datetime_convert()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0">email_send()</a>, <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0">fetch_lrdd_template()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="classRedFile.html#a7c868dfcef6c70cd0e24cf3caa2c3535">RedFile\get()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="classConversation.html#a2a96b7a6573ae53db861624659e831cb">Conversation\get_template_data()</a>, <a class="el" href="classRedDirectory.html#aaa20f0f44da23781917af8170c0a2569">RedDirectory\getChild()</a>, <a class="el" href="classRedDirectory.html#a70173d4458572d95e586b2037d2fd2f4">RedDirectory\getDir()</a>, <a class="el" href="classRedDirectory.html#af6e4475dbd5abcdede00d20b8d388583">RedDirectory\getName()</a>, <a class="el" href="classRedFile.html#a0c961c5f49544d2502420361fa526437">RedFile\getName()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84">head_set_icon()</a>, <a class="el" href="include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2">http_status_exit()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="items_8php.html#af94c281016c6c912d06e064113336c5c">limit_body_size()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore\lookup_consumer()</a>, <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore\lookup_token()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a">new_keypair()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="classRedFile.html#a41a49a583eb276b75626fcf97f4a699c">RedFile\put()</a>, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>, <a class="el" href="dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f">q()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">Item\remove_child()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">remove_queue_item()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="classenotify.html#afbc088860f534c6c05788b48cfc262c6">enotify\send()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="classRedFile.html#a38a82bfc1b30028ea6ac75923e90fa25">RedFile\setName()</a>, <a class="el" href="security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a15e0f8f511cc06192db63387f97238b3">stream_perms_xchans()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin()</a>, <a class="el" href="plugin_8php.html#a90538627db68605aeb6db17a8ead6523">unload_plugin()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="classRedBasicAuth.html#a8dfd9a0953f8884723b421b7c1acf79b">RedBasicAuth\validateUserPass()</a>, <a class="el" href="include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5">webfinger()</a>, <a class="el" href="include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335">webfinger_dfrn()</a>, <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array()</a>, <a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">xml_status()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -1466,7 +1470,7 @@ Variables</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string Filtered string </dd></dl>
-<p>Referenced by <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="qsearch_8php.html#a0501887b95bd8fa21018b2936a668894">qsearch_init()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="text_8php.html#a9fbeae13c9abd6e27cb4d8d1817f969c">sanitise_acl()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="text_8php.html#a9fbeae13c9abd6e27cb4d8d1817f969c">sanitise_acl()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
</div>
</div>
@@ -1484,7 +1488,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, and <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, and <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>.</p>
</div>
</div>
@@ -1502,7 +1506,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
+<p>Referenced by <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
</div>
</div>
@@ -1519,7 +1523,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo()</a>, and <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>.</p>
+<p>Referenced by <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, and <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>.</p>
</div>
</div>
@@ -1643,7 +1647,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">public_permissions_sql()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, and <a class="el" href="taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c">term_query()</a>.</p>
+<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">public_permissions_sql()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, and <a class="el" href="taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c">term_query()</a>.</p>
</div>
</div>
@@ -1661,7 +1665,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, and <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, and <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>.</p>
</div>
</div>
@@ -1705,7 +1709,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f">bb_parse_crypt()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="text_8php.html#ae4f6881d7e13623f8eded6277595112a">generate_user_guid()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+<p>Referenced by <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f">bb_parse_crypt()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedDirectory.html#a2d12d99d38a6a75fc9a830b2f7fc0bf0">RedDirectory\createFile()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="text_8php.html#ae4f6881d7e13623f8eded6277595112a">generate_user_guid()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="zot_8php.html#aeec89da5b6ff090c63a79de4de884a35">import_directory_profile()</a>, <a class="el" href="zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1">import_xchan()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
</div>
</div>
@@ -1770,7 +1774,7 @@ Variables</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string substituted string </dd></dl>
-<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">blogtheme_form()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="crepair_8php.html#a29464c01838e209c8059cfcd2d195caa">crepair_content()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774">dir_sort_links()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">field_timezone()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="contact__widgets_8php.html#af24e693532a045954caab515942cfc6f">follow_widget()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17">group_side()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e">menu_render()</a>, <a class="el" href="mod_2message_8php.html#af4ba72486117cc24335fd8e92a2112a7">message_aside()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">micropro()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0">pagelist_widget()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="acl__selectors_8php.html#a7b5446e999636ceceea65c154d865a31">populate_acl()</a>, <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">saved_searches()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings_aside()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">writepages_widget()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">blogtheme_form()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774">dir_sort_links()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">field_timezone()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e">menu_render()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">micropro()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0">pagelist_widget()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="acl__selectors_8php.html#a7b5446e999636ceceea65c154d865a31">populate_acl()</a>, <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">writepages_widget()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
</div>
</div>
@@ -1842,7 +1846,47 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">saved_searches()</a>, and <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>.</p>
+<p>Referenced by <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aae91e4d2a2c6f7a9daccd2c186ae3447"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">searchbox </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$id</em> = <code>'<a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search</a>-box'</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em> = <code>'/<a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search</a>'</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$save</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>.</p>
</div>
</div>
@@ -1908,7 +1952,33 @@ Variables</h2></td></tr>
<p>It is expected that this function will be called using HTML text. We will escape text between HTML pre and code blocks from being processed.</p>
<p>At a higher level, the bbcode [nosmile] tag can be used to prevent this function from being executed by the <a class="el" href="text_8php.html#afe54312607d92f7ce9593f5760831f80">prepare_text()</a> routine when preparing bbcode source for HTML display </p>
-<p>Referenced by <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, and <a class="el" href="smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f">smilies_content()</a>.</p>
+<p>Referenced by <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, and <a class="el" href="smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f">smilies_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a33bdb5d4bfff2ede7caf61a98ac0a2e9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">sslify </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>sslify($s) Replace media element using http url with https to a local redirector if using https locally </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$s</td><td>Looks for HTML tags containing src elements that are http when we're viewing an https page Typically this throws an insecure content violation in the browser. So we redirect them to a local redirector which uses https and which redirects to the selected content</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
+<p>Referenced by <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>.</p>
</div>
</div>
@@ -1936,7 +2006,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="identity_8php.html#a3570a4eb77332b292d394c4132cb8f03">identity_basic_export()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, and <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>.</p>
+<p>Referenced by <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="identity_8php.html#a3570a4eb77332b292d394c4132cb8f03">identity_basic_export()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, and <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>.</p>
</div>
</div>
@@ -1954,7 +2024,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>.</p>
+<p>Referenced by <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, and <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>.</p>
</div>
</div>
@@ -2088,7 +2158,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
</div>
</div>
@@ -2114,7 +2184,7 @@ Variables</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string Escaped text. </dd></dl>
-<p>Referenced by <a class="el" href="text_8php.html#acedb584f65114a33f389efb796172a91">array_xmlify()</a>, <a class="el" href="items_8php.html#a016dd86c827d08db89061ea81d15c6cb">atom_author()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">construct_activity_object()</a>, <a class="el" href="items_8php.html#aa579bc4445d60098b1410961ca8e96b7">construct_activity_target()</a>, <a class="el" href="items_8php.html#aa723c0571e314a1853a24c5854b4f54f">encode_rel_links()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="items_8php.html#a09d425596b9f8663472cf7474ad36d96">item_getfeedattach()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, and <a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">xml_status()</a>.</p>
+<p>Referenced by <a class="el" href="text_8php.html#acedb584f65114a33f389efb796172a91">array_xmlify()</a>, <a class="el" href="items_8php.html#a016dd86c827d08db89061ea81d15c6cb">atom_author()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">construct_activity_object()</a>, <a class="el" href="items_8php.html#aa579bc4445d60098b1410961ca8e96b7">construct_activity_target()</a>, <a class="el" href="items_8php.html#aa723c0571e314a1853a24c5854b4f54f">encode_rel_links()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="items_8php.html#a09d425596b9f8663472cf7474ad36d96">item_getfeedattach()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, and <a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">xml_status()</a>.</p>
</div>
</div>
@@ -2148,7 +2218,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, and <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>.</p>
+<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, and <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>.</p>
</div>
</div>
diff --git a/doc/html/text_8php.js b/doc/html/text_8php.js
index cf3d8b77f..65a33574e 100644
--- a/doc/html/text_8php.js
+++ b/doc/html/text_8php.js
@@ -28,7 +28,7 @@ var text_8php =
[ "generate_user_guid", "text_8php.html#ae4f6881d7e13623f8eded6277595112a", null ],
[ "get_mentions", "text_8php.html#a76d1b3435c067978d7b484c45f56472b", null ],
[ "get_mood_verbs", "text_8php.html#a736db13a966b8abaf8c9198faa35911a", null ],
- [ "get_plink", "text_8php.html#a3ef8c0cf31f35f77462067de8712fa34", null ],
+ [ "get_plink", "text_8php.html#aac0969ae09853205992ba06ab9f9f61a", null ],
[ "get_poke_verbs", "text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66", null ],
[ "get_rel_link", "text_8php.html#a3972701c5c83624ec4e2d06242f614e7", null ],
[ "get_tags", "text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623", null ],
@@ -69,9 +69,11 @@ var text_8php =
[ "return_bytes", "text_8php.html#ae2126da85966da0e79c6bcbac63b0bda", null ],
[ "sanitise_acl", "text_8php.html#a9fbeae13c9abd6e27cb4d8d1817f969c", null ],
[ "search", "text_8php.html#a876e94892867019935b348b573299352", null ],
+ [ "searchbox", "text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447", null ],
[ "smile_decode", "text_8php.html#aca0f589be74fab1a460c57e88dad9779", null ],
[ "smile_encode", "text_8php.html#a44d460fcdee6247c67b9bef3ea15f3e6", null ],
[ "smilies", "text_8php.html#a3d225b253bb9e0f2498c11647d927b0b", null ],
+ [ "sslify", "text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9", null ],
[ "stringify_array_elms", "text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13", null ],
[ "theme_attachments", "text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53", null ],
[ "unamp", "text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7", null ],
diff --git a/doc/html/typo_8php.html b/doc/html/typo_8php.html
index c643c7fae..354ea916c 100644
--- a/doc/html/typo_8php.html
+++ b/doc/html/typo_8php.html
@@ -134,7 +134,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty\__construct()</a>, <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">Item\__construct()</a>, <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine\__construct()</a>, <a class="el" href="classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228">Template\_replcb_if()</a>, <a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">Template\_replcb_inc()</a>, <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content()</a>, <a class="el" href="include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694">allowed_email()</a>, <a class="el" href="include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7">allowed_url()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad">api_account_verify_credentials()</a>, <a class="el" href="include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18">api_albums()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705">api_direct_messages_all()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#a9160288b7ac220635942d8dc209b78c3">api_direct_messages_conversation()</a>, <a class="el" href="include_2api_8php.html#ad2b0192f3006918bea895de8074bf8d2">api_direct_messages_inbox()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d">api_direct_messages_sentbox()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b">api_followers_ids()</a>, <a class="el" href="include_2api_8php.html#a18cab7c6391df5c421753463f5d2a879">api_format_as()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#acafd2899309a005fcb725289173dc7fe">api_friends_ids()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#aa49741342ad8ba285737eea1209a37e1">api_item_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api_photos()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="include_2api_8php.html#a6951c690d87775eb37e569c66011988e">api_statuses_followers()</a>, <a class="el" href="include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e">api_statuses_friends()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="text_8php.html#a95fd2f8f23a1948414a03ebc963bac57">attribute_contains()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="blogga_2php_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b">blog_init()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5">blogtheme_display_item()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">blogtheme_form()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec">blogtheme_imgurl()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel_aside()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="boot_8php.html#ab79b8b4555cae20d03f8200666d89d63">clean_urls()</a>, <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>, <a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest_run()</a>, <a class="el" href="comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b">comanche_menu()</a>, <a class="el" href="comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922">comanche_parser()</a>, <a class="el" href="comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe">comanche_replace_region()</a>, <a class="el" href="comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f">comanche_widget()</a>, <a class="el" href="common_8php.html#a3b12ec67b3d3edcf595c8d195da5d14a">common_aside()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#af48f7ad20914760ba9874c090384e35a">connections_aside()</a>, <a class="el" href="connections_8php.html#a15af118efee9c948b6f8294e54a73bb2">connections_clone()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="crepair_8php.html#a29464c01838e209c8059cfcd2d195caa">crepair_content()</a>, <a class="el" href="crepair_8php.html#ab089978e50df156bbfabf9f8f5ccd198">crepair_init()</a>, <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3">current_theme_url()</a>, <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">del_config()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="mod_2directory_8php.html#aa1d928543212871491706216742dd73c">directory_aside()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf">directory_init()</a>, <a class="el" href="dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752">dirsearch_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850">ev_compare()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="text_8php.html#ae4282a39492caa23ccbc2ce98e54f110">expand_acl()</a>, <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="contact__widgets_8php.html#af24e693532a045954caab515942cfc6f">follow_widget()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">BaseObject\get_app()</a>, <a class="el" href="boot_8php.html#a0e6db7e365f2b041a828b93786f694bc">get_app()</a>, <a class="el" href="language_8php.html#a980dee1d8715a98ab02e36b59facf8ed">get_best_language()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config()</a>, <a class="el" href="boot_8php.html#a899d24fd074594ceebbf72e1feff335f">get_custom_nav()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="security_8php.html#acd06ef411116115c2f0a92633700db8a">get_form_security_token()</a>, <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine\get_intltext_template()</a>, <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">get_intltext_template()</a>, <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">get_markup_template()</a>, <a class="el" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad">get_pconfig()</a>, <a class="el" href="text_8php.html#a3ef8c0cf31f35f77462067de8712fa34">get_plink()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="plugin_8php.html#a48047edfbef770125a5508dcc2f9282f">get_theme_screenshot()</a>, <a class="el" href="include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e">get_xconfig()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="mod_2group_8php.html#aeb0784dd928e53e6d8693513bec8928c">group_aside()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="item_8php.html#abd0e603a6696051af16476eb968d52e7">handle_tag()</a>, <a class="el" href="hcard_8php.html#a956c7cae2009652a37900306e5b7b73d">hcard_aside()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77">head_get_icon()</a>, <a class="el" href="boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84">head_set_icon()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b">insert_hook()</a>, <a class="el" href="intro_8php.html#abc3abf25da64f98f215126eb08c7936b">intro_aside()</a>, <a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">is_site_admin()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost_aside()</a>, <a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>, <a class="el" href="lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c">lastpost_init()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285">link_compare()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks()</a>, <a class="el" href="include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6">load_pconfig()</a>, <a class="el" href="language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05">load_translation_table()</a>, <a class="el" href="include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33">load_xconfig()</a>, <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="setup_8php.html#abe405d227ba7232971964a706d4f3bce">manual_config()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2message_8php.html#af4ba72486117cc24335fd8e92a2112a7">message_aside()</a>, <a class="el" href="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a">nav_set_selected()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">paginate()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="language_8php.html#a78bd204955ec4cc3a9ac651285a1689d">pop_lang()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile_8php.html#a1a2482b775476f2f64ea5e8f4fc3fd1e">profile_aside()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#ac9cd968a767e2ae1b88383b6cdd6dbe3">profile_photo_aside()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a2a3ac90f51941ff78b85e9389304969c">profiles_aside()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#a77fd398ae7c25142e1d9ad724ec347cc">profperm_aside()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="language_8php.html#ac9142ef1d01a235c760deb0f16643f5a">push_lang()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">saved_searches()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init()</a>, <a class="el" href="search_8php.html#a230ec9681ddee3b5b8b40c8d550f32f7">search_post()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig()</a>, <a class="el" href="settings_8php.html#ae5aebccb006bee1300078576baaf5582">settings_aside()</a>, <a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings_init()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a4df91c84594d51ba56b5918de414230d">suggest_aside()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04">t()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43">tags_sort()</a>, <a class="el" href="Contact_8php.html#a38daa1c210b78385307123450ca9a1fc">terminate_friendship()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a09cd81013505f83aea0771243a1e4e53">theme_admin()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">theme_include()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865">timezone_cmp()</a>, <a class="el" href="toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254">toggle_mobile_init()</a>, <a class="el" href="language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d">tt()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1">update_community_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ae330cea4cddd091559659f8b469617b6">viewconnections_aside()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2">vote_init()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda">z_path()</a>, <a class="el" href="boot_8php.html#add517a0958ac684792c62142a3877f81">z_root()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
+<p>Referenced by <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty\__construct()</a>, <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">Item\__construct()</a>, <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine\__construct()</a>, <a class="el" href="classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228">Template\_replcb_if()</a>, <a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">Template\_replcb_inc()</a>, <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694">allowed_email()</a>, <a class="el" href="include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7">allowed_url()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad">api_account_verify_credentials()</a>, <a class="el" href="include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18">api_albums()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705">api_direct_messages_all()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#a9160288b7ac220635942d8dc209b78c3">api_direct_messages_conversation()</a>, <a class="el" href="include_2api_8php.html#ad2b0192f3006918bea895de8074bf8d2">api_direct_messages_inbox()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d">api_direct_messages_sentbox()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b">api_followers_ids()</a>, <a class="el" href="include_2api_8php.html#a18cab7c6391df5c421753463f5d2a879">api_format_as()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#acafd2899309a005fcb725289173dc7fe">api_friends_ids()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#aa49741342ad8ba285737eea1209a37e1">api_item_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api_photos()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="include_2api_8php.html#a6951c690d87775eb37e569c66011988e">api_statuses_followers()</a>, <a class="el" href="include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e">api_statuses_friends()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#a8b51951a70e1c1324be71345a61d70ec">apw_form()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="text_8php.html#a95fd2f8f23a1948414a03ebc963bac57">attribute_contains()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="blogga_2php_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b">blog_init()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5">blogtheme_display_item()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">blogtheme_form()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec">blogtheme_imgurl()</a>, <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="Contact_8php.html#a186162051a5127069cc851d78740f205">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="boot_8php.html#ab79b8b4555cae20d03f8200666d89d63">clean_urls()</a>, <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>, <a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest_run()</a>, <a class="el" href="cloud_8php.html#a1b79a6fe0454bc76673ad9aef55bf02d">cloud_init()</a>, <a class="el" href="comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b">comanche_menu()</a>, <a class="el" href="comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922">comanche_parser()</a>, <a class="el" href="comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe">comanche_replace_region()</a>, <a class="el" href="comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f">comanche_widget()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#a15af118efee9c948b6f8294e54a73bb2">connections_clone()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a707ea7e63cf9674025b1d6b081ae74f5">connedit_clone()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3">current_theme_url()</a>, <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">del_config()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf">directory_init()</a>, <a class="el" href="dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752">dirsearch_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850">ev_compare()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="text_8php.html#ae4282a39492caa23ccbc2ce98e54f110">expand_acl()</a>, <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">BaseObject\get_app()</a>, <a class="el" href="boot_8php.html#a0e6db7e365f2b041a828b93786f694bc">get_app()</a>, <a class="el" href="language_8php.html#a980dee1d8715a98ab02e36b59facf8ed">get_best_language()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config()</a>, <a class="el" href="boot_8php.html#a899d24fd074594ceebbf72e1feff335f">get_custom_nav()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="security_8php.html#acd06ef411116115c2f0a92633700db8a">get_form_security_token()</a>, <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine\get_intltext_template()</a>, <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">get_intltext_template()</a>, <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">get_markup_template()</a>, <a class="el" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad">get_pconfig()</a>, <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="plugin_8php.html#a48047edfbef770125a5508dcc2f9282f">get_theme_screenshot()</a>, <a class="el" href="include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e">get_xconfig()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77">head_get_icon()</a>, <a class="el" href="plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf">head_remove_css()</a>, <a class="el" href="plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4">head_remove_js()</a>, <a class="el" href="boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84">head_set_icon()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b">insert_hook()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">is_site_admin()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285">link_compare()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks()</a>, <a class="el" href="include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6">load_pconfig()</a>, <a class="el" href="language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05">load_translation_table()</a>, <a class="el" href="include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33">load_xconfig()</a>, <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="setup_8php.html#abe405d227ba7232971964a706d4f3bce">manual_config()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a">nav_set_selected()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">paginate()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="language_8php.html#a78bd204955ec4cc3a9ac651285a1689d">pop_lang()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="language_8php.html#ac9142ef1d01a235c760deb0f16643f5a">push_lang()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig()</a>, <a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings_init()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04">t()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43">tags_sort()</a>, <a class="el" href="Contact_8php.html#a38daa1c210b78385307123450ca9a1fc">terminate_friendship()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a09cd81013505f83aea0771243a1e4e53">theme_admin()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">theme_include()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865">timezone_cmp()</a>, <a class="el" href="toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254">toggle_mobile_init()</a>, <a class="el" href="bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8">tryzrlvideo()</a>, <a class="el" href="language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d">tt()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1">update_community_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2">vote_init()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>, <a class="el" href="widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b">widget_design_tools()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda">z_path()</a>, <a class="el" href="boot_8php.html#add517a0958ac684792c62142a3877f81">z_root()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
</div>
</div>
diff --git a/doc/html/viewconnections_8php.html b/doc/html/viewconnections_8php.html
index 944b4efe2..ebdf48289 100644
--- a/doc/html/viewconnections_8php.html
+++ b/doc/html/viewconnections_8php.html
@@ -114,28 +114,10 @@ $(document).ready(function(){initNavTree('viewconnections_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a00163d50b17568f7b0e48b1ca9ab7330"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init</a> (&amp;$a)</td></tr>
<tr class="separator:a00163d50b17568f7b0e48b1ca9ab7330"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae330cea4cddd091559659f8b469617b6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="viewconnections_8php.html#ae330cea4cddd091559659f8b469617b6">viewconnections_aside</a> (&amp;$a)</td></tr>
-<tr class="separator:ae330cea4cddd091559659f8b469617b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6c4d983e97b3a8a879567ff76507776"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content</a> (&amp;$a)</td></tr>
<tr class="separator:ab6c4d983e97b3a8a879567ff76507776"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ae330cea4cddd091559659f8b469617b6"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">viewconnections_aside </td>
- <td>(</td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="ab6c4d983e97b3a8a879567ff76507776"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/viewconnections_8php.js b/doc/html/viewconnections_8php.js
index 5b9ec8153..f74e87152 100644
--- a/doc/html/viewconnections_8php.js
+++ b/doc/html/viewconnections_8php.js
@@ -1,6 +1,5 @@
var viewconnections_8php =
[
- [ "viewconnections_aside", "viewconnections_8php.html#ae330cea4cddd091559659f8b469617b6", null ],
[ "viewconnections_content", "viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776", null ],
[ "viewconnections_init", "viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330", null ]
]; \ No newline at end of file
diff --git a/doc/html/widgets_8php.html b/doc/html/widgets_8php.html
index d91f1a939..d3e9c1b08 100644
--- a/doc/html/widgets_8php.html
+++ b/doc/html/widgets_8php.html
@@ -116,8 +116,307 @@ Functions</h2></td></tr>
<tr class="separator:abd2e508a2a0b911c4a838e3cb7599923"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dbc227aac750774284ee39c45f0a200"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud</a> ($args)</td></tr>
<tr class="separator:a6dbc227aac750774284ee39c45f0a200"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa189a07241246d97efbee29f1c6a6f7f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f">widget_collections</a> ($args)</td></tr>
+<tr class="separator:aa189a07241246d97efbee29f1c6a6f7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d404276fedc59f5038cf5c085028326"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions</a> ($arr)</td></tr>
+<tr class="separator:a0d404276fedc59f5038cf5c085028326"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1bf7aa69e8d100d95faba17c7bc91cd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow</a> ($args)</td></tr>
+<tr class="separator:ad1bf7aa69e8d100d95faba17c7bc91cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45ea061dabe9a8372e4ca3b9e5714256"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes</a> ($arr)</td></tr>
+<tr class="separator:a45ea061dabe9a8372e4ca3b9e5714256"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94203eb9bcd63cbdecbbcb15163598d8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch</a> ($arr)</td></tr>
+<tr class="separator:a94203eb9bcd63cbdecbbcb15163598d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ab3b64496e02cab56429978ad55f1c0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer</a> ($arr)</td></tr>
+<tr class="separator:a5ab3b64496e02cab56429978ad55f1c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b1e357b5a2027718470b77ec921fc65"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive</a> ($arr)</td></tr>
+<tr class="separator:a7b1e357b5a2027718470b77ec921fc65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a70442dfa079312d9d5e5ee01be51a165"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile</a> ($arr)</td></tr>
+<tr class="separator:a70442dfa079312d9d5e5ee01be51a165"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af37fdad3b2e861d860a4a8c4d8a76c0b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories</a> ($arr)</td></tr>
+<tr class="separator:af37fdad3b2e861d860a4a8c4d8a76c0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4ced69d83dbdd9e6b51660d9eba8653"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall</a> ($arr)</td></tr>
+<tr class="separator:ae4ced69d83dbdd9e6b51660d9eba8653"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add9b24d3304e529a7975e96122315554"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity</a> ($arr)</td></tr>
+<tr class="separator:add9b24d3304e529a7975e96122315554"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaa73bcf1702eaadd9dcd253502f55e01"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu</a> ($arr)</td></tr>
+<tr class="separator:aaa73bcf1702eaadd9dcd253502f55e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa2e55a78f95667a6da082efac7fec74"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu</a> ($arr)</td></tr>
+<tr class="separator:afa2e55a78f95667a6da082efac7fec74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a145ff35319cfa47a9cc07f9425bd674b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b">widget_design_tools</a> ($arr)</td></tr>
+<tr class="separator:a145ff35319cfa47a9cc07f9425bd674b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade630b19fb4c622b7b2f6f8ef89eefa2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#ade630b19fb4c622b7b2f6f8ef89eefa2">widget_findpeople</a> ($arr)</td></tr>
+<tr class="separator:ade630b19fb4c622b7b2f6f8ef89eefa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a702e2fc0adc9b615999eca18b7311b5e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums</a> ($arr)</td></tr>
+<tr class="separator:a702e2fc0adc9b615999eca18b7311b5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe03366fd22fd27d683518fa0765da50"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#abe03366fd22fd27d683518fa0765da50">widget_vcard</a> ($arr)</td></tr>
+<tr class="separator:abe03366fd22fd27d683518fa0765da50"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a268b01ce1ab8fe2cb346cb769b9d1091"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a268b01ce1ab8fe2cb346cb769b9d1091">widget_dirsafemode</a> ($arr)</td></tr>
+<tr class="separator:a268b01ce1ab8fe2cb346cb769b9d1091"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a95c06bc9be133e89768746302d2ac395"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a95c06bc9be133e89768746302d2ac395">widget_dirsort</a> ($arr)</td></tr>
+<tr class="separator:a95c06bc9be133e89768746302d2ac395"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a08035db02ff6a23260146b4c64153422"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a08035db02ff6a23260146b4c64153422">widget_dirtags</a> ($arr)</td></tr>
+<tr class="separator:a08035db02ff6a23260146b4c64153422"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3bdfb81bf9a8ddf219924fa7eaf22013"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a3bdfb81bf9a8ddf219924fa7eaf22013">widget_menu_preview</a> ($arr)</td></tr>
+<tr class="separator:a3bdfb81bf9a8ddf219924fa7eaf22013"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="add9b24d3304e529a7975e96122315554"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_affinity </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7b1e357b5a2027718470b77ec921fc65"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_archive </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af37fdad3b2e861d860a4a8c4d8a76c0b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_categories </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa189a07241246d97efbee29f1c6a6f7f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_collections </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$args</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a145ff35319cfa47a9cc07f9425bd674b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_design_tools </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a268b01ce1ab8fe2cb346cb769b9d1091"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_dirsafemode </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The following directory widgets are only useful on the directory page </p>
+
+</div>
+</div>
+<a class="anchor" id="a95c06bc9be133e89768746302d2ac395"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_dirsort </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a08035db02ff6a23260146b4c64153422"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_dirtags </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5ab3b64496e02cab56429978ad55f1c0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_filer </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ade630b19fb4c622b7b2f6f8ef89eefa2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_findpeople </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad1bf7aa69e8d100d95faba17c7bc91cd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_follow </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$args</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a70442dfa079312d9d5e5ee01be51a165"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_fullprofile </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="afa2e55a78f95667a6da082efac7fec74"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_mailmenu </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3bdfb81bf9a8ddf219924fa7eaf22013"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_menu_preview </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a45ea061dabe9a8372e4ca3b9e5714256"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_notes </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a702e2fc0adc9b615999eca18b7311b5e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_photo_albums </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="abd2e508a2a0b911c4a838e3cb7599923"></a>
<div class="memitem">
<div class="memproto">
@@ -134,6 +433,54 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a94203eb9bcd63cbdecbbcb15163598d8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_savedsearch </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aaa73bcf1702eaadd9dcd253502f55e01"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_settings_menu </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0d404276fedc59f5038cf5c085028326"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_suggestions </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a6dbc227aac750774284ee39c45f0a200"></a>
<div class="memitem">
<div class="memproto">
@@ -150,6 +497,38 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="ae4ced69d83dbdd9e6b51660d9eba8653"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_tagcloud_wall </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="abe03366fd22fd27d683518fa0765da50"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_vcard </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/widgets_8php.js b/doc/html/widgets_8php.js
index 0b1db1013..65afb6aae 100644
--- a/doc/html/widgets_8php.js
+++ b/doc/html/widgets_8php.js
@@ -1,5 +1,26 @@
var widgets_8php =
[
+ [ "widget_affinity", "widgets_8php.html#add9b24d3304e529a7975e96122315554", null ],
+ [ "widget_archive", "widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65", null ],
+ [ "widget_categories", "widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b", null ],
+ [ "widget_collections", "widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f", null ],
+ [ "widget_design_tools", "widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b", null ],
+ [ "widget_dirsafemode", "widgets_8php.html#a268b01ce1ab8fe2cb346cb769b9d1091", null ],
+ [ "widget_dirsort", "widgets_8php.html#a95c06bc9be133e89768746302d2ac395", null ],
+ [ "widget_dirtags", "widgets_8php.html#a08035db02ff6a23260146b4c64153422", null ],
+ [ "widget_filer", "widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0", null ],
+ [ "widget_findpeople", "widgets_8php.html#ade630b19fb4c622b7b2f6f8ef89eefa2", null ],
+ [ "widget_follow", "widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd", null ],
+ [ "widget_fullprofile", "widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165", null ],
+ [ "widget_mailmenu", "widgets_8php.html#afa2e55a78f95667a6da082efac7fec74", null ],
+ [ "widget_menu_preview", "widgets_8php.html#a3bdfb81bf9a8ddf219924fa7eaf22013", null ],
+ [ "widget_notes", "widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256", null ],
+ [ "widget_photo_albums", "widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e", null ],
[ "widget_profile", "widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923", null ],
- [ "widget_tagcloud", "widgets_8php.html#a6dbc227aac750774284ee39c45f0a200", null ]
+ [ "widget_savedsearch", "widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8", null ],
+ [ "widget_settings_menu", "widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01", null ],
+ [ "widget_suggestions", "widgets_8php.html#a0d404276fedc59f5038cf5c085028326", null ],
+ [ "widget_tagcloud", "widgets_8php.html#a6dbc227aac750774284ee39c45f0a200", null ],
+ [ "widget_tagcloud_wall", "widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653", null ],
+ [ "widget_vcard", "widgets_8php.html#abe03366fd22fd27d683518fa0765da50", null ]
]; \ No newline at end of file
diff --git a/doc/html/xref_8php.html b/doc/html/xref_8php.html
new file mode 100644
index 000000000..2f08a643f
--- /dev/null
+++ b/doc/html/xref_8php.html
@@ -0,0 +1,137 @@
+<!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 Red Matrix: mod/xref.php File 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 Red Matrix
+ </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><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><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="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#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('xref_8php.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="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">xref.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a9bee399213b8de8226b0d60834307473"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a9bee399213b8de8226b0d60834307473"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a9bee399213b8de8226b0d60834307473"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xref_init </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/xref_8php.js b/doc/html/xref_8php.js
new file mode 100644
index 000000000..01291c5c5
--- /dev/null
+++ b/doc/html/xref_8php.js
@@ -0,0 +1,4 @@
+var xref_8php =
+[
+ [ "xref_init", "xref_8php.html#a9bee399213b8de8226b0d60834307473", null ]
+]; \ No newline at end of file
diff --git a/doc/html/zfinger_8php.html b/doc/html/zfinger_8php.html
index e41ca2a51..b35337c42 100644
--- a/doc/html/zfinger_8php.html
+++ b/doc/html/zfinger_8php.html
@@ -129,6 +129,8 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
+<p>The special address '[system]' will return a system channel if one has been defined, Or the first valid channel we find if there are no system channels.</p>
+<p>This is used by magic-auth if we have no prior communications with this site - and returns an identity on this site which we can use to create a valid hub record so that we can exchange signed messages. The precise identity is irrelevant. It's the hub information that we really need at the other end - and this will return it.</p>
<p>Referenced by <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>.</p>
diff --git a/doc/html/zot_8php.html b/doc/html/zot_8php.html
index 014f6795b..b9e8c7180 100644
--- a/doc/html/zot_8php.html
+++ b/doc/html/zot_8php.html
@@ -213,7 +213,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<p>Send a zot packet to all hubs where this channel is duplicated, refreshing such things as personal settings, channel permissions, address book updates, etc. </p>
-<p>Referenced by <a class="el" href="connections_8php.html#a15af118efee9c948b6f8294e54a73bb2">connections_clone()</a>, and <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
+<p>Referenced by <a class="el" href="connections_8php.html#a15af118efee9c948b6f8294e54a73bb2">connections_clone()</a>, <a class="el" href="connedit_8php.html#a707ea7e63cf9674025b1d6b081ae74f5">connedit_clone()</a>, and <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
</div>
</div>
@@ -422,7 +422,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>array =&gt; 'success' (boolean true or false) 'message' (optional error string only if success is false) </dd></dl>
-<p>Referenced by <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
+<p>Referenced by <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
</div>
</div>
@@ -823,7 +823,7 @@ which will be processed and delivered before this function ultimately returns.
</dl>
<dl class="section return"><dt>Returns</dt><dd>: array =&gt; see z_post_url and <a class="el" href="zfinger_8php.html">mod/zfinger.php</a> </dd></dl>
-<p>Referenced by <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, and <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>.</p>
+<p>Referenced by <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, and <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>.</p>
</div>
</div>
@@ -1028,7 +1028,7 @@ which will be processed and delivered before this function ultimately returns.
</dl>
<dl class="section return"><dt>Returns</dt><dd>boolean true if successful, else false </dd></dl>
-<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, and <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>.</p>
+<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, and <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>.</p>
</div>
</div>
diff --git a/doc/install/sample-lighttpd.conf b/doc/install/sample-lighttpd.conf
index 213719ac9..721fa25ea 100644
--- a/doc/install/sample-lighttpd.conf
+++ b/doc/install/sample-lighttpd.conf
@@ -74,7 +74,7 @@ $HTTP["url"] =~ "\.(out|log|htaccess)$" {
url.access-deny = ("")
}
-$HTTP["url"] =~ "(^|/)\.git" {
+$HTTP["url"] =~ "(^|/)\.git|(^|/)store" {
url.access-deny = ("")
}
diff --git a/doc/install/sample-nginx.conf b/doc/install/sample-nginx.conf
index 396e39fb8..cd12d8dea 100644
--- a/doc/install/sample-nginx.conf
+++ b/doc/install/sample-nginx.conf
@@ -124,4 +124,12 @@ server {
location ~ /\. {
deny all;
}
+
+#deny access to store
+
+ location ~ /store {
+ deny all;
+ }
+
+
}
diff --git a/images/default_profile_photos/blank/175.jpg b/images/default_profile_photos/blank/175.jpg
new file mode 100644
index 000000000..4024d6e88
--- /dev/null
+++ b/images/default_profile_photos/blank/175.jpg
Binary files differ
diff --git a/images/default_profile_photos/blank/48.jpg b/images/default_profile_photos/blank/48.jpg
new file mode 100644
index 000000000..e7c44fcff
--- /dev/null
+++ b/images/default_profile_photos/blank/48.jpg
Binary files differ
diff --git a/images/default_profile_photos/blank/80.jpg b/images/default_profile_photos/blank/80.jpg
new file mode 100644
index 000000000..767e1ee66
--- /dev/null
+++ b/images/default_profile_photos/blank/80.jpg
Binary files differ
diff --git a/images/default_profile_photos/red_koala/175.jpg b/images/default_profile_photos/red_koala/175.jpg
new file mode 100644
index 000000000..e49343b1d
--- /dev/null
+++ b/images/default_profile_photos/red_koala/175.jpg
Binary files differ
diff --git a/images/default_profile_photos/red_koala/48.jpg b/images/default_profile_photos/red_koala/48.jpg
new file mode 100644
index 000000000..90e6d3a10
--- /dev/null
+++ b/images/default_profile_photos/red_koala/48.jpg
Binary files differ
diff --git a/images/default_profile_photos/red_koala/80.jpg b/images/default_profile_photos/red_koala/80.jpg
new file mode 100644
index 000000000..efab04c26
--- /dev/null
+++ b/images/default_profile_photos/red_koala/80.jpg
Binary files differ
diff --git a/include/Contact.php b/include/Contact.php
index 5725e06f0..fd450033c 100644
--- a/include/Contact.php
+++ b/include/Contact.php
@@ -77,6 +77,23 @@ function vcard_from_xchan($xchan, $observer = null, $mode = '') {
$a = get_app();
+ if(! $xchan) {
+ if($a->poi) {
+ $xchan = $a->poi;
+ }
+ elseif($a->profile['channel_hash']) {
+ $r = q("select * from xchan where xchan_hash = '%s' limit 1",
+ dbesc($a->profile['channel_hash'])
+ );
+ if($r)
+ $xchan = $r[0];
+ }
+ }
+
+ if(! $xchan)
+ return;
+
+// FIXME - show connect button to observer if appropriate
$connect = false;
if(local_user()) {
$r = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
@@ -238,7 +255,7 @@ function channel_remove($channel_id, $local = true) {
}
- q("DELETE FROM `group` WHERE `uid` = %d", intval($channel_id));
+ q("DELETE FROM `groups` WHERE `uid` = %d", intval($channel_id));
q("DELETE FROM `group_member` WHERE `uid` = %d", intval($channel_id));
q("DELETE FROM `event` WHERE `uid` = %d", intval($channel_id));
q("DELETE FROM `item` WHERE `uid` = %d", intval($channel_id));
diff --git a/include/ItemObject.php b/include/ItemObject.php
index 6088a2c1c..e9a0b65c0 100644
--- a/include/ItemObject.php
+++ b/include/ItemObject.php
@@ -10,6 +10,7 @@ require_once('boot.php');
/**
* An item
*/
+
class Item extends BaseObject {
public $data = array();
private $template = 'conv_item.tpl';
@@ -217,6 +218,7 @@ class Item extends BaseObject {
'isotime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'c'),
'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'),
'editedtime' => (($item['edited'] != $item['created']) ? sprintf( t('last edited: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['edited'], 'r')) : ''),
+ 'expiretime' => (($item['expires'] !== '0000-00-00 00:00:00') ? sprintf( t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')):''),
'lock' => $lock,
'verified' => $verified,
'unverified' => $unverified,
@@ -230,7 +232,7 @@ class Item extends BaseObject {
'like' => $like,
'dislike' => ((feature_enabled($conv->get_profile_owner(),'dislike')) ? $dislike : ''),
'share' => $share,
- 'plink' => get_plink($item,$mode),
+ 'plink' => get_plink($item),
'edpost' => ((feature_enabled($conv->get_profile_owner(),'edit_posts')) ? $edpost : ''),
'star' => ((feature_enabled($conv->get_profile_owner(),'star_posts')) ? $star : ''),
'tagger' => ((feature_enabled($conv->get_profile_owner(),'commtag')) ? $tagger : ''),
@@ -457,6 +459,11 @@ class Item extends BaseObject {
return $this->template;
}
+
+ private function set_template($t) {
+ $this->template = $t;
+ }
+
/**
* Check if this is a toplevel post
*/
diff --git a/include/account.php b/include/account.php
index ab442ab39..7d1aa598d 100644
--- a/include/account.php
+++ b/include/account.php
@@ -111,6 +111,7 @@ function create_account($arr) {
$expires = ((x($arr,'expires')) ? intval($arr['expires']) : '0000-00-00 00:00:00');
$default_service_class = get_config('system','default_service_class');
+
if($default_service_class === false)
$default_service_class = '';
@@ -382,11 +383,11 @@ function user_deny($hash) {
if(! count($register))
return false;
- $user = q("SELECT account_id FROM account WHERE account_id = %d LIMIT 1",
+ $account = q("SELECT account_id FROM account WHERE account_id = %d LIMIT 1",
intval($register[0]['uid'])
);
- if(! $user)
+ if(! $account)
return false;
$r = q("DELETE FROM account WHERE account_id = %d LIMIT 1",
diff --git a/include/acl_selectors.php b/include/acl_selectors.php
index 930f9967a..749ca75eb 100644
--- a/include/acl_selectors.php
+++ b/include/acl_selectors.php
@@ -14,7 +14,7 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) {
$o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" >\r\n";
- $r = q("SELECT * FROM `group` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `name` ASC",
+ $r = q("SELECT * FROM `groups` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `name` ASC",
intval(local_user())
);
diff --git a/include/activities.php b/include/activities.php
index 73180eae0..4502b758e 100644
--- a/include/activities.php
+++ b/include/activities.php
@@ -24,6 +24,8 @@ function profile_activity($changed, $value) {
$arr['item_flags'] = ITEM_WALL|ITEM_ORIGIN|ITEM_THREAD_TOP;
$arr['verb'] = ACTIVITY_UPDATE;
$arr['obj_type'] = ACTIVITY_OBJ_PROFILE;
+
+ $arr['$plink'] = z_root() . '/channel/' . $self['channel_address'] . '/?f=&mid=' . $arr['mid'];
$A = '[url=' . z_root() . '/channel/' . $self['channel_address'] . ']' . $self['channel_name'] . '[/url]';
diff --git a/include/api.php b/include/api.php
index 093839875..dc270167b 100644
--- a/include/api.php
+++ b/include/api.php
@@ -7,6 +7,7 @@ require_once("oauth.php");
require_once("html2plain.php");
require_once('include/security.php');
require_once('include/photos.php');
+require_once('include/items.php');
/*
*
@@ -362,7 +363,8 @@ require_once('include/photos.php');
'location' => ($usr) ? $usr[0]['channel_location'] : '',
'profile_image_url' => $uinfo[0]['xchan_photo_l'],
'url' => $uinfo[0]['xchan_url'],
- 'contact_url' => $a->get_baseurl()."/connections/".$uinfo[0]['abook_id'],
+//FIXME
+ 'contact_url' => $a->get_baseurl() . "/connections/".$uinfo[0]['abook_id'],
'protected' => false,
'friends_count' => intval($countfriends),
'created_at' => api_date($uinfo[0]['abook_created']),
@@ -555,7 +557,7 @@ require_once('include/photos.php');
function api_photos(&$a,$type) {
$album = $_REQUEST['album'];
- json_return_and_die(photos_list_photos($a->get_channel(),$a->get_observer()),$album);
+ json_return_and_die(photos_list_photos($a->get_channel(),$a->get_observer(),$album));
}
api_register_func('api/red/photos','api_photos', true);
@@ -1241,27 +1243,43 @@ require_once('include/photos.php');
$sql_extra = '';
if ($user_info['self']==1) $sql_extra .= " AND `item`.`wall` = 1 ";
+
+//FIXME - this isn't yet implemented
if ($exclude_replies > 0) $sql_extra .= ' AND `item`.`parent` = `item`.`id`';
- $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
- `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
- `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn_id`, `contact`.`self`,
- `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
- FROM `item`, `contact`
- WHERE `item`.`uid` = %d
- AND `item`.`contact-id` = %d
- AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`deleted` = 0
- AND `contact`.`id` = `item`.`contact-id`
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- $sql_extra
- AND `item`.`id`>%d
- ORDER BY `item`.`received` DESC LIMIT %d ,%d ",
- intval(api_user()),
- intval($user_info['id']),
- intval($since_id),
- intval($start), intval($count)
- );
+// $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
+// `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
+// `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn_id`, `contact`.`self`,
+// `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
+// FROM `item`, `contact`
+// WHERE `item`.`uid` = %d
+// AND `item`.`contact-id` = %d
+// AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`deleted` = 0
+// AND `contact`.`id` = `item`.`contact-id`
+// AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+// $sql_extra
+// AND `item`.`id`>%d
+// ORDER BY `item`.`received` DESC LIMIT %d ,%d ",
+// intval(api_user()),
+// intval($user_info['id']),
+// intval($since_id),
+// intval($start), intval($count)
+// );
+
+ $arr = array(
+ 'uid' => api_user(),
+ 'since_id' => $since_id,
+ 'start' => $start,
+ 'records' => $count);
+
+ if ($user_info['self']==1)
+ $arr['wall'] = 1;
+ else
+ $arr['cid'] = $user_info['id'];
+
+ $r = items_fetch($arr,get_app()->get_channel(),get_observer_hash());
+
$ret = api_format_items($r,$user_info);
diff --git a/include/attach.php b/include/attach.php
index 0c748cba6..dbc489a2d 100644
--- a/include/attach.php
+++ b/include/attach.php
@@ -79,17 +79,12 @@ function z_mime_content_type($filename) {
if (array_key_exists($ext, $mime_types)) {
return $mime_types[$ext];
}
+
+
}
-// can't use this because we're just passing a name, e.g. not a file that can be opened
-// elseif (function_exists('finfo_open')) {
-// $finfo = @finfo_open(FILEINFO_MIME);
-// $mimetype = @finfo_file($finfo, $filename);
-// @finfo_close($finfo);
-// return $mimetype;
-// }
- else {
- return 'application/octet-stream';
- }
+
+ return 'application/octet-stream';
+
}
@@ -193,13 +188,13 @@ function attach_by_hash($hash,$rev = 0) {
$sql_extra = permissions_sql($r[0]['uid']);
// Now we'll see if we can access the attachment
-dbg(1);
+
$r = q("SELECT * FROM attach WHERE hash = '%s' and uid = %d $sql_extra LIMIT 1",
dbesc($hash),
intval($r[0]['uid'])
);
-dbg(0);
+
if(! $r) {
$ret['message'] = t('Permission denied.');
return $ret;
@@ -242,7 +237,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, 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, 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)
);
@@ -334,9 +329,10 @@ function attach_store($channel,$observer_hash,$options = '',$arr = null) {
}
$limit = service_class_fetch($channel_id,'attach_upload_limit');
+
if($limit !== false) {
- $r = q("select sum(filesize) as total from attach where uid = %d ",
- intval($channel_id)
+ $r = q("select sum(filesize) as total from attach where aid = %d ",
+ intval($channel['channel_account_id'])
);
if(($r) && (($r[0]['total'] + $filesize) > ($limit - $existing_size))) {
$ret['message'] = upgrade_message(true).sprintf(t("You have reached your limit of %1$.0f Mbytes attachment storage."),$limit / 1024000);
@@ -363,11 +359,12 @@ function attach_store($channel,$observer_hash,$options = '',$arr = null) {
);
}
elseif($options === 'revise') {
- $r = q("insert into attach ( aid, uid, hash, filename, filetype, filesize, revision, data, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
- VALUES ( %d, %d, '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
+ $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' ) ",
intval($x[0]['aid']),
intval($channel_id),
dbesc($x[0]['hash']),
+ dbesc(get_observer_hash()),
dbesc($filename),
dbesc($mimetype),
intval($filesize),
@@ -398,11 +395,12 @@ function attach_store($channel,$observer_hash,$options = '',$arr = null) {
}
else {
- $r = q("INSERT INTO attach ( aid, uid, hash, filename, filetype, filesize, revision, data, created, edited, allow_cid, allow_gid,deny_cid, deny_gid )
- VALUES ( %d, %d, '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
+ $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' ) ",
intval($channel['channel_account_id']),
intval($channel_id),
dbesc($hash),
+ dbesc(get_observer_hash()),
dbesc($filename),
dbesc($mimetype),
intval($filesize),
@@ -427,7 +425,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, 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, 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)
);
@@ -487,7 +485,7 @@ function z_readdir($channel_id,$observer_hash,$pathname, $parent_hash = '') {
else
$paths = array($pathname);
- $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 id = %d and folder = '%s' and filename = '%s' and (flags & %d ) " . permissions_sql($channel_id),
+ $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 ) " . permissions_sql($channel_id),
intval($channel_id),
dbesc($parent_hash),
dbesc($paths[0]),
@@ -531,11 +529,14 @@ function attach_mkdir($channel,$observer_hash,$arr = null) {
$sql_options = '';
$basepath = 'store/' . $channel['channel_address'];
+
+ logger('attach_mkdir: basepath: ' . $basepath);
+
if(! is_dir($basepath))
- @mkdir($basepath,STORAGE_DEFAULT_PERMISSIONS,true);
+ mkdir($basepath,STORAGE_DEFAULT_PERMISSIONS,true);
- if(! perm_is_allowed($channel_id, get_observer_hash(),'write_storage')) {
+ if(! perm_is_allowed($channel_id, $observer_hash,'write_storage')) {
$ret['message'] = t('Permission denied.');
return $ret;
}
@@ -571,16 +572,19 @@ function attach_mkdir($channel,$observer_hash,$arr = null) {
$lpath = '';
$lfile = $arr['folder'];
- $sql_options = permissions_sql($channel);
+ $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 )
$sql_options limit 1",
intval($channel['channel_id']),
dbesc($lfile),
intval(ATTACH_FLAG_DIR)
);
+
if(! $r) {
+ logger('attach_mkdir: hash ' . $lfile . ' not found in ' . $lpath);
$ret['message'] = t('Path not found.');
return $ret;
}
@@ -598,28 +602,29 @@ function attach_mkdir($channel,$observer_hash,$arr = null) {
$created = datetime_convert();
- $r = q("INSERT INTO attach ( aid, uid, hash, filename, filetype, filesize, revision, folder, flags, data, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
- VALUES ( %d, %d, '%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, 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' ) ",
intval($channel['channel_account_id']),
intval($channel_id),
dbesc($arr['hash']),
+ dbesc(get_observer_hash()),
dbesc($arr['filename']),
dbesc('multipart/mixed'),
intval(0),
intval(0),
dbesc($arr['folder']),
- intval(ATTACH_FLAG_DIR),
- dbesc(''),
+ intval(ATTACH_FLAG_DIR|ATTACH_FLAG_OS),
+ dbesc($path),
dbesc($created),
dbesc($created),
- dbesc(($arr && array_key_exists('allow_cid',$arr)) ? $arr['allow_cid'] : ''),
- 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'] : $channel['channel_allow_cid']),
+ dbesc(($arr && array_key_exists('allow_gid',$arr)) ? $arr['allow_gid'] : $channel['channel_allow_gid']),
+ dbesc(($arr && array_key_exists('deny_cid',$arr)) ? $arr['deny_cid'] : $channel['channel_deny_cid']),
+ dbesc(($arr && array_key_exists('deny_gid',$arr)) ? $arr['deny_gid'] : $channel['channel_deny_gid'])
);
if($r) {
- if(mkdir($path,STORAGE_DEFAULT_PERMISSIONS)) {
+ if(mkdir($path,STORAGE_DEFAULT_PERMISSIONS,true)) {
$ret['success'] = true;
$ret['data'] = $arr;
}
@@ -633,4 +638,153 @@ function attach_mkdir($channel,$observer_hash,$arr = null) {
return $ret;
+}
+
+
+
+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",
+ dbesc($resource),
+ intval($channel_id)
+ );
+
+ if(! $r)
+ return;
+
+ if($r[0]['flags'] & ATTACH_FLAG_DIR) {
+ if($recurse) {
+ $r = q("select hash, flags from attach where folder = '%s' and uid = %d",
+ dbesc($resource),
+ intval($channel_id)
+ );
+ if($r) {
+ foreach($r as $rr) {
+ attach_change_permissions($channel_id,$resource,$allow_cid,$allow_gid,$deny_cid,$deny_gid,$recurse);
+ }
+ }
+ }
+ }
+
+ $x = q("update attach set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where hash = '%s' and uid = %d limit 1",
+ dbesc($allow_cid),
+ dbesc($allow_gid),
+ dbesc($deny_cid),
+ dbesc($deny_gid),
+ dbesc($resource),
+ intval($channel_id)
+ );
+
+ return;
+}
+
+
+
+function attach_delete($channel_id,$resource) {
+
+
+ $c = q("select channel_address from channel where channel_id = %d limit 1",
+ intval($channel_id)
+ );
+
+ $channel_address = (($c) ? $c[0]['channel_address'] : 'notfound');
+
+ $r = q("select hash, flags from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($resource),
+ intval($channel_id)
+ );
+
+
+ if(! $r)
+ return;
+
+ if($r[0]['flags'] & ATTACH_FLAG_DIR) {
+ $x = q("select hash, flags from attach where folder = '%s' and uid = %d",
+ dbesc($resource),
+ intval($channel_id)
+ );
+ if($x) {
+ foreach($x as $xx) {
+ attach_delete($channel_id,$xx['hash']);
+ }
+ }
+ }
+ if($r[0]['flags'] & ATTACH_FLAG_OS) {
+ $y = q("select data from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($resource),
+ intval($channel_id)
+ );
+
+ if($y) {
+ $f = 'store/' . $channel_address . '/' . $y[0]['data'];
+ if(is_dir($f))
+ @rmdir($f);
+ elseif(file_exists($f))
+ unlink($f);
+ }
+ }
+
+ $z = q("delete from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($resource),
+ intval($channel_id)
+ );
+
+ return;
+}
+
+
+
+function get_cloudpath($arr) {
+
+ $basepath = 'cloud/';
+ if($arr['uid']) {
+ $r = q("select channel_address from channel where channel_id = %d limit 1",
+ intval($arr['uid'])
+ );
+ if($r)
+ $basepath .= $r[0]['channel_address'] . '/';
+ }
+
+
+ $path = $basepath;
+
+ if($arr['folder']) {
+
+ $lpath = '';
+ $lfile = $arr['folder'];
+
+ do {
+ $r = q("select filename, hash, flags, folder from attach where uid = %d and hash = '%s' and ( flags & %d )
+ limit 1",
+ intval($arr['uid']),
+ dbesc($lfile),
+ intval(ATTACH_FLAG_DIR)
+ );
+
+ if(! $r)
+ break;
+
+ if($lfile)
+ $lpath = $r[0]['filename'] . '/' . $lpath;
+ $lfile = $r[0]['folder'];
+
+ } while ( ($r[0]['folder']) && ($r[0]['flags'] & ATTACH_FLAG_DIR)) ;
+
+ $path .= $lpath;
+
+ }
+
+ $path .= $arr['filename'];
+ return $path;
+
+}
+
+
+
+
+function pipe_streams($in, $out) {
+ $size = 0;
+ while (!feof($in))
+ $size += fwrite($out,fread($in,8192));
+ return $size;
} \ No newline at end of file
diff --git a/include/auth.php b/include/auth.php
index c0002e6c1..a92f998bf 100644
--- a/include/auth.php
+++ b/include/auth.php
@@ -34,6 +34,7 @@ function nuke_session() {
*/
function account_verify_password($email,$pass) {
+
$r = q("select * from account where account_email = '%s'",
dbesc($email)
);
@@ -46,7 +47,13 @@ function account_verify_password($email,$pass) {
return $record;
}
}
- logger('password failed for ' . $email);
+ $error = 'password failed for ' . $email;
+ logger($error);
+ // Also log failed logins to a separate auth log to reduce overhead for server side intrusion prevention
+ $authlog = get_config('system', 'authlog');
+ if ($authlog)
+ @file_put_contents($authlog, datetime_convert() . ':' . session_id() . ' ' . $error . "\n", FILE_APPEND);
+
return null;
}
@@ -186,7 +193,13 @@ else {
}
if((! $record) || (! count($record))) {
- logger('authenticate: failed login attempt: ' . notags(trim($_POST['username'])) . ' from IP ' . $_SERVER['REMOTE_ADDR']);
+ $error = 'authenticate: failed login attempt: ' . notags(trim($_POST['username'])) . ' from IP ' . $_SERVER['REMOTE_ADDR'];
+ logger($error);
+ // Also log failed logins to a separate auth log to reduce overhead for server side intrusion prevention
+ $authlog = get_config('system', 'authlog');
+ if ($authlog)
+ @file_put_contents($authlog, datetime_convert() . ':' . session_id() . ' ' . $error . "\n", FILE_APPEND);
+
notice( t('Login failed.') . EOL );
goaway(z_root());
}
diff --git a/include/bbcode.php b/include/bbcode.php
index 271cace73..fec8750e9 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -16,6 +16,40 @@ function tryoembed($match) {
return $html;
}
+function tryzrlaudio($match) {
+
+ $link = $match[1];
+ $m = @parse_url($link);
+ $zrl = false;
+ if($m['host']) {
+ $r = q("select hubloc_url from hubloc where hubloc_host = '%s' limit 1",
+ dbesc($m['host'])
+ );
+ if($r)
+ $zrl = true;
+ }
+ if($zrl)
+ $link = zid($link);
+ return '<audio src="' . $link . '" controls="controls" ><a href="' . $link . '">' . $link . '</a></audio>';
+}
+
+function tryzrlvideo($match) {
+ $link = $match[1];
+ $m = @parse_url($link);
+ $zrl = false;
+ if($m['host']) {
+ $r = q("select hubloc_url from hubloc where hubloc_host = '%s' limit 1",
+ dbesc($m['host'])
+ );
+ if($r)
+ $zrl = true;
+ }
+ if($zrl)
+ $link = zid($link);
+ return '<video src="' . $link . '" controls="controls" width="' . get_app()->videowidth . '" height="' . $a->videoheight . '"><a href="' . $link . '">' . $link . '</a></video>';
+
+}
+
// [noparse][i]italic[/i][/noparse] turns into
// [noparse][ i ]italic[ /i ][/noparse],
// to hide them from parser.
@@ -105,21 +139,24 @@ function bb_parse_crypt($match) {
$attributes = $match[1];
$algorithm = "";
+
preg_match("/alg='(.*?)'/ism", $attributes, $matches);
if ($matches[1] != "")
- $algorithm = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8');
+ $algorithm = $matches[1];
preg_match("/alg=\&quot\;(.*?)\&quot\;/ism", $attributes, $matches);
if ($matches[1] != "")
- $algorithm = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8');
+ $algorithm = $matches[1];
$hint = "";
+
+
preg_match("/hint='(.*?)'/ism", $attributes, $matches);
if ($matches[1] != "")
- $hint = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8');
+ $hint = $matches[1];
preg_match("/hint=\&quot\;(.*?)\&quot\;/ism", $attributes, $matches);
if ($matches[1] != "")
- $hint = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8');
+ $hint = $matches[1];
$x = random_string();
@@ -129,6 +166,9 @@ function bb_parse_crypt($match) {
}
+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) {
@@ -183,6 +223,10 @@ function bb_ShareAttributes($match) {
return($text);
}
+function bb_location($match) {
+ // not yet implemented
+}
+
function bb_ShareAttributesSimple($match) {
$attributes = $match[1];
@@ -250,6 +294,11 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'bb_spacefy',$Text);
}
+// Not yet implemented - thinking this should display a map or perhaps be a map directive
+// if (strpos($Text,'[location]') !== false) {
+// $Text = preg_replace_callback("/\[location\](.*?)\[\/location\]/ism", 'bb_location',$Text);
+// }
+
// If we find any event code, turn it into an event.
@@ -260,6 +309,7 @@ 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
+
$observer = $a->get_observer();
if ((strpos($Text,'[/observer]') !== false) || (strpos($Text,'[/rpost]') !== false)) {
if ($observer) {
@@ -273,6 +323,9 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
}
}
+ $Text = str_replace(array('[baseurl]','[sitename]'),array(z_root(),get_config('system','sitename')),$Text);
+
+
// Replace any html brackets with HTML Entities to prevent executing HTML or script
// Don't use strip_tags here because it breaks [url] search by replacing & with amp
@@ -325,6 +378,12 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
if (strpos($Text,'http') !== false) {
$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);
}
@@ -383,14 +442,6 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// Check for list text
$Text = str_replace("[*]", "<li>", $Text);
- // Check for style sheet commands
- if (strpos($Text,'[/style]') !== false) {
- $Text = preg_replace("(\[style=(.*?)\](.*?)\[\/style\])ism","<span style=\"$1;\">$2</span>",$Text);
- }
- // Check for CSS classes
- if (strpos($Text,'[/class]') !== false) {
- $Text = preg_replace("(\[class=(.*?)\](.*?)\[\/class\])ism","<span class=\"$1\">$2</span>",$Text);
- }
// handle nested lists
$endlessloop = 0;
@@ -418,7 +469,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
if (strpos($Text,'[tr]') !== false) {
$Text = preg_replace("/\[tr\](.*?)\[\/tr\]/sm", '<tr>$1</tr>' ,$Text);
}
- if (strpos($Text,'[table]') !== false) {
+ if (strpos($Text,'[/table]') !== false) {
$Text = preg_replace("/\[table\](.*?)\[\/table\]/sm", '<table>$1</table>' ,$Text);
$Text = preg_replace("/\[table border=1\](.*?)\[\/table\]/sm", '<table border="1" >$1</table>' ,$Text);
$Text = preg_replace("/\[table border=0\](.*?)\[\/table\]/sm", '<table border="0" >$1</table>' ,$Text);
@@ -502,14 +553,18 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism",'<br/><div id="' . $x . '"><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" onclick="red_decrypt(\'rot13\',\'\',\'$1\',\'#' . $x . '\');" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br /></div>', $Text);
$Text = preg_replace_callback("/\[crypt (.*?)\](.*?)\[\/crypt\]/ism", 'bb_parse_crypt', $Text);
}
+
+ // html5 video and audio
+ if (strpos($Text,'[/video]') !== false) {
+ $Text = preg_replace_callback("/\[video\](.*?\.(ogg|ogv|oga|ogm|webm|mp4))\[\/video\]/ism", 'tryzrlvideo', $Text);
+ }
+ if (strpos($Text,'[/audio]') !== false) {
+ $Text = preg_replace_callback("/\[audio\](.*?\.(ogg|ogv|oga|ogm|webm|mp4|mp3))\[\/audio\]/ism", 'tryzrlaudio', $Text);
+ }
+
// Try to Oembed
if ($tryoembed) {
- if (strpos($Text,'[/video]') !== false) {
- $Text = preg_replace("/\[video\](.*?\.(ogg|ogv|oga|ogm|webm|mp4))\[\/video\]/ism", '<video src="$1" controls="controls" width="' . $a->videowidth . '" height="' . $a->videoheight . '"><a href="$1">$1</a></video>', $Text);
- }
- if (strpos($Text,'[/audio]') !== false) {
- $Text = preg_replace("/\[audio\](.*?\.(ogg|ogv|oga|ogm|webm|mp4|mp3))\[\/audio\]/ism", '<audio src="$1" controls="controls"><a href="$1">$1</a></audio>', $Text);
- }
+
if (strpos($Text,'[/video]') !== false) {
$Text = preg_replace_callback("/\[video\](.*?)\[\/video\]/ism", 'tryoembed', $Text);
}
@@ -527,7 +582,6 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
}
- // html5 video and audio
if ($tryoembed){
diff --git a/include/chat.php b/include/chat.php
new file mode 100644
index 000000000..6bcb003ff
--- /dev/null
+++ b/include/chat.php
@@ -0,0 +1,148 @@
+<?php /** @file */
+
+
+function chatroom_create($channel,$arr) {
+
+ $ret = array('success' => false);
+
+ $name = trim($arr['name']);
+ if(! $name) {
+ $ret['message'] = t('Missing room name');
+ return $ret;
+ }
+
+ $r = q("select cr_id from chatroom where cr_uid = %d and cr_name = '%s' limit 1",
+ intval($channel['channel_id']),
+ dbesc($name)
+ );
+ if($r) {
+ $ret['message'] = t('Duplicate room name');
+ return $ret;
+ }
+
+ $created = datetime_convert();
+
+ $x = q("insert into chatroom ( cr_aid, cr_uid, cr_name, cr_created, cr_edited, allow_cid, allow_gid, deny_cid, deny_gid )
+ values ( %d, %d , '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
+ intval($channel['channel_account_id']),
+ intval($channel['channel_id']),
+ dbesc($name),
+ dbesc($created),
+ dbesc($created),
+ dbesc($arr['allow_cid']),
+ dbesc($arr['allow_gid']),
+ dbesc($arr['deny_cid']),
+ dbesc($arr['deny_gid'])
+ );
+
+ if($x)
+ $ret['success'] = true;
+
+ return $ret;
+}
+
+
+function chatroom_destroy($channel,$arr) {
+
+ $ret = array('success' => false);
+ if(intval($arr['cr_id']))
+ $sql_extra = " and cr_id = " . intval($arr['cr_id']) . " ";
+ elseif(trim($arr['cr_name']))
+ $sql_extra = " and cr_name = '" . protect_sprintf(dbesc(trim($arr['cr_name']))) . "' ";
+ else {
+ $ret['message'] = t('Invalid room specifier.');
+ return $ret;
+ }
+
+ $r = q("select * from chatroom where cr_uid = %d $sql_extra limit 1",
+ intval($channel['channel_id'])
+ );
+ if(! $r) {
+ $ret['message'] = t('Invalid room specifier.');
+ return $ret;
+ }
+
+ q("delete from chatroom where cr_id = %d limit 1",
+ intval($r[0]['cr_id'])
+ );
+ if($r[0]['cr_id']) {
+ q("delete from chatpresence where cp_room = %d",
+ intval($r[0]['cr_id'])
+ );
+ }
+ $ret['success'] = true;
+ return $ret;
+}
+
+
+function chatroom_enter($observer_xchan,$room_id,$status,$client) {
+
+ if(! $room_id || ! $observer_xchan)
+ return;
+
+ $r = q("select * from chatroom where cr_id = %d limit 1",
+ intval($room_id)
+ );
+ if(! $r)
+ return;
+ require_once('include/security.php');
+ $sql_extra = permissions_sql($r[0]['cr_uid']);
+
+ $x = q("select * from chatroom where cr_id = %d and uid = %d $sql_extra limit 1",
+ intval($room_id)
+ intval($r[0]['cr_uid'])
+ );
+ if(! $x) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+ $r = q("select * from chatpresence where cp_xchan = '%s' and cp_room = %d limit 1",
+ dbesc($observer_xchan),
+ intval($room_id)
+ );
+ if($r) {
+ q("update chatpresence set cp_status = %d and cp_last = '%s' where cp_id = %d limit 1",
+ dbesc($status),
+ dbesc(datetime_convert()),
+ intval($r[0]['cp_id'])
+ );
+ return true;
+ }
+
+ $r = q("insert into chatpresence ( cp_room, cp_xchan, cp_last, cp_status, cp_client )
+ values ( %d, '%s', '%s', '%s', '%s' )",
+ intval($room_id),
+ dbesc($observer_xchan),
+ dbesc(datetime_convert()),
+ dbesc($status),
+ dbesc($client)
+ );
+ return $r;
+}
+
+
+function chatroom_leave($observer_xchan,$room_id,$status) {
+ if(! $room_id || ! $observer_xchan)
+ return;
+ $r = q("select * from chatpresence where cp_xchan = '%s' and cp_room = %d limit 1",
+ dbesc($observer_xchan),
+ intval($room_id)
+ );
+ if($r) {
+ q("delete from chatpresence where cp_id = %d limit 1",
+ intval($r[0]['cp_id'])
+ );
+ }
+ return true;
+}
+
+
+function chatroom_list($uid) {
+
+ $r = q("select cr_name, cr_id, count(cp_id) as cr_inroom from chatroom left join chatpresence on cr_id = cp_room where cr_uid = %d group by cp_id order by cr_name",
+ intval($uid)
+ );
+
+ return $r;
+} \ No newline at end of file
diff --git a/include/contact_widgets.php b/include/contact_widgets.php
index cc0a3d617..482bbed78 100644
--- a/include/contact_widgets.php
+++ b/include/contact_widgets.php
@@ -25,7 +25,8 @@ function findpeople_widget() {
'$suggest' => t('Channel Suggestions'),
'$similar' => '', // FIXME and uncomment when mod/match working // t('Similar Interests'),
'$random' => t('Random Profile'),
- '$inv' => t('Invite Friends')
+ '$inv' => t('Invite Friends'),
+ '$loggedin' => local_user()
));
}
diff --git a/include/conversation.php b/include/conversation.php
index f5fc9da93..316bc1612 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -687,12 +687,13 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
'isotime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'c'),
'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'),
'editedtime' => (($item['edited'] != $item['created']) ? sprintf( t('last edited: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['edited'], 'r')) : ''),
+ 'expiretime' => (($item['expires'] !== '0000-00-00 00:00:00') ? sprintf( t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')):''),
'location' => $location,
'indent' => '',
'owner_name' => $owner_name,
'owner_url' => $owner_url,
'owner_photo' => $owner_photo,
- 'plink' => get_plink($item,$mode),
+ 'plink' => get_plink($item,false),
'edpost' => false,
'isstarred' => $isstarred,
'star' => $star,
@@ -782,6 +783,9 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
// $tx1 = dba_timer();
$item_object = new Item($item);
$conv->add_thread($item_object);
+ if($page_mode === 'list')
+ $item_object->set_template('conv_list.tpl');
+
// $tx2 = dba_timer();
// if($mode === 'network')
// profiler($tx1,$tx2,'add thread ' . $item['id']);
@@ -908,14 +912,14 @@ function item_photo_menu($item){
}
$profile_link = z_root() . "/chanview/?f=&hash=" . $item['author_xchan'];
- $pm_url = $a->get_baseurl($ssl_state) . '/message/new/?f=&hash=' . $item['author_xchan'];
+ $pm_url = $a->get_baseurl($ssl_state) . '/mail/new/?f=&hash=' . $item['author_xchan'];
if($a->contacts && array_key_exists($item['author_xchan'],$a->contacts))
$contact = $a->contacts[$item['author_xchan']];
if($contact) {
$poke_link = $a->get_baseurl($ssl_state) . '/poke/?f=&c=' . $contact['abook_id'];
- $contact_url = $a->get_baseurl($ssl_state) . '/connections/' . $contact['abook_id'];
+ $contact_url = $a->get_baseurl($ssl_state) . '/connedit/' . $contact['abook_id'];
$posts_link = $a->get_baseurl($ssl_state) . '/network/?cid=' . $contact['abook_id'];
$clean_url = normalise_link($item['author-link']);
@@ -1108,7 +1112,7 @@ function status_editor($a,$x,$popup=false) {
'$shortsetloc' => t('set location'),
'$noloc' => t('Clear browser location'),
'$shortnoloc' => t('clear location'),
- '$title' => ((x($x,'title')) ? htmlspecialchars($x['title']) : ''),
+ '$title' => ((x($x,'title')) ? htmlspecialchars($x['title'], ENT_COMPAT,'UTF-8') : ''),
'$placeholdertitle' => t('Set title'),
'$catsenabled' => ((feature_enabled($x['profile_uid'],'categories') && (! $webpage)) ? 'categories' : ''),
'$category' => "",
@@ -1117,7 +1121,7 @@ function status_editor($a,$x,$popup=false) {
'$permset' => t('Permission settings'),
'$shortpermset' => t('permissions'),
'$ptyp' => (($notes_cid) ? 'note' : 'wall'),
- '$content' => ((x($x,'body')) ? htmlspecialchars($x['body']) : ''),
+ '$content' => ((x($x,'body')) ? htmlspecialchars($x['body'], ENT_COMPAT,'UTF-8') : ''),
'$post_id' => '',
'$baseurl' => $a->get_baseurl(true),
'$defloc' => $x['default_location'],
@@ -1142,6 +1146,8 @@ function status_editor($a,$x,$popup=false) {
'$feature_encrypt' => ((feature_enabled($x['profile_uid'],'content_encrypt') && (! $webpage)) ? 'block' : 'none'),
'$encrypt' => t('Encrypt text'),
'$cipher' => $cipher,
+ '$expiryModalOK' => t('OK'),
+ '$expiryModalCANCEL' => t('Cancel'),
));
@@ -1294,18 +1300,25 @@ function prepare_page($item) {
$a = get_app();
$naked = ((get_pconfig($item['uid'],'system','nakedpage')) ? 1 : 0);
+ $observer = $a->get_observer();
+ $zid = ($observer['xchan_addr']);
+ //240 chars is the longest we can have before we start hitting problems with suhosin sites
+ $preview = substr(urlencode($item['body']), 0, 240);
+ $link = z_root() . '/' . $a->cmd;
if(array_key_exists('webpage',$a->layout) && array_key_exists('authored',$a->layout['webpage'])) {
if($a->layout['webpage']['authored'] === 'none')
$naked = 1;
// ... other possible options
}
-
return replace_macros(get_markup_template('page_display.tpl'),array(
'$author' => (($naked) ? '' : $item['author']['xchan_name']),
'$auth_url' => (($naked) ? '' : $item['author']['xchan_url']),
+ '$zid' => $zid,
'$date' => (($naked) ? '' : datetime_convert('UTC',date_default_timezone_get(),$item['created'],'Y-m-d H:i')),
'$title' => smilies(bbcode($item['title'])),
- '$body' => prepare_body($item,true)
+ '$body' => prepare_body($item,true),
+ '$preview' => $preview,
+ '$link' => $link,
));
}
@@ -1366,26 +1379,26 @@ function network_tabs() {
$tabs = array(
array(
'label' => t('Commented Order'),
- 'url'=>$a->get_baseurl(true) . '/' . $cmd . '?f=&order=comment' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
+ 'url'=>$a->get_baseurl(true) . '/' . $cmd . '?f=&order=comment' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '') . ((x($_GET,'gid')) ? '&gid=' . $_GET['gid'] : ''),
'sel'=>$all_active,
'title'=> t('Sort by Comment Date'),
),
array(
'label' => t('Posted Order'),
- 'url'=>$a->get_baseurl(true) . '/' . $cmd . '?f=&order=post' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
+ 'url'=>$a->get_baseurl(true) . '/' . $cmd . '?f=&order=post' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '') . ((x($_GET,'gid')) ? '&gid=' . $_GET['gid'] : ''),
'sel'=>$postord_active,
'title' => t('Sort by Post Date'),
),
array(
'label' => t('Personal'),
- 'url' => $a->get_baseurl(true) . '/' . $cmd . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&conv=1',
+ 'url' => $a->get_baseurl(true) . '/' . $cmd . '?f=' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '') . '&conv=1',
'sel' => $conv_active,
'title' => t('Posts that mention or involve you'),
),
array(
'label' => t('New'),
- 'url' => $a->get_baseurl(true) . '/' . $cmd . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&new=1',
+ 'url' => $a->get_baseurl(true) . '/' . $cmd . '?f=' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '') . '&new=1' . ((x($_GET,'gid')) ? '&gid=' . $_GET['gid'] : ''),
'sel' => $new_active,
'title' => t('Activity Stream - by date'),
),
@@ -1423,7 +1436,8 @@ function network_tabs() {
function profile_tabs($a, $is_owner=False, $nickname=Null){
//echo "<pre>"; var_dump($a->user); killme();
-
+
+
$channel = $a->get_channel();
if (is_null($nickname))
@@ -1443,24 +1457,38 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
'title' => t('Status Messages and Posts'),
'id' => 'status-tab',
),
- array(
+ );
+
+ $p = get_all_perms($a->profile['profile_uid'],get_observer_hash());
+
+ if($p['view_profile']) {
+ $tabs[] = array(
'label' => t('About'),
'url' => $pr,
'sel' => ((argv(0) == 'profile') ? 'active' : ''),
'title' => t('Profile Details'),
'id' => 'profile-tab',
- ),
- array(
+ );
+ }
+ if($p['view_photos']) {
+ $tabs[] = array(
'label' => t('Photos'),
'url' => $a->get_baseurl() . '/photos/' . $nickname,
'sel' => ((argv(0) == 'photos') ? 'active' : ''),
'title' => t('Photo Albums'),
'id' => 'photo-tab',
- ),
- );
-
-
- if ($is_owner){
+ );
+ }
+ if($p['view_storage']) {
+ $tabs[] = array(
+ 'label' => t('Files'),
+ 'url' => $a->get_baseurl() . '/cloud/' . $nickname . ((get_observer_hash()) ? '' : '?f=&davguest=1'),
+ 'sel' => ((argv(0) == 'cloud') ? 'active' : ''),
+ 'title' => t('Files and Storage'),
+ 'id' => 'files-tab',
+ );
+ }
+ if($is_owner) {
$tabs[] = array(
'label' => t('Events'),
'url' => $a->get_baseurl() . '/events',
@@ -1468,15 +1496,18 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
'title' => t('Events and Calendar'),
'id' => 'events-tab',
);
- if(feature_enabled(local_user(),'webpages')){
+ }
+
+ if($is_owner && feature_enabled($a->profile['profile_uid'],'webpages')) {
$tabs[] = array(
'label' => t('Webpages'),
'url' => $a->get_baseurl() . '/webpages/' . $nickname,
'sel' => ((argv(0) == 'webpages') ? 'active' : ''),
'title' => t('Manage Webpages'),
'id' => 'webpages-tab',
- );}
+ );
}
+
else {
// FIXME
// we probably need a listing of events that were created by
diff --git a/include/crypto.php b/include/crypto.php
index e9372fbb4..33cdc10c0 100644
--- a/include/crypto.php
+++ b/include/crypto.php
@@ -4,6 +4,8 @@ function rsa_sign($data,$key,$alg = 'sha256') {
if(! $key)
return 'no key';
$sig = '';
+ if(intval(OPENSSL_ALGO_SHA256) && $alg === 'sha256')
+ $alg = OPENSSL_ALGO_SHA256;
openssl_sign($data,$sig,$key,$alg);
return $sig;
}
@@ -13,6 +15,8 @@ function rsa_verify($data,$sig,$key,$alg = 'sha256') {
if(! $key)
return false;
+ if(intval(OPENSSL_ALGO_SHA256) && $alg === 'sha256')
+ $alg = OPENSSL_ALGO_SHA256;
$verify = openssl_verify($data,$sig,$key,$alg);
return $verify;
}
diff --git a/include/deliver.php b/include/deliver.php
index b1314ce39..b0d15e1ef 100644
--- a/include/deliver.php
+++ b/include/deliver.php
@@ -26,6 +26,7 @@ function deliver_run($argv, $argc) {
// If there is no outq_msg, this is a refresh_all message which does not require local handling
if($r[0]['outq_msg']) {
$msg = array('body' => json_encode(array('pickup' => array(array('notify' => json_decode($r[0]['outq_notify'],true),'message' => json_decode($r[0]['outq_msg'],true))))));
+
zot_import($msg,z_root());
$r = q("delete from outq where outq_hash = '%s' limit 1",
dbesc($argv[$x])
diff --git a/include/dir_fns.php b/include/dir_fns.php
index 0c9a6bd9f..ab8b67985 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -22,7 +22,8 @@ function dir_sort_links() {
function dir_safe_mode() {
$observer = get_observer_hash();
-
+ if (! $observer)
+ return;
if ($observer)
$safe_mode = get_xconfig($observer,'directory','safe_mode');
if($safe_mode === '0')
@@ -166,6 +167,10 @@ function syncdirs($uid) {
$profile['region'] = $p[0]['region'];
$profile['postcode'] = $p[0]['postal_code'];
$profile['country'] = $p[0]['country_name'];
+ $profile['about'] = $p[0]['about'];
+ $profile['homepage'] = $p[0]['homepage'];
+ $profile['hometown'] = $p[0]['hometown'];
+
if($p[0]['keywords']) {
$tags = array();
$k = explode(' ',$p[0]['keywords']);
@@ -200,10 +205,10 @@ function syncdirs($uid) {
}
+ $address = $p[0]['channel_address'] . '@' . get_app()->get_hostname();
if(perm_is_allowed($uid,'','view_profile')) {
- import_directory_profile($hash,$profile);
-
+ import_directory_profile($hash,$profile,$address,0);
}
else {
// they may have made it private
diff --git a/include/enotify.php b/include/enotify.php
index 011a1cde2..e0991257f 100644
--- a/include/enotify.php
+++ b/include/enotify.php
@@ -86,14 +86,17 @@ function notification($params) {
$preamble = sprintf( t('%1$s, %2$s sent you a new private message at %3$s.'),$recip['channel_name'], $sender['xchan_name'],$sitename);
$epreamble = sprintf( t('%1$s sent you %2$s.'),'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]', '[zrl=$itemlink]' . t('a private message') . '[/zrl]');
$sitelink = t('Please visit %s to view and/or reply to your private messages.');
- $tsitelink = sprintf( $sitelink, $siteurl . '/message/' . $params['item']['id'] );
- $hsitelink = sprintf( $sitelink, '<a href="' . $siteurl . '/message/' . $params['item']['id'] . '">' . $sitename . '</a>');
+ $tsitelink = sprintf( $sitelink, $siteurl . '/mail/' . $params['item']['id'] );
+ $hsitelink = sprintf( $sitelink, '<a href="' . $siteurl . '/mail/' . $params['item']['id'] . '">' . $sitename . '</a>');
$itemlink = $siteurl . '/message/' . $params['item']['id'];
}
if($params['type'] == NOTIFY_COMMENT) {
// logger("notification: params = " . print_r($params, true), LOGGER_DEBUG);
+ $itemlink = $params['link'];
+
+
// ignore like/unlike activity on posts - they probably require a sepearate notification preference
if(array_key_exists('item',$params) && (! visible_activity($params['item'])))
@@ -171,7 +174,6 @@ function notification($params) {
$sitelink = t('Please visit %s to view and/or reply to the conversation.');
$tsitelink = sprintf( $sitelink, $siteurl );
$hsitelink = sprintf( $sitelink, '<a href="' . $siteurl . '">' . $sitename . '</a>');
- $itemlink = $params['link'];
}
if($params['type'] == NOTIFY_WALL) {
@@ -183,9 +185,6 @@ function notification($params) {
$recip['channel_name'],
'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$params['link']);
-
- // FIXME - check the item privacy
- $private = false;
$sitelink = t('Please visit %s to view and/or reply to the conversation.');
$tsitelink = sprintf( $sitelink, $siteurl );
@@ -455,6 +454,8 @@ function notification($params) {
if(! $datarray['email_secure']) {
switch($params['type']) {
case NOTIFY_WALL:
+ case NOTIFY_TAGSELF:
+ case NOTIFY_POKE:
case NOTIFY_COMMENT:
if(! $private)
break;
diff --git a/include/event.php b/include/event.php
index 7873de1ef..08b94dafa 100644
--- a/include/event.php
+++ b/include/event.php
@@ -15,7 +15,7 @@ function format_event_html($ev) {
$o .= '<p class="summary event-summary">' . bbcode($ev['summary']) . '</p>' . "\r\n";
- $o .= '<p class="description event-description">' . bbcode($ev['desc']) . '</p>' . "\r\n";
+ $o .= '<p class="description event-description">' . bbcode($ev['description']) . '</p>' . "\r\n";
$o .= '<p class="event-start">' . t('Starts:') . ' <abbr class="dtstart" title="'
. datetime_convert('UTC','UTC',$ev['start'], (($ev['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
@@ -52,8 +52,8 @@ function format_event_bbcode($ev) {
if($ev['summary'])
$o .= '[event-summary]' . $ev['summary'] . '[/event-summary]';
- if($ev['desc'])
- $o .= '[event-description]' . $ev['desc'] . '[/event-description]';
+ if($ev['description'])
+ $o .= '[event-description]' . $ev['description'] . '[/event-description]';
if($ev['start'])
$o .= '[event-start]' . $ev['start'] . '[/event-start]';
@@ -75,7 +75,7 @@ function format_event_bbcode($ev) {
function bbtovcal($s) {
$o = '';
$ev = bbtoevent($s);
- if($ev['desc'])
+ if($ev['description'])
$o = format_event_html($ev);
return $o;
}
@@ -90,7 +90,7 @@ function bbtoevent($s) {
$ev['summary'] = $match[1];
$match = '';
if(preg_match("/\[event\-description\](.*?)\[\/event\-description\]/is",$s,$match))
- $ev['desc'] = $match[1];
+ $ev['description'] = $match[1];
$match = '';
if(preg_match("/\[event\-start\](.*?)\[\/event\-start\]/is",$s,$match))
$ev['start'] = $match[1];
@@ -122,7 +122,7 @@ function ev_compare($a,$b) {
$date_b = (($b['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$b['start']) : $b['start']);
if($date_a === $date_b)
- return strcasecmp($a['desc'],$b['desc']);
+ return strcasecmp($a['description'],$b['description']);
return strcmp($date_a,$date_b);
}
@@ -178,7 +178,7 @@ function event_store($arr) {
`start` = '%s',
`finish` = '%s',
`summary` = '%s',
- `desc` = '%s',
+ `description` = '%s',
`location` = '%s',
`type` = '%s',
`adjust` = %d,
@@ -193,7 +193,7 @@ function event_store($arr) {
dbesc($arr['start']),
dbesc($arr['finish']),
dbesc($arr['summary']),
- dbesc($arr['desc']),
+ dbesc($arr['description']),
dbesc($arr['location']),
dbesc($arr['type']),
intval($arr['adjust']),
@@ -266,7 +266,7 @@ function event_store($arr) {
$arr['mid'] = item_message_id();
- $r = q("INSERT INTO event ( uid,aid,event_xchan,event_hash,created,edited,start,finish,summary, `desc`,location,type,
+ $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' ) ",
intval($arr['uid']),
@@ -278,7 +278,7 @@ function event_store($arr) {
dbesc($arr['start']),
dbesc($arr['finish']),
dbesc($arr['summary']),
- dbesc($arr['desc']),
+ dbesc($arr['description']),
dbesc($arr['location']),
dbesc($arr['type']),
intval($arr['adjust']),
@@ -337,6 +337,8 @@ function event_store($arr) {
$item_arr['obj_type'] = ACTIVITY_OBJ_EVENT;
$item_arr['body'] = format_event_bbcode($arr);
+ $item_arr['plink'] = z_root() . '/channel/' . $z[0]['channel_address'] . '/?f=&mid=' . $item_arr['mid'];
+
$x = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($arr['event_xchan'])
);
diff --git a/include/features.php b/include/features.php
index 05206106a..cc8d457bc 100644
--- a/include/features.php
+++ b/include/features.php
@@ -7,6 +7,8 @@
function feature_enabled($uid,$feature) {
$x = get_pconfig($uid,'feature',$feature);
+ if($x === false)
+ $x = get_config('feature',$feature);
$arr = array('uid' => $uid, 'feature' => $feature, 'enabled' => $x);
call_hooks('feature_enabled',$arr);
return($arr['enabled']);
@@ -24,9 +26,11 @@ function get_features() {
array('multi_profiles', t('Multiple Profiles'), t('Ability to create multiple profiles')),
array('webpages', t('Web Pages'), t('Provide managed web pages on your channel')),
array('private_notes', t('Private Notes'), t('Enables a tool to store notes and reminders')),
- array('prettyphoto', t('Enhanced Photo Albums'), t('Enable photo album with enhanced features')),
+// prettyphoto has licensing issues and will no longer be provided in core -
+// in any event this setting should probably be a theme option or plugin
+// array('prettyphoto', t('Enhanced Photo Albums'), t('Enable photo album with enhanced features')),
//FIXME - needs a description, but how the hell do we explain this to normals?
- array('sendzid', t('Extended Identity Sharing'), t(' ')),
+ array('sendzid', t('Extended Identity Sharing'), t('Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix.')),
array('expert', t('Expert Mode'), t('Enable Expert Mode to provide advanced configuration options')),
array('premium_channel', t('Premium Channel'), t('Allows you to set restrictions and terms on those that connect with your channel')),
),
@@ -37,7 +41,7 @@ function get_features() {
array('richtext', t('Richtext Editor'), t('Enable richtext editor')),
array('preview', t('Post Preview'), t('Allow previewing posts and comments before publishing them')),
array('channel_sources', t('Channel Sources'), t('Automatically import channel content from other channels or feeds')),
- array('content_encrypt', t('Even More Encryption'), t('Allow encryption of content end-to-end with a shared secret key')),
+ array('content_encrypt', t('Even More Encryption'), t('Allow optional encryption of content end-to-end with a shared secret key')),
),
// Network Tools
@@ -49,6 +53,7 @@ function get_features() {
array('personal_tab', t('Network Personal Tab'), t('Enable tab to display only Network posts that you\'ve interacted on')),
array('new_tab', t('Network New Tab'), t('Enable tab to display all new Network activity')),
array('affinity', t('Affinity Tool'), t('Filter stream activity by depth of relationships')),
+ array('suggest', t('Suggest Channels'), t('Show channel suggestions')),
),
// Item tools
diff --git a/include/group.php b/include/group.php
index 8f690785d..56a7555bc 100644
--- a/include/group.php
+++ b/include/group.php
@@ -14,11 +14,11 @@ function group_add($uid,$name,$public = 0) {
// access lists. What we're doing here is reviving the dead group, but old content which
// was restricted to this group may now be seen by the new group members.
- $z = q("SELECT * FROM `group` WHERE `id` = %d LIMIT 1",
+ $z = q("SELECT * FROM `groups` WHERE `id` = %d LIMIT 1",
intval($r)
);
if(count($z) && $z[0]['deleted']) {
- $r = q("UPDATE `group` SET `deleted` = 0 WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
+ $r = q("UPDATE `groups` SET `deleted` = 0 WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
intval($uid),
dbesc($name)
);
@@ -31,13 +31,13 @@ function group_add($uid,$name,$public = 0) {
$dups = false;
$hash = random_string() . $name;
- $r = q("SELECT id FROM `group` WHERE hash = '%s' LIMIT 1", dbesc($hash));
+ $r = q("SELECT id FROM `groups` WHERE hash = '%s' LIMIT 1", dbesc($hash));
if($r)
$dups = true;
} while($dups == true);
- $r = q("INSERT INTO `group` ( hash, uid, visible, name )
+ $r = q("INSERT INTO `groups` ( hash, uid, visible, name )
VALUES( '%s', %d, %d, '%s' ) ",
dbesc($hash),
intval($uid),
@@ -53,7 +53,7 @@ function group_add($uid,$name,$public = 0) {
function group_rmv($uid,$name) {
$ret = false;
if(x($uid) && x($name)) {
- $r = q("SELECT id, hash FROM `group` WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
+ $r = q("SELECT id, hash FROM `groups` WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
intval($uid),
dbesc($name)
);
@@ -104,7 +104,7 @@ function group_rmv($uid,$name) {
);
// remove group
- $r = q("UPDATE `group` SET `deleted` = 1 WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
+ $r = q("UPDATE `groups` SET `deleted` = 1 WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
intval($uid),
dbesc($name)
);
@@ -119,7 +119,7 @@ function group_rmv($uid,$name) {
function group_byname($uid,$name) {
if((! $uid) || (! strlen($name)))
return false;
- $r = q("SELECT * FROM `group` WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
+ $r = q("SELECT * FROM `groups` WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
intval($uid),
dbesc($name)
);
@@ -132,7 +132,7 @@ function group_byname($uid,$name) {
function group_rec_byhash($uid,$hash) {
if((! $uid) || (! strlen($hash)))
return false;
- $r = q("SELECT * FROM `group` WHERE `uid` = %d AND `hash` = '%s' LIMIT 1",
+ $r = q("SELECT * FROM `groups` WHERE `uid` = %d AND `hash` = '%s' LIMIT 1",
intval($uid),
dbesc($hash)
);
@@ -207,7 +207,7 @@ function mini_group_select($uid,$group = '') {
$grps = array();
$o = '';
- $r = q("SELECT * FROM `group` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `name` ASC",
+ $r = q("SELECT * FROM `groups` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `name` ASC",
intval($uid)
);
$grps[] = array('name' => '', 'hash' => '0', 'selected' => '');
@@ -229,7 +229,7 @@ function mini_group_select($uid,$group = '') {
-function group_side($every="contacts",$each="group",$edit = false, $group_id = 0, $cid = '',$mode = 1) {
+function group_side($every="connections",$each="group",$edit = false, $group_id = 0, $cid = '',$mode = 1) {
$o = '';
@@ -246,7 +246,7 @@ function group_side($every="contacts",$each="group",$edit = false, $group_id = 0
);
- $r = q("SELECT * FROM `group` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `name` ASC",
+ $r = q("SELECT * FROM `groups` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `name` ASC",
intval($_SESSION['uid'])
);
$member_of = array();
@@ -272,7 +272,7 @@ function group_side($every="contacts",$each="group",$edit = false, $group_id = 0
'cid' => $cid,
'text' => $rr['name'],
'selected' => $selected,
- 'href' => (($mode == 0) ? $each.'?f=&gid='.$rr['id'] : $each."/".$rr['id']),
+ 'href' => (($mode == 0) ? $each.'?f=&gid='.$rr['id'] : $each."/".$rr['id']) . ((x($_GET,'new')) ? '&new=' . $_GET['new'] : '') . ((x($_GET,'order')) ? '&order=' . $_GET['order'] : ''),
'edit' => $groupedit,
'ismember' => in_array($rr['id'],$member_of),
);
@@ -302,7 +302,7 @@ function expand_groups($a) {
$groups = implode(',', $x);
if($groups)
- $r = q("SELECT xchan FROM group_member WHERE gid IN ( select id from `group` where hash in ( $groups ))");
+ $r = q("SELECT xchan FROM group_member WHERE gid IN ( select id from `groups` where hash in ( $groups ))");
$ret = array();
if($r)
@@ -314,7 +314,7 @@ function expand_groups($a) {
function member_of($c) {
- $r = q("SELECT `group`.`name`, `group`.`id` FROM `group` LEFT JOIN `group_member` ON `group_member`.`gid` = `group`.`id` WHERE `group_member`.`xchan` = '%s' AND `group`.`deleted` = 0 ORDER BY `group`.`name` ASC ",
+ $r = q("SELECT `groups`.`name`, `groups`.`id` FROM `groups` LEFT JOIN `group_member` ON `group_member`.`gid` = `groups`.`id` WHERE `group_member`.`xchan` = '%s' AND `groups`.`deleted` = 0 ORDER BY `groups`.`name` ASC ",
dbesc($c)
);
diff --git a/include/identity.php b/include/identity.php
index b25594c87..2db5d8ece 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -71,23 +71,34 @@ function validate_channelname($name) {
/**
- * @function create_dir_account()
+ * @function create_sys_channel()
* Create a system channel - which has no account attached
*
- * Currently unused.
- *
*/
-function create_dir_account() {
+function create_sys_channel() {
+ if(get_sys_channel())
+ return;
create_identity(array(
'account_id' => 'xxx', // This will create an identity with an (integer) account_id of 0, but account_id is required
- 'nickname' => 'dir',
- 'name' => 'Directory',
- 'pageflags' => PAGE_DIRECTORY_CHANNEL|PAGE_HIDDEN,
- 'publish' => 0
+ 'nickname' => 'sys',
+ 'name' => 'System',
+ 'pageflags' => PAGE_SYSTEM,
+ 'publish' => 0,
+ 'xchanflags' => XCHAN_FLAGS_SYSTEM
));
}
+function get_sys_channel() {
+ $r = q("select * from channel left join xchan on channel_hash = xchan_hash where (channel_pageflags & %d) limit 1",
+ intval(PAGE_SYSTEM)
+ );
+ if($r)
+ return $r[0];
+ return false;
+}
+
+
/**
* @channel_total()
* Return the total number of channels on this site. No filtering is performed.
@@ -145,7 +156,7 @@ 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);
$name_error = validate_channelname($arr['name']);
if($name_error) {
$ret['message'] = $name_error;
@@ -243,7 +254,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 ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
+ $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)",
dbesc($hash),
dbesc($guid),
dbesc($sig),
@@ -258,7 +269,8 @@ function create_identity($arr) {
dbesc($ret['channel']['channel_name']),
dbesc('zot'),
dbesc(datetime_convert()),
- dbesc(datetime_convert())
+ dbesc(datetime_convert()),
+ intval($xchanflags)
);
// Not checking return value.
@@ -396,7 +408,7 @@ function identity_basic_export($channel_id) {
$ret['hubloc'] = $r;
}
- $r = q("select * from `group` where uid = %d ",
+ $r = q("select * from `groups` where uid = %d ",
intval($channel_id)
);
@@ -532,6 +544,9 @@ function profile_load(&$a, $nickname, $profile = '') {
}
$a->profile = $r[0];
+ $online = get_online_status($nickname);
+ $a->profile['online_status'] = $online['result'];
+
$a->profile_uid = $r[0]['profile_uid'];
$a->page['title'] = $a->profile['channel_name'] . " - " . $a->profile['channel_address'] . "@" . $a->get_hostname();
@@ -655,6 +670,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
}
}
+
if((x($profile,'address') == 1)
|| (x($profile,'locality') == 1)
|| (x($profile,'region') == 1)
@@ -665,9 +681,15 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
$gender = ((x($profile,'gender') == 1) ? t('Gender:') : False);
$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']);
+
+ if(! perm_is_allowed($profile['uid'],((is_array($observer)) ? $observer['xchan_hash'] : ''),'view_profile')) {
+ $block = true;
+ }
if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
- $location = $pdesc = $gender = $marital = $homepage = False;
+ $location = $pdesc = $gender = $marital = $homepage = $online = False;
}
$firstname = ((strpos($profile['name'],' '))
@@ -688,7 +710,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
$channel_menu = menu_render($m);
}
$menublock = get_pconfig($profile['uid'],'system','channel_menublock');
- if ($menublock) {
+ if ($menublock && (! $block)) {
require_once('include/comanche.php');
$channel_menu .= comanche_block($menublock);
}
@@ -935,6 +957,8 @@ function advanced_profile(&$a) {
if($txt = prepare_text($a->profile['contact'])) $profile['contact'] = array( t('Contact information and Social Networks:'), $txt);
+ if($txt = prepare_text($a->profile['channels'])) $profile['channels'] = array( t('My other channels:'), $txt);
+
if($txt = prepare_text($a->profile['music'])) $profile['music'] = array( t('Musical interests:'), $txt);
if($txt = prepare_text($a->profile['book'])) $profile['book'] = array( t('Books, literature:'), $txt);
@@ -949,44 +973,15 @@ function advanced_profile(&$a) {
if($txt = prepare_text($a->profile['education'])) $profile['education'] = array( t('School/education:'), $txt );
- $r = q("select * from obj left join term on obj_obj = term_hash where term_hash != '' and obj_page = '%s' and uid = %d and obj_type = %d
- order by obj_verb, term",
- dbesc($a->profile['profile_guid']),
- intval($a->profile['profile_uid']),
- intval(TERM_OBJ_THING)
- );
- $things = null;
+ $things = get_things($a->profile['profile_guid'],$a->profile['profile_uid']);
- if($r) {
- $things = array();
-
- // Use the system obj_verbs array as a sort key, since we don't really
- // want an alphabetic sort. To change the order, use a plugin to
- // alter the obj_verbs() array or alter it in code. Unknown verbs come
- // after the known ones - in no particular order.
-
- $v = obj_verbs();
- foreach($v as $k => $foo)
- $things[$k] = null;
- foreach($r as $rr) {
- if(! $things[$rr['obj_verb']])
- $things[$rr['obj_verb']] = array();
- $things[$rr['obj_verb']][] = array('term' => $rr['term'],'url' => $rr['url'],'img' => $rr['imgurl']);
- }
- $sorted_things = array();
- if($things)
- foreach($things as $k => $v)
- if(is_array($things[$k]))
- $sorted_things[$k] = $v;
- }
-
- logger('mod_profile: things: ' . print_r($sorted_things,true), LOGGER_DATA);
+ logger('mod_profile: things: ' . print_r($things,true), LOGGER_DATA);
return replace_macros($tpl, array(
'$title' => t('Profile'),
'$profile' => $profile,
- '$things' => $sorted_things
+ '$things' => $things
));
}
@@ -1031,12 +1026,13 @@ function zid_init(&$a) {
call_hooks('zid_init',$arr);
if((! local_user()) && (! remote_user())) {
logger('zid_init: not authenticated. Invoking reverse magic-auth for ' . $tmp_str);
- $r = q("select * from hubloc where hubloc_addr = '%s' order by hubloc_id desc limit 1",
+ $r = q("select * from hubloc where hubloc_addr = '%s' order by hubloc_connected desc limit 1",
dbesc($tmp_str)
);
// try to avoid recursion - but send them home to do a proper magic auth
- $dest = '/' . $a->query_string;
- $dest = str_replace(array('?zid=','&zid='),array('?rzid=','&rzid='),$dest);
+ $query = $a->query_string;
+ $query = str_replace(array('?zid=','&zid='),array('?rzid=','&rzid='),$query);
+ $dest = '/' . urlencode($query);
if($r && ($r[0]['hubloc_url'] != z_root()) && (! strstr($dest,'/magic')) && (! strstr($dest,'/rmagic'))) {
goaway($r[0]['hubloc_url'] . '/magic' . '?f=&rev=1&dest=' . z_root() . $dest);
}
@@ -1104,3 +1100,95 @@ function get_theme_uid() {
}
return $uid;
}
+
+/**
+* @function get_default_profile_photo($size = 175)
+* Retrieves the path of the default_profile_photo for this system
+* with the specified size.
+* @param int $size
+* one of (175, 80, 48)
+* @returns string
+*
+*/
+
+function get_default_profile_photo($size = 175) {
+ $scheme = get_config('system','default_profile_photo');
+ if(! $scheme)
+ $scheme = 'rainbow_man';
+ return 'images/default_profile_photos/' . $scheme . '/' . $size . '.jpg';
+}
+
+
+/**
+ *
+ * @function is_foreigner($s)
+ * Test whether a given identity is NOT a member of the Red Matrix
+ * @param string $s;
+ * xchan_hash of the identity in question
+ *
+ * @returns boolean true or false
+ *
+ */
+
+function is_foreigner($s) {
+ return((strpbrk($s,':@')) ? true : false);
+}
+
+
+/**
+ *
+ * @function is_member($s)
+ * Test whether a given identity is a member of the Red Matrix
+ * @param string $s;
+ * xchan_hash of the identity in question
+ *
+ * @returns boolean true or false
+ *
+ */
+
+function is_member($s) {
+ return((is_foreigner($s)) ? false : true);
+}
+
+function get_online_status($nick) {
+
+ $ret = array('result' => false);
+
+ $r = q("select channel_id, channel_hash from channel where channel_address = '%s' limit 1",
+ dbesc(argv(1))
+ );
+ if($r) {
+ $hide = get_pconfig($r[0]['channel_id'],'system','hide_online_status');
+ if($hide)
+ return $ret;
+ $x = q("select cp_status from chatpresence where cp_xchan = '%s' and cp_room = 0 limit 1",
+ dbesc($r[0]['channel_hash'])
+ );
+ if($x)
+ $ret['result'] = $x[0]['cp_status'];
+ }
+
+ return $ret;
+}
+
+
+function remote_online_status($webbie) {
+
+ $result = false;
+ $r = q("select * from hubloc where hubloc_addr = '%s' limit 1",
+ dbesc($webbie)
+ );
+ if(! $r)
+ return $result;
+
+ $url = $r[0]['hubloc_url'] . '/online/' . substr($webbie,0,strpos($webbie,'@'));
+
+ $x = z_fetch_url($url);
+ if($x['success']) {
+ $j = json_decode($x['body'],true);
+ if($j)
+ $result = (($j['result']) ? $j['result'] : false);
+ }
+ return $result;
+
+}
diff --git a/include/items.php b/include/items.php
index dd3cf7644..2fe923303 100755
--- a/include/items.php
+++ b/include/items.php
@@ -18,10 +18,17 @@ function collect_recipients($item,&$private) {
require_once('include/group.php');
- if($item['item_private'])
- $private = true;
+ $private = ((intval($item['item_private'])) ? true : false);
+ $recipients = array();
+
+ // if the post is marked private but there are no recipients, only add the author and owner
+ // as recipients. The ACL for the post may live on the hub of a different clone. We need to
+ // get the post to that hub.
if($item['allow_cid'] || $item['allow_gid'] || $item['deny_cid'] || $item['deny_gid']) {
+
+ // it is private
+
$allow_people = expand_acl($item['allow_cid']);
$allow_groups = expand_groups(expand_acl($item['allow_gid']));
@@ -54,19 +61,19 @@ function collect_recipients($item,&$private) {
$private = true;
}
else {
- $recipients = array();
- $r = q("select * from abook where abook_channel = %d and not (abook_flags & %d) and not (abook_flags & %d) and not (abook_flags & %d)",
- intval($item['uid']),
- intval(ABOOK_FLAG_SELF),
- intval(ABOOK_FLAG_PENDING),
- intval(ABOOK_FLAG_ARCHIVED)
- );
- if($r) {
- foreach($r as $rr) {
- $recipients[] = $rr['abook_xchan'];
+ if(! $private) {
+ $r = q("select abook_xchan from abook where abook_channel = %d and not (abook_flags & %d) and not (abook_flags & %d) and not (abook_flags & %d)",
+ intval($item['uid']),
+ intval(ABOOK_FLAG_SELF),
+ intval(ABOOK_FLAG_PENDING),
+ intval(ABOOK_FLAG_ARCHIVED)
+ );
+ if($r) {
+ foreach($r as $rr) {
+ $recipients[] = $rr['abook_xchan'];
+ }
}
}
- $private = false;
}
// This is a somewhat expensive operation but important.
@@ -243,6 +250,12 @@ function post_activity_item($arr) {
$arr['comment_policy'] = map_scope($channel['channel_w_comment']);
+
+ if ((! $arr['plink']) && ($arr['item_flags'] & ITEM_THREAD_TOP)) {
+ $arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
+ }
+
+
// for the benefit of plugins, we will behave as if this is an API call rather than a normal online post
$_REQUEST['api_source'] = 1;
@@ -564,9 +577,9 @@ function title_is_body($title, $body) {
function get_item_elements($x) {
-// logger('get_item_elements');
+
$arr = array();
- $arr['body'] = (($x['body']) ? htmlentities($x['body'],ENT_COMPAT,'UTF-8',false) : '');
+ $arr['body'] = (($x['body']) ? htmlspecialchars($x['body'],ENT_COMPAT,'UTF-8',false) : '');
$arr['created'] = datetime_convert('UTC','UTC',$x['created']);
$arr['edited'] = datetime_convert('UTC','UTC',$x['edited']);
@@ -584,27 +597,27 @@ function get_item_elements($x) {
? datetime_convert('UTC','UTC',$x['commented'])
: $arr['created']);
- $arr['title'] = (($x['title']) ? htmlentities($x['title'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['title'] = (($x['title']) ? htmlspecialchars($x['title'], ENT_COMPAT,'UTF-8',false) : '');
if(mb_strlen($arr['title']) > 255)
$arr['title'] = mb_substr($arr['title'],0,255);
- $arr['app'] = (($x['app']) ? htmlentities($x['app'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['mid'] = (($x['message_id']) ? htmlentities($x['message_id'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['parent_mid'] = (($x['message_top']) ? htmlentities($x['message_top'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['thr_parent'] = (($x['message_parent']) ? htmlentities($x['message_parent'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['app'] = (($x['app']) ? htmlspecialchars($x['app'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['mid'] = (($x['message_id']) ? htmlspecialchars($x['message_id'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['parent_mid'] = (($x['message_top']) ? htmlspecialchars($x['message_top'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['thr_parent'] = (($x['message_parent']) ? htmlspecialchars($x['message_parent'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['plink'] = (($x['permalink']) ? htmlentities($x['permalink'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['location'] = (($x['location']) ? htmlentities($x['location'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['coord'] = (($x['longlat']) ? htmlentities($x['longlat'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['verb'] = (($x['verb']) ? htmlentities($x['verb'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['mimetype'] = (($x['mimetype']) ? htmlentities($x['mimetype'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['obj_type'] = (($x['object_type']) ? htmlentities($x['object_type'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['tgt_type'] = (($x['target_type']) ? htmlentities($x['target_type'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['comment_policy'] = (($x['comment_scope']) ? htmlentities($x['comment_scope'], ENT_COMPAT,'UTF-8',false) : 'contacts');
+ $arr['plink'] = (($x['permalink']) ? htmlspecialchars($x['permalink'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['location'] = (($x['location']) ? htmlspecialchars($x['location'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['coord'] = (($x['longlat']) ? htmlspecialchars($x['longlat'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['verb'] = (($x['verb']) ? htmlspecialchars($x['verb'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['mimetype'] = (($x['mimetype']) ? htmlspecialchars($x['mimetype'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['obj_type'] = (($x['object_type']) ? htmlspecialchars($x['object_type'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['tgt_type'] = (($x['target_type']) ? htmlspecialchars($x['target_type'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['comment_policy'] = (($x['comment_scope']) ? htmlspecialchars($x['comment_scope'], ENT_COMPAT,'UTF-8',false) : 'contacts');
- $arr['sig'] = (($x['signature']) ? htmlentities($x['signature'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['sig'] = (($x['signature']) ? htmlspecialchars($x['signature'], ENT_COMPAT,'UTF-8',false) : '');
$arr['object'] = activity_sanitise($x['object']);
@@ -667,7 +680,6 @@ function get_item_elements($x) {
$arr['body'] = json_encode(crypto_encapsulate($arr['body'],$key));
}
-
return $arr;
}
@@ -832,8 +844,8 @@ function decode_tags($t) {
$ret = array();
foreach($t as $x) {
$tag = array();
- $tag['term'] = htmlentities($x['tag'], ENT_COMPAT,'UTF-8',false);
- $tag['url'] = htmlentities($x['url'], ENT_COMPAT,'UTF-8',false);
+ $tag['term'] = htmlspecialchars($x['tag'], ENT_COMPAT,'UTF-8',false);
+ $tag['url'] = htmlspecialchars($x['url'], ENT_COMPAT,'UTF-8',false);
switch($x['type']) {
case 'hashtag':
$tag['type'] = TERM_HASHTAG;
@@ -876,12 +888,12 @@ function activity_sanitise($arr) {
if(is_array($x))
$ret[$k] = activity_sanitise($x);
else
- $ret[$k] = htmlentities($x, ENT_COMPAT,'UTF-8',false);
+ $ret[$k] = htmlspecialchars($x, ENT_COMPAT,'UTF-8',false);
}
return $ret;
}
else {
- return htmlentities($arr, ENT_COMPAT,'UTF-8', false);
+ return htmlspecialchars($arr, ENT_COMPAT,'UTF-8', false);
}
}
return '';
@@ -893,7 +905,7 @@ function array_sanitise($arr) {
if($arr) {
$ret = array();
foreach($arr as $x) {
- $ret[] = htmlentities($x, ENT_COMPAT,'UTF-8',false);
+ $ret[] = htmlspecialchars($x, ENT_COMPAT,'UTF-8',false);
}
return $ret;
}
@@ -958,8 +970,8 @@ function get_mail_elements($x) {
$arr = array();
- $arr['body'] = (($x['body']) ? htmlentities($x['body'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['title'] = (($x['title'])? htmlentities($x['title'],ENT_COMPAT,'UTF-8',false) : '');
+ $arr['body'] = (($x['body']) ? htmlspecialchars($x['body'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['title'] = (($x['title'])? htmlspecialchars($x['title'],ENT_COMPAT,'UTF-8',false) : '');
$arr['created'] = datetime_convert('UTC','UTC',$x['created']);
if((! array_key_exists('expires',$x)) || ($x['expires'] === '0000-00-00 00:00:00'))
@@ -977,18 +989,18 @@ function get_mail_elements($x) {
$key = get_config('system','pubkey');
$arr['mail_flags'] |= MAIL_OBSCURED;
- $arr['body'] = htmlentities($arr['body'],ENT_COMPAT,'UTF-8',false);
+ $arr['body'] = htmlspecialchars($arr['body'],ENT_COMPAT,'UTF-8',false);
if($arr['body'])
$arr['body'] = json_encode(crypto_encapsulate($arr['body'],$key));
- $arr['title'] = htmlentities($arr['title'],ENT_COMPAT,'UTF-8',false);
+ $arr['title'] = htmlspecialchars($arr['title'],ENT_COMPAT,'UTF-8',false);
if($arr['title'])
$arr['title'] = json_encode(crypto_encapsulate($arr['title'],$key));
if($arr['created'] > datetime_convert())
$arr['created'] = datetime_convert();
- $arr['mid'] = (($x['message_id']) ? htmlentities($x['message_id'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['parent_mid'] = (($x['message_parent']) ? htmlentities($x['message_parent'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['mid'] = (($x['message_id']) ? htmlspecialchars($x['message_id'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['parent_mid'] = (($x['message_parent']) ? htmlspecialchars($x['message_parent'], ENT_COMPAT,'UTF-8',false) : '');
if($x['attach'])
$arr['attach'] = activity_sanitise($x['attach']);
@@ -1017,18 +1029,18 @@ function get_profile_elements($x) {
else
return array();
- $arr['desc'] = (($x['title']) ? htmlentities($x['title'],ENT_COMPAT,'UTF-8',false) : '');
+ $arr['desc'] = (($x['title']) ? htmlspecialchars($x['title'],ENT_COMPAT,'UTF-8',false) : '');
$arr['dob'] = datetime_convert('UTC','UTC',$x['birthday'],'Y-m-d');
$arr['age'] = (($x['age']) ? intval($x['age']) : 0);
- $arr['gender'] = (($x['gender']) ? htmlentities($x['gender'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['marital'] = (($x['marital']) ? htmlentities($x['marital'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['sexual'] = (($x['sexual']) ? htmlentities($x['sexual'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['locale'] = (($x['locale']) ? htmlentities($x['locale'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['region'] = (($x['region']) ? htmlentities($x['region'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['postcode'] = (($x['postcode']) ? htmlentities($x['postcode'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['country'] = (($x['country']) ? htmlentities($x['country'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['gender'] = (($x['gender']) ? htmlspecialchars($x['gender'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['marital'] = (($x['marital']) ? htmlspecialchars($x['marital'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['sexual'] = (($x['sexual']) ? htmlspecialchars($x['sexual'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['locale'] = (($x['locale']) ? htmlspecialchars($x['locale'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['region'] = (($x['region']) ? htmlspecialchars($x['region'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['postcode'] = (($x['postcode']) ? htmlspecialchars($x['postcode'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['country'] = (($x['country']) ? htmlspecialchars($x['country'], ENT_COMPAT,'UTF-8',false) : '');
$arr['keywords'] = (($x['keywords'] && is_array($x['keywords'])) ? array_sanitise($x['keywords']) : array());
@@ -1606,6 +1618,8 @@ function item_store($arr,$allow_exec = false) {
if(! $arr['plink'])
$arr['plink'] = $arr['llink'];
+
+
if($arr['parent_mid'] === $arr['mid']) {
$parent_id = 0;
$parent_deleted = 0;
@@ -2149,6 +2163,13 @@ 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'])) {
+ // this is an update 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']);
+ return;
+ }
+
if($item['obj_type'] === ACTIVITY_OBJ_TAGTERM) {
@@ -2245,7 +2266,7 @@ function tag_deliver($uid,$item_id) {
if($terms) {
foreach($terms as $term) {
- if(($term['term'] == $u[0]['channel_name']) && link_compare($term['url'],$link)) {
+ if((strcasecmp($term['term'],$u[0]['channel_name']) == 0) && link_compare($term['url'],$link)) {
$mention = true;
break;
}
@@ -2278,7 +2299,7 @@ function tag_deliver($uid,$item_id) {
$body = preg_replace('/\[share(.*?)\[\/share\]/','',$body);
- $pattern = '/@\[zrl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($u[0]['channel_name'],'/') . '\[\/zrl\]/';
+ $pattern = '/@\!?\[zrl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($u[0]['channel_name'],'/') . '\[\/zrl\]/';
if(! preg_match($pattern,$body,$matches)) {
logger('tag_deliver: mention was in a reshare - ignoring');
@@ -2308,8 +2329,10 @@ function tag_deliver($uid,$item_id) {
}
- if((! $mention) && (! $union))
+ if((! $mention) && (! $union)) {
+ logger('tag_deliver: no mention and no union.');
return;
+ }
// tgroup delivery - setup a second delivery chain
@@ -2363,12 +2386,13 @@ function tgroup_check($uid,$item) {
$mention = false;
// check that the message originated elsewhere and is a top-level post
- // or is a followup and we have already accepted the top level post
+ // 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 limit 1",
+ $r = q("select id from item where mid = '%s' and uid = %d and ( item_flags & %d ) limit 1",
dbesc($item['parent_mid']),
- intval($uid)
+ intval($uid),
+ intval(ITEM_UPLINK)
);
if($r)
return true;
@@ -2411,7 +2435,7 @@ function tgroup_check($uid,$item) {
$body = preg_replace('/\[share(.*?)\[\/share\]/','',$item['body']);
- $pattern = '/@\[zrl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($u[0]['channel_name'],'/') . '\[\/zrl\]/';
+ $pattern = '/@\!?\[zrl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($u[0]['channel_name'],'/') . '\[\/zrl\]/';
if(! preg_match($pattern,$body,$matches)) {
logger('tgroup_check: mention was in a reshare - ignoring');
@@ -2444,7 +2468,7 @@ function check_item_source($uid,$item) {
$r = q("select * from source where src_channel_id = %d and src_xchan = '%s' limit 1",
intval($uid),
- dbesc($item['owner_xchan'])
+ dbesc(($item['source_xchan']) ? $item['source_xchan'] : $item['owner_xchan'])
);
if(! $r)
@@ -3695,23 +3719,28 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
$def_acl = '';
$item_uids = ' true ';
-
+
+ if ($arr['uid']) $uid= $arr['uid'];
+
if($channel) {
$uid = $channel['channel_id'];
$uidhash = $channel['channel_hash'];
$item_uids = " item.uid = " . intval($uid) . " ";
}
-
+
if($arr['star'])
$sql_options .= " and (item_flags & " . intval(ITEM_STARRED) . ") ";
if($arr['wall'])
$sql_options .= " and (item_flags & " . intval(ITEM_WALL) . ") ";
-
+
$sql_extra = " AND item.parent IN ( SELECT parent FROM item WHERE (item_flags & " . intval(ITEM_THREAD_TOP) . ") $sql_options ) ";
-
+
+ if($arr['since_id'])
+ $sql_extra .= " and item.id > " . $since_id . " ";
+
if($arr['gid'] && $uid) {
- $r = q("SELECT * FROM `group` WHERE id = %d AND uid = %d LIMIT 1",
+ $r = q("SELECT * FROM `groups` WHERE id = %d AND uid = %d LIMIT 1",
intval($arr['group']),
intval($uid)
);
@@ -3789,6 +3818,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
);
}
+
if(($client_mode & CLIENT_MODE_UPDATE) && (! ($client_mode & CLIENT_MODE_LOAD))) {
// only setup pagination on initial page view
@@ -3801,6 +3831,8 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
$pager_sql = sprintf(" LIMIT %d, %d ",intval(get_app()->pager['start']), intval(get_app()->pager['itemspage']));
}
+ if(isset($arr['start']) && isset($arr['records']))
+ $pager_sql = sprintf(" LIMIT %d, %d ",intval($arr['start']), intval($arr['records']));
if(($arr['cmin'] != 0) || ($arr['cmax'] != 99)) {
@@ -3835,7 +3867,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
$item_restrict = " AND item_restrict = 0 ";
- if($arr['nouveau'] && ($client_mode & CLIENT_MODELOAD) && $channel) {
+ if($arr['nouveau'] && ($client_mode & CLIENT_MODE_LOAD) && $channel) {
// "New Item View" - show all items unthreaded in reverse created date order
$items = q("SELECT item.*, item.id AS item_id FROM item
@@ -3860,7 +3892,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
else
$ordering = "commented";
- if(($client_mode & CLIENT_MODE_LOAD) || ($client_mode & CLIENT_MODE_NORMAL)) {
+ if(($client_mode & CLIENT_MODE_LOAD) || ($client_mode == CLIENT_MODE_NORMAL)) {
// Fetch a page full of parent items for this page
@@ -3873,7 +3905,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
ORDER BY item.$ordering DESC $pager_sql ",
intval(ABOOK_FLAG_BLOCKED)
);
-
+
}
else {
// update
@@ -3928,3 +3960,52 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
return $items;
}
+
+
+function update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remote_id,$mid) {
+
+ $page_type = '';
+
+ if($webpage & ITEM_WEBPAGE)
+ $page_type = 'WEBPAGE';
+ elseif($webpage & ITEM_BUILDBLOCK)
+ $page_type = 'BUILDBLOCK';
+ elseif($webpage & ITEM_PDL)
+ $page_type = 'PDL';
+ elseif($namespace && $remote_id) {
+ $page_type = $namespace;
+ $pagetitle = $remote_id;
+ }
+
+ if($page_type) {
+
+ // store page info as an alternate message_id so we can access it via
+ // https://sitename/page/$channelname/$pagetitle
+ // if no pagetitle was given or it couldn't be transliterated into a url, use the first
+ // sixteen bytes of the mid - which makes the link portable and not quite as daunting
+ // as the entire mid. If it were the post_id the link would be less portable.
+
+ $r = q("select * from item_id where iid = %d and uid = %d and service = '%s' limit 1",
+ intval($post_id),
+ intval($channel['channel_id']),
+ dbesc($page_type)
+ );
+ if($r) {
+ q("update item_id set sid = '%s' where id = %d limit 1",
+ dbesc(($pagetitle) ? $pagetitle : substr($mid,0,16)),
+ intval($r[0]['id'])
+ );
+ }
+ else {
+ q("insert into item_id ( iid, uid, sid, service ) values ( %d, %d, '%s','%s' )",
+ intval($post_id),
+ intval($channel['channel_id']),
+ dbesc(($pagetitle) ? $pagetitle : substr($mid,0,16)),
+ dbesc($page_type)
+ );
+ }
+ }
+
+}
+
+
diff --git a/include/menu.php b/include/menu.php
index c10a669b3..d69c5d0d3 100644
--- a/include/menu.php
+++ b/include/menu.php
@@ -23,7 +23,6 @@ function menu_fetch($name,$uid,$observer_xchan) {
return null;
}
-
function menu_render($menu) {
if(! $menu)
return '';
@@ -58,6 +57,8 @@ function menu_create($arr) {
$menu_name = trim(escape_tags($arr['menu_name']));
$menu_desc = trim(escape_tags($arr['menu_desc']));
+ $menu_flags = intval($arr['menu_flags']);
+
if(! $menu_desc)
$menu_desc = $menu_name;
@@ -65,21 +66,26 @@ function menu_create($arr) {
if(! $menu_name)
return false;
+ if(! $menu_flags)
+ $menu_flags = 0;
+
$menu_channel_id = intval($arr['menu_channel_id']);
$r = q("select * from menu where menu_name = '%s' and menu_channel_id = %d limit 1",
dbesc($menu_name),
- intval($menu_channel_id)
+ intval($menu_channel_id),
+ intval($menu_flags)
);
if($r)
return false;
- $r = q("insert into menu ( menu_name, menu_desc, menu_channel_id )
- values( '%s', '%s', %d )",
+ $r = q("insert into menu ( menu_name, menu_desc, menu_flags, menu_channel_id )
+ values( '%s', '%s', %d, %d )",
dbesc($menu_name),
dbesc($menu_desc),
+ intval($menu_flags),
intval($menu_channel_id)
);
if(! $r)
@@ -95,8 +101,11 @@ function menu_create($arr) {
}
-function menu_list($channel_id) {
- $r = q("select * from menu where menu_channel_id = %d order by menu_name",
+function menu_list($channel_id, $flags = 0) {
+
+ $sel_options = (($flags) ? " and ( menu_flags & " . intval($flags) . " ) " : '');
+
+ $r = q("select * from menu where menu_channel_id = %d $sel_options order by menu_name",
intval($channel_id)
);
return $r;
@@ -110,6 +119,7 @@ function menu_edit($arr) {
$menu_name = trim(escape_tags($arr['menu_name']));
$menu_desc = trim(escape_tags($arr['menu_desc']));
+ $menu_flags = intval($arr['menu_flags']);
if(! $menu_desc)
$menu_desc = $menu_name;
@@ -117,6 +127,9 @@ function menu_edit($arr) {
if(! $menu_name)
return false;
+ if(! $menu_flags)
+ $menu_flags = 0;
+
$menu_channel_id = intval($arr['menu_channel_id']);
@@ -139,21 +152,11 @@ function menu_edit($arr) {
return false;
}
-
- $r = q("select * from menu where menu_name = '%s' and menu_channel_id = %d and menu_desc = '%s' limit 1",
- dbesc($menu_name),
- intval($menu_channel_id),
- dbesc($menu_desc)
- );
-
- if($r)
- return false;
-
-
- return q("update menu set menu_name = '%s', menu_desc = '%s'
+ return q("update menu set menu_name = '%s', menu_desc = '%s', menu_flags = %d,
where menu_id = %d and menu_channel_id = %d limit 1",
dbesc($menu_name),
dbesc($menu_desc),
+ intval($menu_flags),
intval($menu_id),
intval($menu_channel_id)
);
diff --git a/include/nav.php b/include/nav.php
index f89de2de0..008899c47 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -165,7 +165,7 @@ EOT;
$nav['messages']['mark'] = array('', t('Mark all private messages seen'), '','');
$nav['messages']['inbox'] = array('message', t('Inbox'), "", t('Inbox'));
$nav['messages']['outbox']= array('message/sent', t('Outbox'), "", t('Outbox'));
- $nav['messages']['new'] = array('message/new', t('New Message'), "", t('New Message'));
+ $nav['messages']['new'] = array('mail/new', t('New Message'), "", t('New Message'));
$nav['all_events'] = array('events', t('Events'), "", t('Event Calendar'));
@@ -196,7 +196,7 @@ EOT;
$banner = get_config('system','banner');
if($banner === false)
- $banner = 'red';
+ $banner = get_config('system','sitename');
$x = array('nav' => $nav, 'usermenu' => $userinfo );
call_hooks('nav', $x);
diff --git a/include/network.php b/include/network.php
index 50f853ca0..3fe7f5400 100644
--- a/include/network.php
+++ b/include/network.php
@@ -548,7 +548,7 @@ function avatar_img($email) {
call_hooks('avatar_lookup', $avatar);
if(! $avatar['success'])
- $avatar['url'] = $a->get_baseurl() . '/images/default_profile_photos/rainbow_man/175.jpg';
+ $avatar['url'] = $a->get_baseurl() . '/' . get_default_profile_photo();
logger('Avatar: ' . $avatar['email'] . ' ' . $avatar['url'], LOGGER_DEBUG);
return $avatar['url'];
@@ -582,7 +582,7 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
$a = get_app();
// Picture addresses can contain special characters
- $s = htmlspecialchars_decode($s);
+ $s = htmlspecialchars_decode($s, ENT_COMPAT);
$matches = null;
$c = preg_match_all('/\[img(.*?)\](.*?)\[\/img\]/ism',$s,$matches,PREG_SET_ORDER);
diff --git a/include/notifier.php b/include/notifier.php
index 0868ac77e..81f971107 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -425,8 +425,28 @@ function notifier_run($argv, $argc){
$sql_extra = (($private) ? "" : " or hubloc_url = '" . dbesc(z_root()) . "' ");
- $r = q("select hubloc_sitekey, hubloc_flags, hubloc_callback, hubloc_host from hubloc
- where hubloc_hash in (" . implode(',',$recipients) . ") $sql_extra group by hubloc_sitekey");
+
+ if($relay_to_owner && (! $private) && ($cmd !== 'relay')) {
+
+ // If sending a followup to the post owner, only send it to one channel clone - to avoid race conditions.
+ // In this case we'll pick the most recently contacted hub, as their primary might be down and the most
+ // recently contacted has the best chance of being alive.
+
+ // For private posts or uplinks we have to do things differently as only the sending clone will have the recipient list.
+ // We have to send to all clone channels of the owner to find out who has the definitive list. Posts with
+ // item_private set (but no ACL list) will return empty recipients (except for the sender and owner) in
+ // collect_recipients() above. The end result is we should get only one delivery per delivery chain if we
+ // aren't the owner or author.
+
+
+ $r = q("select hubloc_sitekey, hubloc_flags, hubloc_callback, hubloc_host from hubloc
+ where hubloc_hash in (" . implode(',',$recipients) . ") group by hubloc_sitekey order by hubloc_connected desc limit 1");
+ }
+ else {
+ $r = q("select hubloc_sitekey, hubloc_flags, hubloc_callback, hubloc_host from hubloc
+ where hubloc_hash in (" . implode(',',$recipients) . ") $sql_extra group by hubloc_sitekey");
+ }
+
if(! $r) {
logger('notifier: no hubs');
return;
diff --git a/include/oembed.php b/include/oembed.php
index 520b69892..d8671a752 100755
--- a/include/oembed.php
+++ b/include/oembed.php
@@ -1,12 +1,10 @@
<?php /** @file */
function oembed_replacecb($matches){
-// logger('oembedcb');
+
$embedurl=$matches[1];
$j = oembed_fetch_url($embedurl);
- $s = oembed_format_object($j);
- return $s;//oembed_iframe($s,$j->width,$j->height);
-
-
+ $s = oembed_format_object($j);
+ return $s;
}
@@ -26,7 +24,21 @@ function oembed_fetch_url($embedurl){
if(is_null($txt)){
$txt = "";
- if (!in_array($ext, $noexts)){
+ if (in_array($ext, $noexts)) {
+ $m = @parse_url($embedurl);
+ $zrl = false;
+ if($m['host']) {
+ $r = q("select hubloc_url from hubloc where hubloc_host = '%s' limit 1",
+ dbesc($m['host'])
+ );
+ if($r)
+ $zrl = true;
+ }
+ if($zrl) {
+ $embedurl = zid($embedurl);
+ }
+ }
+ else {
// try oembed autodiscovery
$redirects = 0;
@@ -57,12 +69,6 @@ function oembed_fetch_url($embedurl){
call_hooks('oembed_probe',$x);
if(array_key_exists('embed',$x))
$txt = $x['embed'];
-
- // try oohembed service
-// $ourl = "http://oohembed.com/oohembed/?url=".urlencode($embedurl).'&maxwidth=' . $a->videowidth;
-// $result = z_fetch_url($ourl);
-// if($result['success'])
-// $txt = $result['body'];
}
$txt=trim($txt);
@@ -82,6 +88,7 @@ function oembed_format_object($j){
$a = get_app();
$embedurl = $j->embedurl;
$jhtml = oembed_iframe($j->embedurl,(isset($j->width) ? $j->width : null), (isset($j->height) ? $j->height : null) );
+
$ret="<span class='oembed ".$j->type."'>";
switch ($j->type) {
case "video": {
diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php
index 8730b4298..c2eeafa54 100644
--- a/include/photo/photo_driver.php
+++ b/include/photo/photo_driver.php
@@ -357,7 +357,7 @@ abstract class photo_driver {
dbesc($p['resource_id']),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
- dbesc(basename($filename)),
+ dbesc(basename($p['filename'])),
dbesc($this->getType()),
dbesc($p['album']),
intval($this->getHeight()),
@@ -513,20 +513,28 @@ function guess_image_type($filename, $headers = '') {
}
-function import_profile_photo($photo,$xchan) {
+function import_profile_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);
- $r = q("select resource_id from photo where xchan = '%s' and scale = 4 limit 1",
- dbesc($xchan)
- );
- if($r) {
- $hash = $r[0]['resource_id'];
- }
- else {
+ if($thing)
$hash = photo_new_resource();
+ else {
+ $r = q("select resource_id from photo where xchan = '%s' and (photo_flags & %d ) and scale = 4 limit 1",
+ dbesc($xchan),
+ intval(PHOTO_XCHAN)
+ );
+ if($r) {
+ $hash = $r[0]['resource_id'];
+ }
+ else {
+ $hash = photo_new_resource();
+ }
}
$photo_failure = false;
@@ -541,10 +549,30 @@ function import_profile_photo($photo,$xchan) {
$img = photo_factory($img_str, $type);
if($img->is_valid()) {
+ $width = $img->getWidth();
+ $height = $img->getHeight();
+
+ if($width && $height) {
+ if(($width / $height) > 1.2) {
+ // crop out the sides
+ $margin = $width - $height;
+ $img->cropImage(175,($margin / 2),0,$height,$height);
+ }
+ elseif(($height / $width) > 1.2) {
+ // crop out the bottom
+ $margin = $height - $width;
+ $img->cropImage(175,0,0,$width,$width);
- $img->scaleImageSquare(175);
+ }
+ else {
+ $img->scaleImageSquare(175);
+ }
+
+ }
+ else
+ $photo_failure = true;
- $p = array('xchan' => $xchan,'resource_id' => $hash, 'filename' => 'Contact Photos', 'photo_flags' => PHOTO_XCHAN, 'scale' => 4);
+ $p = array('xchan' => $xchan,'resource_id' => $hash, 'filename' => basename($photo), 'album' => $album, 'photo_flags' => $flags, 'scale' => 4);
$r = $img->save($p);
@@ -576,9 +604,9 @@ function import_profile_photo($photo,$xchan) {
$photo_failure = true;
}
if($photo_failure) {
- $photo = $a->get_baseurl() . '/images/default_profile_photos/rainbow_man/175.jpg';
- $thumb = $a->get_baseurl() . '/images/default_profile_photos/rainbow_man/80.jpg';
- $micro = $a->get_baseurl() . '/images/default_profile_photos/rainbow_man/48.jpg';
+ $photo = $a->get_baseurl() . '/' . get_default_profile_photo();
+ $thumb = $a->get_baseurl() . '/' . get_default_profile_photo(80);
+ $micro = $a->get_baseurl() . '/' . get_default_profile_photo(48);
$type = 'image/jpeg';
}
diff --git a/include/photos.php b/include/photos.php
index ea4b494e0..82af4aaeb 100644
--- a/include/photos.php
+++ b/include/photos.php
@@ -77,6 +77,7 @@ function photo_upload($channel, $observer, $args) {
$filesize = intval($_FILES['userfile']['size']);
$type = $_FILES['userfile']['type'];
}
+
if (! $type)
$type=guess_image_type($filename);
@@ -102,12 +103,10 @@ function photo_upload($channel, $observer, $args) {
$imagedata = @file_get_contents($src);
- $r = q("select sum(size) as total from photo where uid = %d and scale = 0 ",
- intval($channel_id)
+ $r = q("select sum(size) as total from photo where aid = %d and scale = 0 ",
+ intval($account_id)
);
-// FIXME service class limits should probably apply to accounts and not channels
-
$limit = service_class_fetch($channel_id,'photo_upload_limit');
if(($r) && ($limit !== false) && (($r[0]['total'] + strlen($imagedata)) > $limit)) {
@@ -218,6 +217,9 @@ function photo_upload($channel, $observer, $args) {
$arr['deny_gid'] = $str_group_deny;
$arr['verb'] = ACTIVITY_POST;
+ $arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
+
+
$arr['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash . ']'
. '[zmg]' . z_root() . "/photo/{$photo_hash}-{$smallest}.".$ph->getExt() . '[/zmg]'
. '[/zrl]';
@@ -267,7 +269,11 @@ function photos_albums_list($channel,$observer) {
if($albums) {
$ret['success'] = true;
foreach($albums as $k => $album) {
- $entry = array('text' => $album['album'], 'urlencode' => urlencode($album['album']),'bin2hex' => bin2hex($album['album']));
+ $entry = array(
+ 'text' => $album['album'],
+ 'url' => z_root() . '/photos/' . $channel['channel_address'] . '/album/' . bin2hex($album['album']),
+ 'urlencode' => urlencode($album['album']),
+ 'bin2hex' => bin2hex($album['album']));
$ret[] = $entry;
}
}
@@ -279,8 +285,16 @@ function photos_album_widget($channelx,$observer,$albums = null) {
$o = '';
- if(! $albums)
- $albums = photos_albums_list($channelx,$observer);
+ // If we weren't passed an album list, see if the photos module
+ // dropped one for us to find in $a->data['albums'].
+ // If all else fails, load it.
+
+ if(! $albums) {
+ if(array_key_exists('albums', get_app()->data))
+ $albums = get_app()->data['albums'];
+ else
+ $albums = photos_albums_list($channelx,$observer);
+ }
if($albums) {
$o = replace_macros(get_markup_template('photo_albums.tpl'),array(
@@ -311,13 +325,16 @@ function photos_list_photos($channel,$observer,$album = '') {
$ret = array('success' => false);
- $r = q("select resource_id, created, edited, title, `desc`, 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, 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 ",
intval($channel_id),
intval(PHOTO_NORMAL),
intval(PHOTO_PROFILE)
);
-
+
if($r) {
+ for($x = 0; $x < count($r); $x ++) {
+ $r[$x]['src'] = z_root() . '/photo/' . $r[$x]['resource_id'] . '-' . $r[$x]['scale'];
+ }
$ret['success'] = true;
$ret['photos'] = $r;
}
@@ -398,6 +415,8 @@ function photos_create_item($channel, $creator_hash, $photo, $visible = false) {
$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]'
diff --git a/include/plugin.php b/include/plugin.php
index 5ed2a1736..9982a48a2 100755
--- a/include/plugin.php
+++ b/include/plugin.php
@@ -494,6 +494,15 @@ function head_add_css($src,$media = 'screen') {
get_app()->css_sources[] = array($src,$media);
}
+
+function head_remove_css($src,$media = 'screen') {
+ $a = get_app();
+ $index = array_search(array($src,$media),$a->css_sources);
+ if($index !== false)
+ unset($a->css_sources[$index]);
+
+}
+
function head_get_css() {
$str = '';
$sources = get_app()->css_sources;
@@ -511,15 +520,44 @@ function format_css_if_exists($source) {
$path = theme_include($source[0]);
if($path)
- return '<link rel="stylesheet" href="' . z_root() . '/' . $path . '" type="text/css" media="' . $source[1] . '" />' . "\r\n";
+ return '<link rel="stylesheet" href="' . script_path() . '/' . $path . '" type="text/css" media="' . $source[1] . '" />' . "\r\n";
}
+function script_path() {
+ if(x($_SERVER,'HTTPS') && $_SERVER['HTTPS'])
+ $scheme = 'https';
+ elseif(x($_SERVER,'SERVER_PORT') && (intval($_SERVER['SERVER_PORT']) == 443))
+ $scheme = 'https';
+ else
+ $scheme = 'http';
+
+ if(x($_SERVER,'SERVER_NAME')) {
+ $hostname = $_SERVER['SERVER_NAME'];
+ }
+ else {
+ return z_root();
+ }
+
+ if(x($_SERVER,'SERVER_PORT') && $_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443) {
+ $hostname .= ':' . $_SERVER['SERVER_PORT'];
+ }
+
+ return $scheme . '://' . $hostname;
+}
function head_add_js($src) {
get_app()->js_sources[] = $src;
}
+function head_remove_js($src) {
+ $a = get_app();
+ $index = array_search($src,$a->js_sources);
+ if($index !== false)
+ unset($a->js_sources[$index]);
+
+}
+
function head_get_js() {
$str = '';
$sources = get_app()->js_sources;
@@ -536,7 +574,7 @@ function format_js_if_exists($source) {
else
$path = theme_include($source);
if($path)
- return '<script src="' . z_root() . '/' . $path . '" ></script>' . "\r\n" ;
+ return '<script src="' . script_path() . '/' . $path . '" ></script>' . "\r\n" ;
}
diff --git a/include/reddav.php b/include/reddav.php
index c24414610..c5ef39097 100644
--- a/include/reddav.php
+++ b/include/reddav.php
@@ -1,196 +1,1025 @@
<?php /** @file */
use Sabre\DAV;
- require_once('vendor/autoload.php');
+require_once('vendor/autoload.php');
-class RedInode implements DAV\INode {
+require_once('include/attach.php');
- private $attach;
+class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
+
+ private $red_path;
+ private $folder_hash;
+ private $ext_path;
+ private $root_dir = '';
+ private $auth;
+ private $os_path = '';
+
+ function __construct($ext_path,&$auth_plugin) {
+ logger('RedDirectory::__construct() ' . $ext_path, LOGGER_DEBUG);
+ $this->ext_path = $ext_path;
+ $this->red_path = ((strpos($ext_path,'/cloud') === 0) ? substr($ext_path,6) : $ext_path);
+ if(! $this->red_path)
+ $this->red_path = '/';
+ $this->auth = $auth_plugin;
+ $this->folder_hash = '';
+
+ $this->getDir();
+
+ if($this->auth->browser)
+ $this->auth->browser->set_writeable();
- function __construct($attach) {
- $this->attach = $attach;
}
+ function getChildren() {
- function delete() {
- if(! perm_is_allowed($this->channel_id,'','view_storage'))
- return;
-
- /**
- * Since I don't believe this is documented elsewhere -
- * ATTACH_FLAG_OS means that the file contents are stored in the OS
- * rather than in the DB - as is the case for attachments.
- * Exactly how they are stored (what path and filename) are still
- * TBD. We will probably not be using the original filename but
- * instead the attachment 'hash' as this will prevent folks from
- * uploading PHP code onto misconfigured servers and executing it.
- * It's easy to misconfigure servers because we can provide a
- * rule for Apache, but folks using nginx will then be susceptible.
- * Then there are those who don't understand these kinds of exploits
- * and don't have any idea allowing uploaded PHP files to be executed
- * by the server could be a problem. We also don't have any idea what
- * executable types are served on their system - like .py, .pyc, .pl, .sh
- * .cgi, .exe, .bat, .net, whatever.
- */
-
- if($this->attach['flags'] & ATTACH_FLAG_OS) {
- // FIXME delete physical file
- }
- if($this->attach['flags'] & ATTACH_FLAG_DIR) {
- // FIXME delete contents (recursive?)
+ if(get_config('system','block_public') && (! $this->auth->channel_id) && (! $this->auth->observer)) {
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ return;
}
+
+ if(($this->auth->owner_id) && (! perm_is_allowed($this->auth->owner_id,$this->auth->observer,'view_storage'))) {
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ return;
+ }
+
+ $contents = RedCollectionData($this->red_path,$this->auth);
+ return $contents;
+ }
+
+
+ function getChild($name) {
+
+ logger('RedDirectory::getChild : ' . $name, LOGGER_DATA);
+
+ if(get_config('system','block_public') && (! $this->auth->channel_id) && (! $this->auth->observer)) {
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ return;
+ }
+
+ if(($this->auth->owner_id) && (! perm_is_allowed($this->auth->owner_id,$this->auth->observer,'view_storage'))) {
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ return;
+ }
+
+ if($this->red_path === '/' && $name === 'cloud') {
+ return new RedDirectory('/cloud', $this->auth);
+ }
+
+ $x = RedFileData($this->ext_path . '/' . $name, $this->auth);
+ if($x)
+ return $x;
+
+ throw new DAV\Exception\NotFound('The file with name: ' . $name . ' could not be found');
- q("delete from attach where id = %d limit 1",
- intval($this->attach['id'])
+ }
+
+ function getName() {
+ logger('RedDirectory::getName returns: ' . basename($this->red_path), LOGGER_DATA);
+ return (basename($this->red_path));
+ }
+
+
+
+
+ function createFile($name,$data = null) {
+ logger('RedDirectory::createFile : ' . $name, LOGGER_DEBUG);
+
+ if(! $this->auth->owner_id) {
+ logger('createFile: permission denied');
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ return;
+ }
+
+ if(! perm_is_allowed($this->auth->owner_id,$this->auth->observer,'write_storage')) {
+ logger('createFile: permission denied');
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ return;
+ }
+
+ $mimetype = z_mime_content_type($name);
+
+
+ $c = q("select * from channel where channel_id = %d and not (channel_pageflags & %d) limit 1",
+ intval($this->auth->owner_id),
+ intval(PAGE_REMOVED)
+
+ );
+
+ if(! $c) {
+ logger('createFile: no channel');
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ return;
+ }
+
+
+ $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' ) ",
+ 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),
+ dbesc($mimetype),
+ intval($filesize),
+ intval(0),
+ 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'])
+
+
);
+ $f = 'store/' . $this->auth->owner_nick . '/' . (($this->os_path) ? $this->os_path . '/' : '') . $hash;
+
+ file_put_contents($f, $data);
+ $size = filesize($f);
+
+ $edited = datetime_convert();
+
+ $d = q("update attach set filesize = '%s', edited = '%s' where hash = '%s' and uid = %d limit 1",
+ dbesc($size),
+ dbesc($edited),
+ dbesc($hash),
+ intval($c[0]['channel_id'])
+ );
+
+ $e = q("update attach set edited = '%s' where folder = '%s' and uid = %d limit 1",
+ dbesc($edited),
+ dbesc($this->folder_hash),
+ intval($c[0]['channel_id'])
+ );
+
+ $maxfilesize = get_config('system','maxfilesize');
+
+ if(($maxfilesize) && ($size > $maxfilesize)) {
+ attach_delete($c[0]['channel_id'],$hash);
+ return;
+ }
+
+ $limit = service_class_fetch($c[0]['channel_id'],'attach_upload_limit');
+ if($limit !== false) {
+ $x = q("select sum(filesize) as total from attach where aid = %d ",
+ intval($c[0]['channel_account_id'])
+ );
+ if(($x) && ($x[0]['total'] + $size > $limit)) {
+ logger('reddav: service class limit exceeded for ' . $c[0]['channel_name'] . ' total usage is ' . $x[0]['total'] . ' limit is ' . $limit);
+ attach_delete($c[0]['channel_id'],$hash);
+ return;
+ }
+ }
}
- function getName() {
- return $this->attach['filename'];
+
+ function createDirectory($name) {
+
+ logger('RedDirectory::createDirectory: ' . $name, LOGGER_DEBUG);
+
+ if((! $this->auth->owner_id) || (! perm_is_allowed($this->auth->owner_id,$this->auth->observer,'write_storage'))) {
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ return;
+ }
+
+ $r = q("select * from channel where channel_id = %d and not (channel_pageflags & %d) limit 1",
+ intval($this->auth->owner_id),
+ intval(PAGE_REMOVED)
+ );
+
+ if($r) {
+ $result = attach_mkdir($r[0],$this->auth->observer,array('filename' => $name,'folder' => $this->folder_hash));
+ if(! $result['success'])
+ logger('RedDirectory::createDirectory: ' . print_r($result,true), LOGGER_DEBUG);
+ }
}
- function setName($newName) {
- if((! $newName) || (! perm_is_allowed($this->channel_id,'','view_storage')))
+ function childExists($name) {
+
+ if($this->red_path === '/' && $name === 'cloud') {
+ logger('RedDirectory::childExists /cloud: true', LOGGER_DATA);
+ return true;
+ }
+
+ $x = RedFileData($this->ext_path . '/' . $name, $this->auth,true);
+ logger('RedFileData returns: ' . print_r($x,true), LOGGER_DATA);
+ if($x)
+ return true;
+ return false;
+ }
+
+ function getDir() {
+ logger('getDir: ' . $this->ext_path, LOGGER_DEBUG);
+
+ $file = $this->ext_path;
+
+ $x = strpos($file,'/cloud');
+ if($x === false)
return;
+ if($x === 0) {
+ $file = substr($file,6);
+ }
- $this->attach['filename'] = $newName;
- $r = q("update attach set filename = '%s' where id = %d limit 1",
- dbesc($this->attach['filename']),
- intval($this->attach['id'])
+ if((! $file) || ($file === '/')) {
+ return;
+ }
+
+ $file = trim($file,'/');
+ $path_arr = explode('/', $file);
+
+ if(! $path_arr)
+ return;
+
+
+ logger('getDir(): path: ' . print_r($path_arr,true));
+
+ $channel_name = $path_arr[0];
+
+
+ $r = q("select channel_id from channel where channel_address = '%s' and not ( channel_pageflags & %d ) limit 1",
+ dbesc($channel_name),
+ intval(PAGE_REMOVED)
);
+ if(! $r) {
+ throw new DAV\Exception\NotFound('The file with name: ' . $channel_name . ' could not be found');
+
+ return;
+ }
+ $channel_id = $r[0]['channel_id'];
+ $this->auth->owner_id = $channel_id;
+ $this->auth->owner_nick = $channel_name;
+
+ $path = '/' . $channel_name;
+
+ $folder = '';
+ $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 (flags & %d)",
+ dbesc($folder),
+ dbesc($path_arr[$x]),
+ intval($channel_id),
+ intval(ATTACH_FLAG_DIR)
+ );
+
+ if($r && ( $r[0]['flags'] & ATTACH_FLAG_DIR)) {
+ $folder = $r[0]['hash'];
+ if(strlen($os_path))
+ $os_path .= '/';
+ $os_path .= $folder;
+
+ $path = $path . '/' . $r[0]['filename'];
+ }
+ }
+ $this->folder_hash = $folder;
+ $this->os_path = $os_path;
+ return;
}
+
function getLastModified() {
- return $this->attach['edited'];
+ $r = q("select edited from attach where folder = '%s' and uid = %d order by edited desc limit 1",
+ dbesc($this->folder_hash),
+ intval($this->auth->owner_id)
+ );
+ if($r)
+ return datetime_convert('UTC','UTC', $r[0]['edited'],'U');
+ return '';
+ }
+
+
+ public function getQuotaInfo() {
+
+ $limit = disk_total_space('store');
+ $free = disk_free_space('store');
+
+ if($this->auth->owner_id) {
+
+ $c = q("select * from channel where channel_id = %d and not (channel_pageflags & %d) limit 1",
+ intval($this->auth->owner_id),
+ intval(PAGE_REMOVED)
+
+ );
+
+ $ulimit = service_class_fetch($c[0]['channel_id'],'attach_upload_limit');
+ $limit = (($ulimit) ? $ulimit : $limit);
+
+ $x = q("select sum(filesize) as total from attach where aid = %d ",
+ intval($c[0]['channel_account_id'])
+ );
+ $free = (($x) ? $limit - $x[0]['total'] : 0);
+ }
+
+ return array(
+ $limit - $free,
+ $free
+ );
+
}
}
-abstract class RedDirectory extends DAV\Node implements DAV\ICollection {
+class RedFile extends DAV\Node implements DAV\IFile {
- private $red_path;
- private $dir_key;
+ private $data;
private $auth;
- private $channel_id;
+ private $name;
- function __construct($red_path,$auth_plugin) {
- $this->red_path = $red_path;
- $this->auth = $auth_plugin;
+ function __construct($name, $data, &$auth) {
+ $this->name = $name;
+ $this->data = $data;
+ $this->auth = $auth;
+
+ logger('RedFile::_construct: ' . print_r($this->data,true), LOGGER_DATA);
}
- function getChildren() {
- if(! perm_is_allowed($this->channel_id,'','view_storage'))
- return array();
+ function getName() {
+ logger('RedFile::getName: ' . basename($this->name), LOGGER_DEBUG);
+ return basename($this->name);
+
+ }
+
+
+ function setName($newName) {
+ logger('RedFile::setName: ' . basename($this->name) . ' -> ' . $newName, LOGGER_DEBUG);
+
+ if((! $newName) || (! $this->auth->owner_id) || (! perm_is_allowed($this->auth->owner_id,$this->auth->observer,'write_storage'))) {
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ return;
+ }
+
+ $newName = str_replace('/','%2F',$newName);
+
+ $r = q("update attach set filename = '%s' where hash = '%s' and id = %d limit 1",
+ dbesc($this->data['filename']),
+ intval($this->data['id'])
+ );
+
+ }
+
+
+ function put($data) {
+ logger('RedFile::put: ' . basename($this->name), LOGGER_DEBUG);
+
+ $c = q("select * from channel where channel_id = %d and not (channel_pageflags & %d) limit 1",
+ intval(PAGE_REMOVED),
+ intval($this->auth->owner_id)
+ );
- $ret = array();
- $r = q("select distinct filename from attach where folder = '%s' and uid = %d group by filename",
- dbesc($this->dir_key),
- intval($this->channel_id)
+ $r = q("select flags, folder, data from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($this->data['hash']),
+ intval($c[0]['channel_id'])
);
if($r) {
- foreach($r as $rr) {
- $ret[] = $rr['filename'];
+ if($r[0]['flags'] & ATTACH_FLAG_OS) {
+ $f = 'store/' . $this->auth->owner_nick . '/' . (($r[0]['data']) ? $r[0]['data'] : '');
+ @file_put_contents($f, $data);
+ $size = @filesize($f);
+ logger('reddav: put() filename: ' . $f . ' size: ' . $size, LOGGER_DEBUG);
+ }
+ else {
+ $r = q("update attach set data = '%s' where hash = '%s' and uid = %d limit 1",
+ dbesc(stream_get_contents($data)),
+ dbesc($this->data['hash']),
+ intval($this->data['uid'])
+ );
+ $r = q("select length(data) as fsize from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($this->data['hash']),
+ intval($this->data['uid'])
+ );
+ if($r)
+ $size = $r[0]['fsize'];
}
+
+ }
+
+ $edited = datetime_convert();
+
+ $d = q("update attach set filesize = '%s', edited = '%s' where hash = '%s' and uid = %d limit 1",
+ dbesc($size),
+ dbesc($edited),
+ dbesc($this->data['hash']),
+ intval($c[0]['channel_id'])
+ );
+
+ $e = q("update attach set edited = '%s' where folder = '%s' and uid = %d limit 1",
+ dbesc($edited),
+ dbesc($r[0]['folder']),
+ intval($c[0]['channel_id'])
+ );
+
+ $maxfilesize = get_config('system','maxfilesize');
+
+ if(($maxfilesize) && ($size > $maxfilesize)) {
+ attach_delete($c[0]['channel_id'],$this->data['hash']);
+ return;
}
- return $ret;
+ $limit = service_class_fetch($c[0]['channel_id'],'attach_upload_limit');
+ if($limit !== false) {
+ $x = q("select sum(filesize) as total from attach where aid = %d ",
+ intval($c[0]['channel_account_id'])
+ );
+ if(($x) && ($x[0]['total'] + $size > $limit)) {
+ logger('reddav: service class limit exceeded for ' . $c[0]['channel_name'] . ' total usage is ' . $x[0]['total'] . ' limit is ' . $limit);
+ attach_delete($c[0]['channel_id'],$this->data['hash']);
+ return;
+ }
+ }
}
- function getChild($name) {
- if(! perm_is_allowed($this->channel_id,'','view_storage')) {
+ function get() {
+ logger('RedFile::get: ' . basename($this->name), LOGGER_DEBUG);
+
+ $r = q("select data, flags from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($this->data['hash']),
+ intval($this->data['uid'])
+ );
+ if($r) {
+ if($r[0]['flags'] & ATTACH_FLAG_OS ) {
+ $f = 'store/' . $this->auth->owner_nick . '/' . (($this->os_path) ? $this->os_path . '/' : '') . $r[0]['data'];
+ return fopen($f,'rb');
+ }
+ return $r[0]['data'];
+ }
+
+ }
+
+ function getETag() {
+ return $this->data['hash'];
+ }
+
+
+ function getContentType() {
+ return $this->data['filetype'];
+ }
+
+
+ function getSize() {
+ return $this->data['filesize'];
+ }
+
+
+ function getLastModified() {
+ return datetime_convert('UTC','UTC',$this->data['edited'],'U');
+ }
+
+
+ function delete() {
+ if((! $this->auth->owner_id) || (! perm_is_allowed($this->auth->owner_id,$this->auth->observer,'write_storage'))) {
throw new DAV\Exception\Forbidden('Permission denied.');
return;
}
-// FIXME check revisions
+ if($this->auth->owner_id !== $this->auth->channel_id) {
+ if(($this->auth->observer !== $this->data['creator']) || ($this->data['flags'] & ATTACH_FLAG_DIR)) {
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ return;
+ }
+ }
+
+ attach_delete($this->auth->owner_id,$this->data['hash']);
+ }
+
+}
+
+function RedChannelList(&$auth) {
+
+ $ret = array();
+
+ $r = q("select channel_id, channel_address from channel where not (channel_pageflags & %d) and not (channel_pageflags & %d) ",
+ intval(PAGE_REMOVED),
+ intval(PAGE_HIDDEN)
+ );
+
+ if($r) {
+ foreach($r as $rr) {
+ if(perm_is_allowed($rr['channel_id'],$auth->observer,'view_storage')) {
+ $ret[] = new RedDirectory('/cloud/' . $rr['channel_address'],$auth);
+ }
+ }
+ }
+ return $ret;
+
+}
+
+
+function RedCollectionData($file,&$auth) {
+
+ $ret = array();
+
+ $x = strpos($file,'/cloud');
+ if($x === 0) {
+ $file = substr($file,6);
+ }
+
+ if((! $file) || ($file === '/')) {
+ return RedChannelList($auth);
+ }
- $r = q("select * from attach where folder = '%s' and filename = '%s' and uid = %d limit 1",
- dbesc($this->dir_key),
- dbesc($name),
- dbesc($this->channel_id)
+ $file = trim($file,'/');
+ $path_arr = explode('/', $file);
+
+ if(! $path_arr)
+ return null;
+
+ $channel_name = $path_arr[0];
+
+ $r = q("select channel_id from channel where channel_address = '%s' limit 1",
+ dbesc($channel_name)
+ );
+
+ if(! $r)
+ return null;
+
+ $channel_id = $r[0]['channel_id'];
+ $perms = permissions_sql($channel_id);
+
+ $auth->owner_id = $channel_id;
+
+ $path = '/' . $channel_name;
+
+ $folder = '';
+ $errors = false;
+ $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 (flags & %d) $perms limit 1",
+ dbesc($folder),
+ dbesc($path_arr[$x]),
+ intval(ATTACH_FLAG_DIR)
);
if(! $r) {
- throw new DAV\Exception\NotFound('The file with name: ' . $name . ' could not be found');
- }
+ // 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 (flags & %d) limit 1",
+ dbesc($folder),
+ basename($path_arr[$x]),
+ intval(ATTACH_FLAG_DIR)
+ );
+ if($r) {
+ $permission_error = true;
+ }
+ break;
+ }
-
+ if($r && ( $r[0]['flags'] & ATTACH_FLAG_DIR)) {
+ $folder = $r[0]['hash'];
+ $path = $path . '/' . $r[0]['filename'];
+ }
}
+ if($errors) {
+ if($permission_error) {
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ return;
+ }
+ else {
+ throw new DAV\Exception\NotFound('A component of the request file path could not be found');
+ return;
+ }
+ }
- function createFile($name,$data = null) {
+ // This should no longer be needed since we just returned errors for paths not found
+
+ if($path !== '/' . $file) {
+ logger("RedCollectionData: Path mismatch: $path !== /$file");
+ return NULL;
+ }
+ $ret = array();
+ $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, created, edited from attach where folder = '%s' and uid = %d $perms group by filename",
+ dbesc($folder),
+ intval($channel_id)
+ );
+
+ foreach($r as $rr) {
+ if($rr['flags'] & ATTACH_FLAG_DIR)
+ $ret[] = new RedDirectory('/cloud' . $path . '/' . $rr['filename'],$auth);
+ else
+ $ret[] = new RedFile('/cloud' . $path . '/' . $rr['filename'],$rr,$auth);
}
- function createDirectory($name) {
+ return $ret;
+}
+
+function RedFileData($file, &$auth,$test = false) {
+
+ logger('RedFileData:' . $file . (($test) ? ' (test mode) ' : ''), LOGGER_DEBUG);
+ $x = strpos($file,'/cloud');
+ if($x === 0) {
+ $file = substr($file,6);
}
+ if((! $file) || ($file === '/')) {
+ return RedDirectory('/',$auth);
- function childExists($name) {
- $r = q("select distinct filename from attach where folder = '%s' and filename = '%s' and uid = %d group by filename",
- dbesc($this->dir_key),
- dbesc($name),
- intval($this->channel_id)
+ }
+
+ $file = trim($file,'/');
+
+ $path_arr = explode('/', $file);
+
+ if(! $path_arr)
+ return null;
+
+
+ $channel_name = $path_arr[0];
+
+
+ $r = q("select channel_id from channel where channel_address = '%s' limit 1",
+ dbesc($channel_name)
+ );
+
+ if(! $r)
+ return null;
+
+ $channel_id = $r[0]['channel_id'];
+
+ $path = '/' . $channel_name;
+
+ $auth->owner_id = $channel_id;
+
+ $permission_error = false;
+
+ $folder = '';
+
+ require_once('include/security.php');
+ $perms = permissions_sql($channel_id);
+
+ $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) $perms",
+ dbesc($folder),
+ dbesc($path_arr[$x]),
+ intval($channel_id),
+ intval(ATTACH_FLAG_DIR)
);
- if($r)
+
+ if($r && ( $r[0]['flags'] & ATTACH_FLAG_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
+ where folder = '%s' and filename = '%s' and uid = %d $perms group by filename limit 1",
+ dbesc($folder),
+ basename($file),
+ intval($channel_id)
+
+ );
+ }
+ if(! $r) {
+
+ $errors = true;
+ $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, created, edited from attach
+ where folder = '%s' and filename = '%s' and uid = %d group by filename limit 1",
+ dbesc($folder),
+ basename($file),
+ intval($channel_id)
+ );
+ if($r)
+ $permission_error = true;
+
+ }
+
+ }
+
+ if($path === '/' . $file) {
+ if($test)
return true;
- return false;
+ // final component was a directory.
+ return new RedDirectory('/cloud/' . $file,$auth);
+ }
+ if($errors) {
+ logger('RedFileData: not found');
+ if($test)
+ return false;
+ if($permission_error) {
+ logger('RedFileData: permission error');
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ }
+ return;
}
+ if($r) {
+ if($test)
+ return true;
+
+ if($r[0]['flags'] & ATTACH_FLAG_DIR)
+ return new RedDirectory('/cloud' . $path . '/' . $r[0]['filename'],$auth);
+ else
+ return new RedFile('/cloud' . $path . '/' . $r[0]['filename'],$r[0],$auth);
+ }
+ return false;
}
-abstract class RedFile extends DAV\Node implements DAV\IFile {
+class RedBasicAuth extends Sabre\DAV\Auth\Backend\AbstractBasic {
- private $data;
+ public $channel_name = '';
+ public $channel_id = 0;
+ public $channel_hash = '';
+ public $observer = '';
+ public $browser;
+ public $owner_id;
+ public $owner_nick = '';
+ public $timezone;
+ protected function validateUserPass($username, $password) {
- function __construct($data) {
- $this->data = $data;
+ if(trim($password) === '+++') {
+ logger('reddav: validateUserPass: guest ' . $username);
+ return true;
+ }
+ require_once('include/auth.php');
+ $record = account_verify_password($email,$pass);
+ if($record && $record['account_default_channel']) {
+ $r = q("select * from channel where channel_account_id = %d and channel_id = %d limit 1",
+ intval($record['account_id']),
+ intval($record['account_default_channel'])
+ );
+ if($r) {
+ $this->currentUser = $r[0]['channel_address'];
+ $this->channel_name = $r[0]['channel_address'];
+ $this->channel_id = $r[0]['channel_id'];
+ $this->channel_hash = $this->observer = $r[0]['channel_hash'];
+ return true;
+ }
+ }
+ $r = q("select * from channel where channel_address = '%s' limit 1",
+ dbesc($username)
+ );
+ if($r) {
+ $x = q("select * from account where account_id = %d limit 1",
+ intval($r[0]['channel_account_id'])
+ );
+ if($x) {
+ foreach($x as $record) {
+ if(($record['account_flags'] == ACCOUNT_OK) || ($record['account_flags'] == ACCOUNT_UNVERIFIED)
+ && (hash('whirlpool',$record['account_salt'] . $password) === $record['account_password'])) {
+ logger('(DAV) RedBasicAuth: password verified for ' . $username);
+ $this->currentUser = $r[0]['channel_address'];
+ $this->channel_name = $r[0]['channel_address'];
+ $this->channel_id = $r[0]['channel_id'];
+ $this->channel_hash = $this->observer = $r[0]['channel_hash'];
+ return true;
+ }
+ }
+ }
+ }
+ logger('(DAV) RedBasicAuth: password failed for ' . $username);
+ return false;
}
+ function setCurrentUser($name) {
+ $this->currentUser = $name;
+ }
+ function setBrowserPlugin($browser) {
+ $this->browser = $browser;
+ }
+
+}
- function put($data) {
- }
+class RedBrowser extends DAV\Browser\Plugin {
+
+ private $auth;
+ function __construct(&$auth) {
- function get() {
+ $this->auth = $auth;
}
- function getETag() {
+ // The DAV browser is instantiated after the auth module and directory classes but before we know the current
+ // directory and who the owner and observer are. So we add a pointer to the browser into the auth module and vice
+ // versa. Then when we've figured out what directory is actually being accessed, we call the following function
+ // to decide whether or not to show web elements which include writeable objects.
+ function set_writeable() {
- }
+ if(! $this->auth->owner_id)
+ $this->enablePost = false;
+ if(! perm_is_allowed($this->auth->owner_id, get_observer_hash(), 'write_storage'))
+ $this->enablePost = false;
+ else
+ $this->enablePost = true;
- function getContentType() {
- return $this->data['filetype'];
}
+ public function generateDirectoryIndex($path) {
+
+ if($this->auth->timezone)
+ date_default_timezone_set($this->auth->timezone);
- function getSize() {
- return $this->data['filesize'];
- }
+ $version = '';
+
+ $html = "
+<body>
+ <h1>Index for " . $this->escapeHTML($path) . "/</h1>
+ <table>
+ <tr><th width=\"24\"></th><th>Name</th><th>Type</th><th>Size</th><th>Last modified</th></tr>
+ <tr><td colspan=\"5\"><hr /></td></tr>";
-}
+ $files = $this->server->getPropertiesForPath($path,array(
+ '{DAV:}displayname',
+ '{DAV:}resourcetype',
+ '{DAV:}getcontenttype',
+ '{DAV:}getcontentlength',
+ '{DAV:}getlastmodified',
+ ),1);
+
+ $parent = $this->server->tree->getNodeForPath($path);
+ if ($path) {
+ list($parentUri) = DAV\URLUtil::splitPath($path);
+ $fullPath = DAV\URLUtil::encodePath($this->server->getBaseUri() . $parentUri);
+ $icon = $this->enableAssets?'<a href="' . $fullPath . '"><img src="' . $this->getAssetUrl('icons/parent' . $this->iconExtension) . '" width="24" alt="Parent" /></a>':'';
+ $html.= "<tr>
+ <td>$icon</td>
+ <td><a href=\"{$fullPath}\">..</a></td>
+ <td>[parent]</td>
+ <td></td>
+ <td></td>
+ </tr>";
+ }
+
+ foreach($files as $file) {
+
+ // This is the current directory, we can skip it
+ if (rtrim($file['href'],'/')==$path) continue;
+
+ list(, $name) = DAV\URLUtil::splitPath($file['href']);
+
+ $type = null;
+
+
+ if (isset($file[200]['{DAV:}resourcetype'])) {
+ $type = $file[200]['{DAV:}resourcetype']->getValue();
+
+ // resourcetype can have multiple values
+ if (!is_array($type)) $type = array($type);
+
+ foreach($type as $k=>$v) {
+
+ // Some name mapping is preferred
+ switch($v) {
+ case '{DAV:}collection' :
+ $type[$k] = 'Collection';
+ break;
+ case '{DAV:}principal' :
+ $type[$k] = 'Principal';
+ break;
+ case '{urn:ietf:params:xml:ns:carddav}addressbook' :
+ $type[$k] = 'Addressbook';
+ break;
+ case '{urn:ietf:params:xml:ns:caldav}calendar' :
+ $type[$k] = 'Calendar';
+ break;
+ case '{urn:ietf:params:xml:ns:caldav}schedule-inbox' :
+ $type[$k] = 'Schedule Inbox';
+ break;
+ case '{urn:ietf:params:xml:ns:caldav}schedule-outbox' :
+ $type[$k] = 'Schedule Outbox';
+ break;
+ case '{http://calendarserver.org/ns/}calendar-proxy-read' :
+ $type[$k] = 'Proxy-Read';
+ break;
+ case '{http://calendarserver.org/ns/}calendar-proxy-write' :
+ $type[$k] = 'Proxy-Write';
+ break;
+ }
+
+ }
+ $type = implode(', ', $type);
+ }
+
+ // If no resourcetype was found, we attempt to use
+ // the contenttype property
+ if (!$type && isset($file[200]['{DAV:}getcontenttype'])) {
+ $type = $file[200]['{DAV:}getcontenttype'];
+ }
+ if (!$type) $type = 'Unknown';
+
+ $size = isset($file[200]['{DAV:}getcontentlength'])?(int)$file[200]['{DAV:}getcontentlength']:'';
+ $lastmodified = ((isset($file[200]['{DAV:}getlastmodified']))? $file[200]['{DAV:}getlastmodified']->getTime()->format('Y-m-d H:i:s') :'');
+
+ $fullPath = DAV\URLUtil::encodePath('/' . trim($this->server->getBaseUri() . ($path?$path . '/':'') . $name,'/'));
+
+ $displayName = isset($file[200]['{DAV:}displayname'])?$file[200]['{DAV:}displayname']:$name;
+
+ $displayName = $this->escapeHTML($displayName);
+ $type = $this->escapeHTML($type);
+
+ $icon = '';
+
+ if ($this->enableAssets) {
+ $node = $this->server->tree->getNodeForPath(($path?$path.'/':'') . $name);
+ foreach(array_reverse($this->iconMap) as $class=>$iconName) {
+
+ if ($node instanceof $class) {
+ $icon = '<a href="' . $fullPath . '"><img src="' . $this->getAssetUrl($iconName . $this->iconExtension) . '" alt="" width="24" /></a>';
+ break;
+ }
+
+
+ }
+
+ }
+
+ $html.= "<tr>
+ <td>$icon</td>
+ <td><a href=\"{$fullPath}\">{$displayName}</a></td>
+ <td>{$type}</td>
+ <td>{$size}</td>
+ <td>" . (($lastmodified) ? datetime_convert('UTC', date_default_timezone_get(),$lastmodified) : '') . "</td>
+ </tr>";
+
+ }
+
+ $html.= "<tr><td colspan=\"5\"><hr /></td></tr>";
+
+ $output = '';
+
+ if ($this->enablePost) {
+ $this->server->broadcastEvent('onHTMLActionsPanel',array($parent, &$output));
+ }
+
+ $html.=$output;
+
+ $html.= "</table>";
+
+ get_app()->page['content'] = $html;
+ construct_page(get_app());
+
+// return $html;
+
+ }
+
+
+ public function htmlActionsPanel(DAV\INode $node, &$output) {
+
+ if (!$node instanceof DAV\ICollection)
+ return;
+
+ // We also know fairly certain that if an object is a non-extended
+ // SimpleCollection, we won't need to show the panel either.
+
+ if (get_class($node)==='Sabre\\DAV\\SimpleCollection')
+ return;
+
+ $output.= '<tr><td colspan="2"><form method="post" action="">
+ <h3>Create new folder</h3>
+ <input type="hidden" name="sabreAction" value="mkcol" />
+ Name: <input type="text" name="name" />
+ <input type="submit" value="create" />
+ </form>
+ <form method="post" action="" enctype="multipart/form-data">
+ <h3>Upload file</h3>
+ <input type="hidden" name="sabreAction" value="put" />
+ Name (optional): <input type="text" name="name" /><br />
+ File: <input type="file" name="file" /><br />
+ <input type="submit" value="upload" />
+ </form>
+ </td></tr>';
+
+
+ if($this->auth->owner_id && $this->auth->owner_id == $this->auth->channel_id) {
+ $channel = get_app()->get_channel();
+ if($channel) {
+ $output .= '<tr><td>&nbsp;</td></tr><tr><td colspan="2"><a href="filestorage/' . $channel['channel_address'] . '" >' . t('Edit File properties') . '</a></td></tr>';
+ }
+ }
+
+ }
+
+
+}
diff --git a/include/security.php b/include/security.php
index 296fa450f..5e86cf790 100644
--- a/include/security.php
+++ b/include/security.php
@@ -31,90 +31,6 @@ function authenticate_success($user_record, $login_initial = false, $interactive
}
}
- else {
- $_SESSION['uid'] = $user_record['uid'];
- $_SESSION['theme'] = $user_record['theme'];
- $_SESSION['mobile_theme'] = get_pconfig($user_record['uid'], 'system', 'mobile_theme');
- $_SESSION['authenticated'] = 1;
- $_SESSION['page_flags'] = $user_record['page-flags'];
- $_SESSION['my_url'] = $a->get_baseurl() . '/channel/' . $user_record['nickname'];
- $_SESSION['my_address'] = $user_record['nickname'] . '@' . substr($a->get_baseurl(),strpos($a->get_baseurl(),'://')+3);
-
- $a->user = $user_record;
-
- if($interactive) {
- if($a->user['login_date'] === '0000-00-00 00:00:00') {
- $_SESSION['return_url'] = 'profile_photo/new';
- $a->module = 'profile_photo';
- info( t("Welcome ") . $a->user['username'] . EOL);
- info( t('Please upload a profile photo.') . EOL);
- }
- else
- info( t("Welcome back ") . $a->user['username'] . EOL);
- }
-
- $member_since = strtotime($a->user['register_date']);
- if(time() < ($member_since + ( 60 * 60 * 24 * 14)))
- $_SESSION['new_member'] = true;
- else
- $_SESSION['new_member'] = false;
- if(strlen($a->user['timezone'])) {
- date_default_timezone_set($a->user['timezone']);
- $a->timezone = $a->user['timezone'];
- }
-
- $master_record = $a->user;
-
- if((x($_SESSION,'submanage')) && intval($_SESSION['submanage'])) {
- $r = q("select * from user where uid = %d limit 1",
- intval($_SESSION['submanage'])
- );
- if(count($r))
- $master_record = $r[0];
- }
-
- $r = q("SELECT `uid`,`username`,`nickname` FROM `user` WHERE `password` = '%s' AND `email` = '%s'",
- dbesc($master_record['password']),
- dbesc($master_record['email'])
- );
- if($r && count($r))
- $a->identities = $r;
- else
- $a->identities = array();
-
- $r = q("select `user`.`uid`, `user`.`username`, `user`.`nickname`
- from manage left join user on manage.mid = user.uid
- where `manage`.`uid` = %d",
- intval($master_record['uid'])
- );
- if($r && count($r))
- $a->identities = array_merge($a->identities,$r);
-
- if($login_initial)
- logger('auth_identities: ' . print_r($a->identities,true), LOGGER_DEBUG);
-
- $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
- intval($_SESSION['uid']));
- if(count($r)) {
- $a->contact = $r[0];
- $a->cid = $r[0]['id'];
- $_SESSION['cid'] = $a->cid;
- }
-
- header('X-Account-Management-Status: active; name="' . $a->user['username'] . '"; id="' . $a->user['nickname'] .'"');
-
- if($login_initial) {
- $l = get_browser_language();
-
- q("UPDATE `user` SET `login_date` = '%s', `language` = '%s' WHERE `uid` = %d LIMIT 1",
- dbesc(datetime_convert()),
- dbesc($l),
- intval($_SESSION['uid'])
- );
-
-
- }
- }
if($login_initial)
call_hooks('logged_in', $user_record);
@@ -144,6 +60,7 @@ function change_channel($change_channel) {
intval(get_account_id()),
intval(PAGE_REMOVED)
);
+
if($r) {
$hash = $r[0]['channel_hash'];
$_SESSION['uid'] = intval($r[0]['channel_id']);
@@ -158,11 +75,14 @@ function change_channel($change_channel) {
);
if($x) {
$_SESSION['my_url'] = $x[0]['xchan_url'];
- $_SESSION['my_address'] = $x[0]['xchan_addr'];
+ $_SESSION['my_address'] = $r[0]['channel_address'] . '@' . substr(get_app()->get_baseurl(),strpos(get_app()->get_baseurl(),'://')+3);
get_app()->set_observer($x[0]);
get_app()->set_perms(get_all_perms(local_user(),$hash));
}
+ if(! is_dir('store/' . $r[0]['channel_address']))
+ @mkdir('store/' . $r[0]['channel_address'], STORAGE_DEFAULT_PERMISSIONS,true);
+
}
return $ret;
@@ -336,7 +256,7 @@ function get_form_security_token($typename = '') {
$timestamp = time();
$sec_hash = hash('whirlpool', $a->user['guid'] . $a->user['prvkey'] . session_id() . $timestamp . $typename);
-
+
return $timestamp . '.' . $sec_hash;
}
@@ -386,7 +306,7 @@ function check_form_security_token_ForbiddenOnErr($typename = '', $formname = 'f
if(! function_exists('init_groups_visitor')) {
function init_groups_visitor($contact_id) {
$groups = array();
- $r = q("SELECT hash FROM `group` left join group_member on group.id = group_member.gid WHERE xchan = '%s' ",
+ $r = q("SELECT hash FROM `groups` left join group_member on groups.id = group_member.gid WHERE xchan = '%s' ",
dbesc($contact_id)
);
if(count($r)) {
diff --git a/include/session.php b/include/session.php
index 6072bdb33..be1ec5ee7 100644
--- a/include/session.php
+++ b/include/session.php
@@ -15,6 +15,15 @@ function new_cookie($time) {
session_regenerate_id(false);
q("UPDATE session SET sid = '%s' WHERE sid = '%s'", dbesc(session_id()), dbesc($old_sid));
+
+ if (x($_COOKIE, 'jsAvailable')) {
+ if ($time) {
+ $expires = time() + $time;
+ } else {
+ $expires = 0;
+ }
+ setcookie('jsAvailable', $_COOKIE['jsAvailable'], $expires);
+ }
}
diff --git a/include/taxonomy.php b/include/taxonomy.php
index 5159dad02..4f2b5e8fd 100644
--- a/include/taxonomy.php
+++ b/include/taxonomy.php
@@ -87,9 +87,9 @@ function format_term_for_display($term) {
return $s;
if($term['url'])
- $s .= '<a href="' . $term['url'] . '">' . htmlspecialchars($term['term']) . '</a>';
+ $s .= '<a href="' . $term['url'] . '">' . htmlspecialchars($term['term'], ENT_COMPAT,'UTF-8') . '</a>';
else
- $s .= htmlspecialchars($term['term']);
+ $s .= htmlspecialchars($term['term'], ENT_COMPAT,'UTF-8');
return $s;
}
@@ -217,16 +217,19 @@ function tagblock($link,$uid,$count = 0,$authors = '',$flags = 0,$restrict = 0,$
}
function dir_tagblock($link,$r) {
- $o = '';
- $tab = 0;
+ $o = '';
+ $tab = 0;
- if($r) {
- $o = '<div class="dirtagblock widget"><h3>' . t('Keywords') . '</h3><div class="tags" align="center">';
- foreach($r as $rr) {
- $o .= '<a href="'.$link .'/' . '?f=&keywords=' . urlencode($rr['term']).'" class="tag'.$rr['normalise'].'" rel="nofollow" >'.$rr['term'].'</a> ' . "\r\n";
+ if(! $r)
+ $r = get_app()->data['directory_keywords'];
+
+ if($r) {
+ $o = '<div class="dirtagblock widget"><h3>' . t('Keywords') . '</h3><div class="tags" align="center">';
+ foreach($r as $rr) {
+ $o .= '<a href="'.$link .'/' . '?f=&keywords=' . urlencode($rr['term']).'" class="tag'.$rr['normalise'].'" rel="nofollow" >'.$rr['term'].'</a> ' . "\r\n";
+ }
+ $o .= '</div></div>';
}
- $o .= '</div></div>';
- }
return $o;
}
@@ -258,13 +261,81 @@ function obj_verbs() {
}
-function obj_verb_selector() {
+function obj_verb_selector($current = '') {
$verbs = obj_verbs();
$o .= '<select class="obj-verb-selector" name="verb" >';
foreach($verbs as $k => $v) {
- $o .= '<option value="' . urlencode($k) . '">' . $v[0] . '</option>';
+ $selected = (($k == $current) ? ' selected="selected" ' : '');
+ $o .= '<option value="' . urlencode($k) . '"' . $selected . '>' . $v[0] . '</option>';
}
$o .= '</select>';
return $o;
+}
+
+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",
+ intval($uid),
+ intval(TERM_OBJ_THING)
+ );
+
+ $things = $sorted_things = null;
+
+ $profile_hashes = array();
+
+ if($r) {
+
+ // if no profile_hash was specified (display on profile page mode), match each of the things to a profile name
+ // (list all my things mode). This is harder than it sounds.
+
+ foreach($r as $rr) {
+ $rr['profile_name'] = '';
+ if(! in_array($rr['term_hash'],$profile_hashes))
+ $profile_hashes[] = $rr['term_hash'];
+ }
+ stringify_array_elms($profile_hashes);
+ if(! $profile_hash) {
+ $exp = explode(',',$profile_hashes);
+ $p = q("select profile_guid as hash, profile_name as name from profile where profile_guid in ( $exp ) ");
+ if($p) {
+ foreach($r as $rr) {
+ foreach($p as $pp) {
+ if($rr['obj_page'] == $pp['hash']) {
+ $rr['profile_name'] == $pp['name'];
+ }
+ }
+ }
+ }
+ }
+
+ $things = array();
+
+ // Use the system obj_verbs array as a sort key, since we don't really
+ // want an alphabetic sort. To change the order, use a plugin to
+ // alter the obj_verbs() array or alter it in code. Unknown verbs come
+ // after the known ones - in no particular order.
+
+ $v = obj_verbs();
+ foreach($v as $k => $foo)
+ $things[$k] = null;
+ foreach($r as $rr) {
+ 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']);
+ }
+ $sorted_things = array();
+ if($things) {
+ foreach($things as $k => $v) {
+ if(is_array($things[$k])) {
+ $sorted_things[$k] = $v;
+ }
+ }
+ }
+ }
+
+ return $sorted_things;
+
} \ No newline at end of file
diff --git a/include/text.php b/include/text.php
index aa23f96b0..a459296cb 100755
--- a/include/text.php
+++ b/include/text.php
@@ -781,6 +781,34 @@ function linkify($s) {
return($s);
}
+/**
+ * @function sslify($s)
+ * Replace media element using http url with https to a local redirector if using https locally
+ * @param string $s
+ *
+ * Looks for HTML tags containing src elements that are http when we're viewing an https page
+ * Typically this throws an insecure content violation in the browser. So we redirect them
+ * to a local redirector which uses https and which redirects to the selected content
+ *
+ * @returns string
+ */
+
+
+function sslify($s) {
+ if(strpos(z_root(),'https:') === false)
+ return $s;
+ $matches = null;
+ $cnt = preg_match_all("/\<(.*?)src=\"(http\:.*?)\"(.*?)\>/",$s,$matches,PREG_SET_ORDER);
+ if($cnt) {
+ foreach($matches as $match) {
+ $s = str_replace($match[2],z_root() . '/sslify?f=&url=' . urlencode($match[2]),$s);
+ }
+ }
+ return $s;
+}
+
+
+
function get_poke_verbs() {
// index is present tense verb
@@ -863,6 +891,7 @@ function smilies($s, $sample = false) {
$s = preg_replace_callback('/<pre>(.*?)<\/pre>/ism','smile_encode',$s);
$s = preg_replace_callback('/<code>(.*?)<\/code>/ism','smile_encode',$s);
+// $s = preg_replace_callback('/<(.*?)>/ism','smile_encode',$s);
$texts = array(
'&lt;3',
@@ -955,6 +984,7 @@ function smilies($s, $sample = false) {
$s = preg_replace_callback('/<pre>(.*?)<\/pre>/ism','smile_decode',$s);
$s = preg_replace_callback('/<code>(.*?)<\/code>/ism','smile_decode',$s);
+// $s = preg_replace_callback('/<(.*?)>/s','smile_decode',$s);
return $s;
@@ -1065,7 +1095,7 @@ function theme_attachments(&$item) {
break;
}
- $title = htmlentities($r['title'], ENT_COMPAT,'UTF-8');
+ $title = htmlspecialchars($r['title'], ENT_COMPAT,'UTF-8');
if(! $title)
$title = t('unknown.???');
$title .= ' ' . $r['length'] . ' ' . t('bytes');
@@ -1095,7 +1125,7 @@ function format_categories(&$item,$writeable) {
if($terms) {
$categories = array();
foreach($terms as $t) {
- $term = htmlspecialchars($t['term'],ENT_COMPAT,'UTF-8') ;
+ $term = htmlspecialchars($t['term'],ENT_COMPAT,'UTF-8',false) ;
if(! trim($term))
continue;
$removelink = (($writeable) ? z_root() . '/filerm/' . $item['id'] . '?f=&cat=' . urlencode($t['term']) : '');
@@ -1117,7 +1147,7 @@ function format_filer(&$item) {
if($terms) {
$categories = array();
foreach($terms as $t) {
- $term = htmlspecialchars($t['term'],ENT_COMPAT,'UTF-8') ;
+ $term = htmlspecialchars($t['term'],ENT_COMPAT,'UTF-8',false) ;
if(! trim($term))
continue;
$removelink = z_root() . '/filerm/' . $item['id'] . '?f=&term=' . urlencode($t['term']);
@@ -1166,6 +1196,10 @@ function prepare_body(&$item,$attach = false) {
if(local_user() == $item['uid'])
$s .= format_filer($item);
+
+ $s = sslify($s);
+
+
// Look for spoiler
$spoilersearch = '<blockquote class="spoiler">';
@@ -1357,9 +1391,9 @@ function feed_salmonlinks($nick) {
}
-function get_plink($item,$mode) {
+function get_plink($item,$conversation_mode = true) {
$a = get_app();
- if($mode == 'display')
+ if($conversation_mode)
$key = 'plink';
else
$key = 'llink';
@@ -1889,18 +1923,17 @@ function json_decode_plus($s) {
function design_tools() {
-$channel = get_app()->get_channel();
-$who = $channel['channel_address'];
-
-return replace_macros(get_markup_template('design_tools.tpl'), array(
- '$title' => t('Design'),
- '$who' => $who,
- '$blocks' => t('Blocks'),
- '$menus' => t('Menus'),
- '$layout' => t('Layouts'),
- '$pages' => t('Pages')
- ));
-
+ $channel = get_app()->get_channel();
+ $who = $channel['channel_address'];
+
+ return replace_macros(get_markup_template('design_tools.tpl'), array(
+ '$title' => t('Design'),
+ '$who' => $who,
+ '$blocks' => t('Blocks'),
+ '$menus' => t('Menus'),
+ '$layout' => t('Layouts'),
+ '$pages' => t('Pages')
+ ));
}
/* case insensitive in_array() */
diff --git a/include/widgets.php b/include/widgets.php
index cea5a6ce2..8b22515b1 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -1,17 +1,7 @@
<?php /** @file */
-function list_widgets() {
- $widgets = array(
- 'profile' => t('Displays a full channel profile'),
- 'tagcloud' => t('Tag cloud of webpage categories'),
- 'collections' => t('List and filter by collection'),
- 'suggestions' => t('Show a couple of channel suggestion'),
- 'follow' => t('Provide a channel follow form')
- );
- $arr = array('widgets' => $widgets);
- call_hooks('list_widgets',$arr);
- return $arr['widgets'];
-}
+require_once('include/dir_fns.php');
+require_once('include/contact_widgets.php');
function widget_profile($args) {
@@ -47,16 +37,48 @@ function widget_tagcloud($args) {
function widget_collections($args) {
require_once('include/group.php');
- $page = argv(0);
- $gid = $_REQUEST['gid'];
- return group_side($page,$page,true,$_REQUEST['gid'],'',0);
+ $mode = ((array_key_exists('mode',$args)) ? $args['mode'] : 'conversation');
+ switch($mode) {
+ case 'conversation':
+ $every = argv(0);
+ $each = argv(0);
+ $edit = true;
+ $current = $_REQUEST['gid'];
+ $abook_id = 0;
+ $wmode = 0;
+ break;
+ case 'groups':
+ $every = 'connections';
+ $each = argv(0);
+ $edit = false;
+ $current = intval(argv(1));
+ $abook_id = 0;
+ $wmode = 1;
+ break;
+ case 'abook':
+ $every = 'connections';
+ $each = 'group';
+ $edit = false;
+ $current = 0;
+ $abook_id = get_app()->poi['abook_xchan'];
+ $wmode = 1;
+ break;
+ default:
+ return '';
+ break;
+ }
+
+ return group_side($every, $each, $edit, $current, $abook_id, $wmode);
}
function widget_suggestions($arr) {
+ if((! local_user()) || (! feature_enabled(local_user(),'suggest')))
+ return '';
+
require_once('include/socgraph.php');
$r = suggestion_query(local_user(),get_observer_hash(),0,20);
@@ -143,7 +165,7 @@ function widget_notes($arr) {
if(! feature_enabled(local_user(),'private_notes'))
return '';
- $text = htmlspecialchars(get_pconfig(local_user(),'notes','text'));
+ $text = get_pconfig(local_user(),'notes','text');
$o = replace_macros(get_markup_template('notes.tpl'), array(
'$banner' => t('Notes'),
@@ -216,7 +238,7 @@ function widget_savedsearch($arr) {
'term' => $rr['term'],
'dellink' => z_root() . '/' . $srchurl . (($hasq) ? '' : '?f=') . '&amp;searchremove=1&amp;search=' . urlencode($rr['term']),
'srchlink' => z_root() . '/' . $srchurl . (($hasq) ? '' : '?f=') . '&amp;search=' . urlencode($rr['term']),
- 'displayterm' => htmlspecialchars($rr['term']),
+ 'displayterm' => htmlspecialchars($rr['term'], ENT_COMPAT,'UTF-8'),
'encodedterm' => urlencode($rr['term']),
'delete' => t('Remove term'),
'selected' => ($search==$rr['term']),
@@ -314,7 +336,7 @@ function widget_fullprofile($arr) {
function widget_categories($arr) {
$a = get_app();
- $cat = ((x($_REQUEST,'cat')) ? htmlspecialchars($_REQUEST['cat']) : '');
+ $cat = ((x($_REQUEST,'cat')) ? htmlspecialchars($_REQUEST['cat'],ENT_COMPAT,'UTF-8') : '');
$srchurl = $a->query_string;
$srchurl = rtrim(preg_replace('/cat\=[^\&].*?(\&|$)/is','',$srchurl),'&');
$srchurl = str_replace(array('?f=','&f='),array('',''),$srchurl);
@@ -330,4 +352,236 @@ function widget_tagcloud_wall($arr) {
if(feature_enabled($a->profile['profile_uid'],'tagadelic'))
return tagblock('search',$a->profile['profile_uid'],$limit,$a->profile['channel_hash'],ITEM_WALL);
return '';
+}
+
+
+function widget_affinity($arr) {
+
+ if(! local_user())
+ return '';
+
+ $cmin = ((x($_REQUEST,'cmin')) ? intval($_REQUEST['cmin']) : 0);
+ $cmax = ((x($_REQUEST,'cmax')) ? intval($_REQUEST['cmax']) : 99);
+
+ if(feature_enabled(local_user(),'affinity')) {
+ $tpl = get_markup_template('main_slider.tpl');
+ $x = replace_macros($tpl,array(
+ '$val' => $cmin . ';' . $cmax,
+ '$refresh' => t('Refresh'),
+ '$me' => t('Me'),
+ '$intimate' => t('Best Friends'),
+ '$friends' => t('Friends'),
+ '$coworkers' => t('Co-workers'),
+ '$oldfriends' => t('Former Friends'),
+ '$acquaintances' => t('Acquaintances'),
+ '$world' => t('Everybody')
+ ));
+ $arr = array('html' => $x);
+ call_hooks('main_slider',$arr);
+ return $arr['html'];
+ }
+ return '';
+}
+
+
+function widget_settings_menu($arr) {
+
+ if(! local_user())
+ return;
+
+ $a = get_app();
+ $channel = $a->get_channel();
+
+ $abook_self_id = 0;
+
+ // Retrieve the 'self' address book entry for use in the auto-permissions link
+
+ $abk = q("select abook_id from abook where abook_channel = %d and ( abook_flags & %d ) limit 1",
+ intval(local_user()),
+ intval(ABOOK_FLAG_SELF)
+ );
+ if($abk)
+ $abook_self_id = $abk[0]['abook_id'];
+
+
+ $tabs = array(
+ array(
+ 'label' => t('Account settings'),
+ 'url' => $a->get_baseurl(true).'/settings/account',
+ 'selected' => ((argv(1) === 'account') ? 'active' : ''),
+ ),
+
+ array(
+ 'label' => t('Channel settings'),
+ 'url' => $a->get_baseurl(true).'/settings/channel',
+ 'selected' => ((argv(1) === 'channel') ? 'active' : ''),
+ ),
+
+ array(
+ 'label' => t('Additional features'),
+ 'url' => $a->get_baseurl(true).'/settings/features',
+ 'selected' => ((argv(1) === 'features') ? 'active' : ''),
+ ),
+
+ array(
+ 'label' => t('Feature settings'),
+ 'url' => $a->get_baseurl(true).'/settings/featured',
+ 'selected' => ((argv(1) === 'featured') ? 'active' : ''),
+ ),
+
+ array(
+ 'label' => t('Display settings'),
+ 'url' => $a->get_baseurl(true).'/settings/display',
+ 'selected' => ((argv(1) === 'display') ? 'active' : ''),
+ ),
+
+ array(
+ 'label' => t('Connected apps'),
+ 'url' => $a->get_baseurl(true) . '/settings/oauth',
+ 'selected' => ((argv(1) === 'oauth') ? 'active' : ''),
+ ),
+
+ array(
+ 'label' => t('Export channel'),
+ 'url' => $a->get_baseurl(true) . '/uexport/basic',
+ 'selected' => ''
+ ),
+
+// array(
+// 'label' => t('Export account'),
+// 'url' => $a->get_baseurl(true) . '/uexport/complete',
+// 'selected' => ''
+// ),
+
+ array(
+ 'label' => t('Automatic Permissions (Advanced)'),
+ 'url' => $a->get_baseurl(true) . '/connedit/' . $abook_self_id,
+ 'selected' => ''
+ ),
+
+
+ );
+
+ if(feature_enabled(local_user(),'premium_channel')) {
+ $tabs[] = array(
+ 'label' => t('Premium Channel Settings'),
+ 'url' => $a->get_baseurl(true) . '/connect/' . $channel['channel_address'],
+ 'selected' => ''
+ );
+
+ }
+
+ if(feature_enabled(local_user(),'channel_sources')) {
+ $tabs[] = array(
+ 'label' => t('Channel Sources'),
+ 'url' => $a->get_baseurl(true) . '/sources',
+ 'selected' => ''
+ );
+
+ }
+
+
+
+ $tabtpl = get_markup_template("generic_links_widget.tpl");
+ return replace_macros($tabtpl, array(
+ '$title' => t('Settings'),
+ '$class' => 'settings-widget',
+ '$items' => $tabs,
+ ));
+
+}
+
+
+function widget_mailmenu($arr) {
+ if (! local_user())
+ return;
+
+ $a = get_app();
+ return replace_macros(get_markup_template('message_side.tpl'), array(
+ '$tabs'=> array(),
+
+ '$check'=>array(
+ 'label' => t('Check Mail'),
+ 'url' => $a->get_baseurl(true) . '/message',
+ 'sel' => (argv(1) == ''),
+ ),
+ '$new'=>array(
+ 'label' => t('New Message'),
+ 'url' => $a->get_baseurl(true) . '/mail/new',
+ 'sel'=> (argv(1) == 'new'),
+ )
+
+ ));
+
+}
+
+function widget_design_tools($arr) {
+ $a = get_app();
+
+ // mod menu doesn't load a profile. For any modules which load a profile, check it.
+ // otherwise local_user() is sufficient for permissions.
+
+ if($a->profile['profile_uid'])
+ if($a->profile['profile_uid'] != local_user())
+ return '';
+
+ if(! local_user())
+ return '';
+
+ return design_tools();
+}
+
+function widget_findpeople($arr) {
+ return findpeople_widget();
+}
+
+
+function widget_photo_albums($arr) {
+ $a = get_app();
+ 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')))
+ return '';
+ return photos_album_widget($channelx[0],$a->get_observer());
+
+}
+
+
+function widget_vcard($arr) {
+ require_once ('include/Contact.php');
+ return vcard_from_xchan('',get_app()->get_observer());
+}
+
+
+/**
+ * The following directory widgets are only useful on the directory page
+ */
+
+function widget_dirsafemode($arr) {
+ return dir_safe_mode();
+}
+
+function widget_dirsort($arr) {
+ return dir_sort_links();
+}
+
+function widget_dirtags($arr) {
+ return dir_tagblock(z_root() . '/directory',null);
+}
+
+function widget_menu_preview($arr) {
+ if(! get_app()->data['menu_item'])
+ return;
+ require_once('include/menu.php');
+ return menu_render(get_app()->data['menu_item']);
+}
+
+function widget_chatroom_list($arr) {
+ require_once("include/chat.php");
+ $r = chatroom_list(local_user());
+ return replace_macros(get_markup_template('chatroomlist.tpl'),array(
+ '$header' => t('Chat Rooms'),
+ '$items' => $r,
+ ));
} \ No newline at end of file
diff --git a/include/zot.php b/include/zot.php
index 77d82f110..7c2cfe019 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -1367,8 +1367,10 @@ function process_delivery($sender,$arr,$deliveries,$relay) {
// remove_community_tag is a no-op if this isn't a community tag activity
remove_community_tag($sender,$arr,$channel['channel_id']);
+
+
$item_id = delete_imported_item($sender,$arr,$channel['channel_id']);
- $result[] = array($d['hash'],'deleted',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>');
+ $result[] = array($d['hash'],(($item_id) ? 'deleted' : 'delete_failed'),$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>');
if($relay && $item_id) {
logger('process_delivery: invoking relay');
@@ -1384,7 +1386,7 @@ function process_delivery($sender,$arr,$deliveries,$relay) {
if((x($arr,'obj_type')) && (activity_match($arr['obj_type'],ACTIVITY_OBJ_EVENT))) {
require_once('include/event.php');
$ev = bbtoevent($arr['body']);
- if(x($ev,'desc') && x($ev,'start')) {
+ if(x($ev,'desc') && x($ev,'start')) {
$ev['event_xchan'] = $arr['author_xchan'];
$ev['uid'] = $channel['channel_id'];
$ev['account'] = $channel['channel_account_id'];
@@ -1524,10 +1526,11 @@ function delete_imported_item($sender,$item,$uid) {
logger('delete_imported_item invoked',LOGGER_DEBUG);
- $r = q("select id from item where ( author_xchan = '%s' or owner_xchan = '%s' )
+ $r = q("select id, item_restrict 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)
);
@@ -1536,9 +1539,17 @@ function delete_imported_item($sender,$item,$uid) {
logger('delete_imported_item: failed: ownership issue');
return false;
}
+
+ if($r[0]['item_restrict'] & ITEM_DELETED) {
+ logger('delete_imported_item: item was already deleted');
+ return false;
+ }
require_once('include/items.php');
drop_item($r[0]['id'],false);
+
+ tag_deliver($uid,$r[0]['id']);
+
return $r[0]['id'];
}
@@ -1633,22 +1644,26 @@ function import_directory_profile($hash,$profile,$addr,$ud_flags = 1, $suppress_
$arr = array();
$arr['xprof_hash'] = $hash;
- $arr['xprof_desc'] = (($profile['description']) ? htmlentities($profile['description'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['xprof_desc'] = (($profile['description']) ? htmlspecialchars($profile['description'], ENT_COMPAT,'UTF-8',false) : '');
$arr['xprof_dob'] = datetime_convert('','',$profile['birthday'],'Y-m-d'); // !!!! check this for 0000 year
$arr['xprof_age'] = (($profile['age']) ? intval($profile['age']) : 0);
- $arr['xprof_gender'] = (($profile['gender']) ? htmlentities($profile['gender'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['xprof_marital'] = (($profile['marital']) ? htmlentities($profile['marital'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['xprof_sexual'] = (($profile['sexual']) ? htmlentities($profile['sexual'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['xprof_locale'] = (($profile['locale']) ? htmlentities($profile['locale'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['xprof_region'] = (($profile['region']) ? htmlentities($profile['region'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['xprof_postcode'] = (($profile['postcode']) ? htmlentities($profile['postcode'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['xprof_country'] = (($profile['country']) ? htmlentities($profile['country'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['xprof_gender'] = (($profile['gender']) ? htmlspecialchars($profile['gender'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['xprof_marital'] = (($profile['marital']) ? htmlspecialchars($profile['marital'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['xprof_sexual'] = (($profile['sexual']) ? htmlspecialchars($profile['sexual'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['xprof_locale'] = (($profile['locale']) ? htmlspecialchars($profile['locale'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['xprof_region'] = (($profile['region']) ? htmlspecialchars($profile['region'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['xprof_postcode'] = (($profile['postcode']) ? htmlspecialchars($profile['postcode'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['xprof_country'] = (($profile['country']) ? htmlspecialchars($profile['country'], ENT_COMPAT,'UTF-8',false) : '');
+
+ $arr['xprof_about'] = (($profile['about']) ? htmlspecialchars($profile['about'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['xprof_homepage'] = (($profile['homepage']) ? htmlspecialchars($profile['homepage'], ENT_COMPAT,'UTF-8',false) : '');
+ $arr['xprof_hometown'] = (($profile['hometown']) ? htmlspecialchars($profile['hometown'], ENT_COMPAT,'UTF-8',false) : '');
$clean = array();
if(array_key_exists('keywords',$profile) and is_array($profile['keywords'])) {
import_directory_keywords($hash,$profile['keywords']);
foreach($profile['keywords'] as $kw) {
- $kw = trim(htmlentities($kw,ENT_COMPAT,'UTF-8',false));
+ $kw = trim(htmlspecialchars($kw,ENT_COMPAT,'UTF-8',false));
$kw = trim($kw,',');
$clean[] = $kw;
}
@@ -1692,6 +1707,9 @@ function import_directory_profile($hash,$profile,$addr,$ud_flags = 1, $suppress_
xprof_region = '%s',
xprof_postcode = '%s',
xprof_country = '%s',
+ xprof_about = '%s',
+ xprof_homepage = '%s',
+ xprof_hometown = '%s',
xprof_keywords = '%s'
where xprof_hash = '%s' limit 1",
dbesc($arr['xprof_desc']),
@@ -1704,6 +1722,9 @@ function import_directory_profile($hash,$profile,$addr,$ud_flags = 1, $suppress_
dbesc($arr['xprof_region']),
dbesc($arr['xprof_postcode']),
dbesc($arr['xprof_country']),
+ dbesc($arr['xprof_about']),
+ dbesc($arr['xprof_homepage']),
+ dbesc($arr['xprof_hometown']),
dbesc($arr['xprof_keywords']),
dbesc($arr['xprof_hash'])
);
@@ -1712,7 +1733,7 @@ function import_directory_profile($hash,$profile,$addr,$ud_flags = 1, $suppress_
else {
$update = true;
logger('import_directory_profile: new profile');
- $x = q("insert into xprof (xprof_hash, xprof_desc, xprof_dob, xprof_age, xprof_gender, xprof_marital, xprof_sexual, xprof_locale, xprof_region, xprof_postcode, xprof_country, xprof_keywords) values ('%s', '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') ",
+ $x = q("insert into xprof (xprof_hash, xprof_desc, xprof_dob, xprof_age, xprof_gender, xprof_marital, xprof_sexual, xprof_locale, xprof_region, xprof_postcode, xprof_country, xprof_about, xprof_homepage, xprof_hometown, xprof_keywords) values ('%s', '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') ",
dbesc($arr['xprof_hash']),
dbesc($arr['xprof_desc']),
dbesc($arr['xprof_dob']),
@@ -1724,6 +1745,9 @@ function import_directory_profile($hash,$profile,$addr,$ud_flags = 1, $suppress_
dbesc($arr['xprof_region']),
dbesc($arr['xprof_postcode']),
dbesc($arr['xprof_country']),
+ dbesc($arr['xprof_about']),
+ dbesc($arr['xprof_homepage']),
+ dbesc($arr['xprof_hometown']),
dbesc($arr['xprof_keywords'])
);
}
@@ -1750,7 +1774,7 @@ function import_directory_keywords($hash,$keywords) {
$clean = array();
foreach($keywords as $kw) {
- $kw = trim(htmlentities($kw,ENT_COMPAT,'UTF-8',false));
+ $kw = trim(htmlspecialchars($kw,ENT_COMPAT,'UTF-8',false));
$kw = trim($kw,',');
$clean[] = $kw;
}
@@ -1849,10 +1873,10 @@ function import_site($arr,$pubkey) {
$access_policy = ACCESS_TIERED;
}
- $directory_url = htmlentities($arr['directory_url'],ENT_COMPAT,'UTF-8',false);
- $url = htmlentities($arr['url'],ENT_COMPAT,'UTF-8',false);
- $sellpage = htmlentities($arr['sellpage'],ENT_COMPAT,'UTF-8',false);
- $site_location = htmlentities($arr['location'],ENT_COMPAT,'UTF-8',false);
+ $directory_url = htmlspecialchars($arr['directory_url'],ENT_COMPAT,'UTF-8',false);
+ $url = htmlspecialchars($arr['url'],ENT_COMPAT,'UTF-8',false);
+ $sellpage = htmlspecialchars($arr['sellpage'],ENT_COMPAT,'UTF-8',false);
+ $site_location = htmlspecialchars($arr['location'],ENT_COMPAT,'UTF-8',false);
if($exists) {
if(($siterecord['site_flags'] != $site_directory)
diff --git a/index.php b/index.php
index adfa6534f..6ffef19cb 100755
--- a/index.php
+++ b/index.php
@@ -62,8 +62,6 @@ else {
}
-
-
/**
*
* Important stuff we always need to do.
@@ -247,7 +245,11 @@ if(! x($a->page,'content'))
/* set JS cookie */
if($_COOKIE['jsAvailable'] != 1) {
- $a->page['content'] .= '<script>document.cookie="jsAvailable=1; path=/"; location.reload();</script>';
+ $a->page['content'] .= '<script>document.cookie="jsAvailable=1; path=/"; var jsMatch = /\&JS=1/; if (!jsMatch.exec(location.href)) { location.href = location.href + "&JS=1"; }</script>';
+ /* emulate JS cookie if cookies are not accepted */
+ if ($_GET['JS'] == 1) {
+ $_COOKIE['jsAvailable'] = 1;
+ }
}
diff --git a/install/INSTALL.txt b/install/INSTALL.txt
index ee029f0ee..500abb0f9 100644
--- a/install/INSTALL.txt
+++ b/install/INSTALL.txt
@@ -74,11 +74,13 @@ directory/path component in the URL) is REQUIRED.
git pull
- - make sure folder *view/tpl/smarty3* exists and is writable by webserver
+ - make sure folders *view/tpl/smarty3* and *store* exist and are writable by webserver
mkdir view/tpl/smarty3
+ mkdir store
chmod 777 view/tpl/smarty3
+ chmod 777 store
[This permission (777) is very dangerous and if you have sufficient
privilege and knowledge you should make this directory writeable only
diff --git a/install/database.sql b/install/database.sql
index ef79862c3..dba03da65 100644
--- a/install/database.sql
+++ b/install/database.sql
@@ -54,6 +54,7 @@ CREATE TABLE IF NOT EXISTS `account` (
`account_expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`account_expire_notified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`account_service_class` char(32) NOT NULL DEFAULT '',
+ `account_level` int(10) unsigned NOT NULL,
PRIMARY KEY (`account_id`),
KEY `account_email` (`account_email`),
KEY `account_service_class` (`account_service_class`),
@@ -63,7 +64,8 @@ CREATE TABLE IF NOT EXISTS `account` (
KEY `account_lastlog` (`account_lastlog`),
KEY `account_expires` (`account_expires`),
KEY `account_default_channel` (`account_default_channel`),
- KEY `account_external` (`account_external`)
+ KEY `account_external` (`account_external`),
+ KEY `account_level` (`account_level`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `addon` (
@@ -85,6 +87,7 @@ CREATE TABLE IF NOT EXISTS `attach` (
`aid` int(10) unsigned NOT NULL DEFAULT '0',
`uid` int(10) unsigned NOT NULL DEFAULT '0',
`hash` char(64) NOT NULL DEFAULT '',
+ `creator` char(128) NOT NULL DEFAULT '',
`filename` char(255) NOT NULL DEFAULT '',
`filetype` char(64) NOT NULL DEFAULT '',
`filesize` int(10) unsigned NOT NULL DEFAULT '0',
@@ -109,7 +112,8 @@ CREATE TABLE IF NOT EXISTS `attach` (
KEY `edited` (`edited`),
KEY `revision` (`revision`),
KEY `folder` (`folder`),
- KEY `flags` (`flags`)
+ KEY `flags` (`flags`),
+ KEY `creator` (`creator`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `auth_codes` (
@@ -210,6 +214,51 @@ CREATE TABLE IF NOT EXISTS `channel` (
KEY `channel_dirdate` (`channel_dirdate`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE IF NOT EXISTS `chat` (
+ `chat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `chat_room` int(10) unsigned NOT NULL DEFAULT '0',
+ `chat_xchan` char(255) NOT NULL DEFAULT '',
+ `chat_text` mediumtext NOT NULL,
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`chat_id`),
+ KEY `chat_room` (`chat_room`),
+ KEY `chat_xchan` (`chat_xchan`),
+ KEY `created` (`created`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `chatpresence` (
+ `cp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cp_room` int(10) unsigned NOT NULL DEFAULT '0',
+ `cp_xchan` char(255) NOT NULL DEFAULT '',
+ `cp_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `cp_status` char(255) NOT NULL,
+ `cp_client` char(128) NOT NULL DEFAULT '',
+ PRIMARY KEY (`cp_id`),
+ KEY `cp_room` (`cp_room`),
+ KEY `cp_xchan` (`cp_xchan`),
+ KEY `cp_last` (`cp_last`),
+ KEY `cp_status` (`cp_status`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `chatroom` (
+ `cr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cr_aid` int(10) unsigned NOT NULL DEFAULT '0',
+ `cr_uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `cr_name` char(255) NOT NULL DEFAULT '',
+ `cr_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `cr_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,
+ `deny_gid` mediumtext NOT NULL,
+ PRIMARY KEY (`cr_id`),
+ KEY `cr_aid` (`cr_aid`),
+ KEY `cr_uid` (`cr_uid`),
+ KEY `cr_name` (`cr_name`),
+ KEY `cr_created` (`cr_created`),
+ KEY `cr_edited` (`cr_edited`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
CREATE TABLE IF NOT EXISTS `clients` (
`client_id` varchar(20) NOT NULL,
`pw` varchar(20) NOT NULL,
@@ -240,7 +289,7 @@ CREATE TABLE IF NOT EXISTS `event` (
`start` datetime NOT NULL,
`finish` datetime NOT NULL,
`summary` text NOT NULL,
- `desc` text NOT NULL,
+ `description` text NOT NULL,
`location` text NOT NULL,
`type` char(255) NOT NULL,
`nofinish` tinyint(1) NOT NULL DEFAULT '0',
@@ -319,7 +368,7 @@ CREATE TABLE IF NOT EXISTS `fsuggest` (
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-CREATE TABLE IF NOT EXISTS `group` (
+CREATE TABLE IF NOT EXISTS `groups` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`hash` char(255) NOT NULL DEFAULT '',
`uid` int(10) unsigned NOT NULL,
@@ -532,9 +581,11 @@ CREATE TABLE IF NOT EXISTS `menu` (
`menu_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
`menu_name` char(255) NOT NULL DEFAULT '',
`menu_desc` char(255) NOT NULL DEFAULT '',
+ `menu_flags` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`menu_id`),
KEY `menu_channel_id` (`menu_channel_id`),
- KEY `menu_name` (`menu_name`)
+ KEY `menu_name` (`menu_name`),
+ KEY `menu_flags` (`menu_flags`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `menu_item` (
@@ -590,13 +641,17 @@ 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',
+ `allow_cid` mediumtext NOT NULL,
+ `allow_gid` mediumtext NOT NULL,
+ `deny_cid` mediumtext NOT NULL,
+ `deny_gid` mediumtext NOT NULL,
PRIMARY KEY (`obj_id`),
KEY `obj_verb` (`obj_verb`),
KEY `obj_page` (`obj_page`),
KEY `obj_type` (`obj_type`),
KEY `obj_channel` (`obj_channel`),
KEY `obj_obj` (`obj_obj`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `outq` (
`outq_hash` char(255) NOT NULL,
@@ -639,7 +694,7 @@ CREATE TABLE IF NOT EXISTS `photo` (
`created` datetime NOT NULL,
`edited` datetime NOT NULL,
`title` char(255) NOT NULL,
- `desc` text NOT NULL,
+ `description` text NOT NULL,
`album` char(255) NOT NULL,
`filename` char(255) NOT NULL,
`type` char(128) NOT NULL DEFAULT 'image/jpeg',
@@ -846,6 +901,15 @@ CREATE TABLE IF NOT EXISTS `spam` (
KEY `term` (`term`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE IF NOT EXISTS `sys_perms` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cat` char(255) NOT NULL,
+ `k` char(255) NOT NULL,
+ `v` mediumtext NOT NULL,
+ `public_perm` tinyint(1) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
CREATE TABLE IF NOT EXISTS `term` (
`tid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`aid` int(10) unsigned NOT NULL DEFAULT '0',
@@ -913,7 +977,7 @@ CREATE TABLE IF NOT EXISTS `verify` (
KEY `token` (`token`),
KEY `meta` (`meta`),
KEY `created` (`created`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `vote` (
`vote_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -969,7 +1033,7 @@ CREATE TABLE IF NOT EXISTS `xconfig` (
KEY `xchan` (`xchan`),
KEY `cat` (`cat`),
KEY `k` (`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `xign` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -1006,6 +1070,9 @@ CREATE TABLE IF NOT EXISTS `xprof` (
`xprof_postcode` char(32) NOT NULL DEFAULT '',
`xprof_country` char(255) NOT NULL DEFAULT '',
`xprof_keywords` text NOT NULL,
+ `xprof_about` text NOT NULL,
+ `xprof_homepage` char(255) NOT NULL DEFAULT '',
+ `xprof_hometown` char(255) NOT NULL DEFAULT '',
PRIMARY KEY (`xprof_hash`),
KEY `xprof_desc` (`xprof_desc`),
KEY `xprof_dob` (`xprof_dob`),
@@ -1016,7 +1083,8 @@ CREATE TABLE IF NOT EXISTS `xprof` (
KEY `xprof_region` (`xprof_region`),
KEY `xprof_postcode` (`xprof_postcode`),
KEY `xprof_country` (`xprof_country`),
- KEY `xprof_age` (`xprof_age`)
+ KEY `xprof_age` (`xprof_age`),
+ KEY `xprof_hometown` (`xprof_hometown`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `xtag` (
@@ -1028,4 +1096,4 @@ CREATE TABLE IF NOT EXISTS `xtag` (
KEY `xtag_term` (`xtag_term`),
KEY `xtag_hash` (`xtag_hash`),
KEY `xtag_flags` (`xtag_flags`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/install/htconfig.sample.php b/install/htconfig.sample.php
index 33258cf41..b23dfe3b6 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
-// Friendica directory
+// Red Matrix directory
// Why .htconfig.php? Because it contains sensitive information which could
// give somebody complete control of your database. Apache's default
diff --git a/install/update.php b/install/update.php
index f498ec042..180b8d5a0 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1084 );
+define( 'UPDATE_VERSION' , 1094 );
/**
*
@@ -919,3 +919,144 @@ ADD INDEX ( `aid` )");
return UPDATE_FAILED;
}
+function update_r1084() {
+
+
+ $r = q("CREATE TABLE if not exists `sys_perms` (
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
+ `cat` CHAR( 255 ) NOT NULL ,
+ `k` CHAR( 255 ) NOT NULL ,
+ `v` MEDIUMTEXT NOT NULL,
+ `public_perm` TINYINT( 1 ) UNSIGNED NOT NULL
+) ENGINE = MYISAM DEFAULT CHARSET = utf8");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+}
+
+function update_r1085() {
+ $r1 = q("ALTER TABLE `photo` CHANGE `desc` `description` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ");
+
+ $r2 = q("RENAME TABLE `group` TO `groups`");
+
+ $r3 = q("ALTER TABLE `event` CHANGE `desc` `description` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ");
+
+ if($r1 && $r2 && $r3)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+}
+
+function update_r1086() {
+ $r = q("ALTER TABLE `account` ADD `account_level` INT UNSIGNED NOT NULL DEFAULT '0',
+ADD INDEX ( `account_level` )");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1087() {
+ $r = q("ALTER TABLE `xprof` ADD `xprof_about` TEXT NOT NULL DEFAULT '',
+ADD `xprof_homepage` CHAR( 255 ) NOT NULL DEFAULT '',
+ADD `xprof_hometown` CHAR( 255 ) NOT NULL DEFAULT '',
+ADD INDEX ( `xprof_hometown` )");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1088() {
+ $r = q("ALTER TABLE `obj` ADD `allow_cid` MEDIUMTEXT NOT NULL DEFAULT '',
+ADD `allow_gid` MEDIUMTEXT NOT NULL DEFAULT '',
+ADD `deny_cid` MEDIUMTEXT NOT NULL DEFAULT '',
+ADD `deny_gid` MEDIUMTEXT NOT NULL DEFAULT ''");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1089() {
+ $r = q("ALTER TABLE `attach` ADD `creator` CHAR( 128 ) NOT NULL DEFAULT '' AFTER `hash` ,
+ADD INDEX ( `creator` ) ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+
+function update_r1090() {
+ $r = q("ALTER TABLE `menu` ADD `menu_flags` INT NOT NULL DEFAULT '0',
+ADD INDEX ( `menu_flags` )");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1091() {
+ @mkdir('store/[data]/smarty',STORAGE_DEFAULT_PERMISSIONS,true);
+ @file_put_contents('store/[data]/locks','');
+ return UPDATE_SUCCESS;
+}
+
+function update_r1092() {
+ $r1 = q("CREATE TABLE IF NOT EXISTS `chat` (
+ `chat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `chat_room` int(10) unsigned NOT NULL DEFAULT '0',
+ `chat_xchan` char(255) NOT NULL DEFAULT '',
+ `chat_text` mediumtext NOT NULL,
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`chat_id`),
+ KEY `chat_room` (`chat_room`),
+ KEY `chat_xchan` (`chat_xchan`),
+ KEY `created` (`created`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8");
+
+ $r2 = q("CREATE TABLE IF NOT EXISTS `chatpresence` (
+ `cp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cp_room` int(10) unsigned NOT NULL DEFAULT '0',
+ `cp_xchan` char(255) NOT NULL DEFAULT '',
+ `cp_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `cp_status` char(255) NOT NULL,
+ PRIMARY KEY (`cp_id`),
+ KEY `cp_room` (`cp_room`),
+ KEY `cp_xchan` (`cp_xchan`),
+ KEY `cp_last` (`cp_last`),
+ KEY `cp_status` (`cp_status`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8");
+
+ $r3 = q("CREATE TABLE IF NOT EXISTS `chatroom` (
+ `cr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cr_aid` int(10) unsigned NOT NULL DEFAULT '0',
+ `cr_uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `cr_name` char(255) NOT NULL DEFAULT '',
+ `cr_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `cr_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,
+ `deny_gid` mediumtext NOT NULL,
+ PRIMARY KEY (`cr_id`),
+ KEY `cr_aid` (`cr_aid`),
+ KEY `cr_uid` (`cr_uid`),
+ KEY `cr_name` (`cr_name`),
+ KEY `cr_created` (`cr_created`),
+ KEY `cr_edited` (`cr_edited`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8");
+
+
+ if($r1 && $r2 && $r3)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+
+
+
+function update_r1093() {
+ $r = q("ALTER TABLE `chatpresence` ADD `cp_client` CHAR( 128 ) NOT NULL DEFAULT ''");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
diff --git a/library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css b/library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css
new file mode 100755
index 000000000..e5eb7a65c
--- /dev/null
+++ b/library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css
@@ -0,0 +1,174 @@
+/**
+ * Build file for the dist version of datetimepicker.css
+ */
+/*!
+ * Datetimepicker for Bootstrap v3
+ * https://github.com/Eonasdan/bootstrap-datetimepicker/
+ * Copyright 2012 Stefan Petre
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ */
+.bootstrap-datetimepicker-widget {
+ top: 0;
+ left: 0;
+ width: 250px;
+ padding: 4px;
+ margin-top: 1px;
+ z-index: 9999;
+ border-radius: 4px;
+ /*.dow {
+ border-top: 1px solid #ddd !important;
+ }*/
+}
+.bootstrap-datetimepicker-widget .btn {
+ padding: 6px;
+}
+.bootstrap-datetimepicker-widget:before {
+ content: '';
+ display: inline-block;
+ border-left: 7px solid transparent;
+ border-right: 7px solid transparent;
+ border-bottom: 7px solid #ccc;
+ border-bottom-color: rgba(0, 0, 0, 0.2);
+ position: absolute;
+ top: -7px;
+ left: 6px;
+}
+.bootstrap-datetimepicker-widget:after {
+ content: '';
+ display: inline-block;
+ border-left: 6px solid transparent;
+ border-right: 6px solid transparent;
+ border-bottom: 6px solid white;
+ position: absolute;
+ top: -6px;
+ left: 7px;
+}
+.bootstrap-datetimepicker-widget.pull-right:before {
+ left: auto;
+ right: 6px;
+}
+.bootstrap-datetimepicker-widget.pull-right:after {
+ left: auto;
+ right: 7px;
+}
+.bootstrap-datetimepicker-widget > ul {
+ list-style-type: none;
+ margin: 0;
+}
+.bootstrap-datetimepicker-widget .timepicker-hour,
+.bootstrap-datetimepicker-widget .timepicker-minute,
+.bootstrap-datetimepicker-widget .timepicker-second {
+ width: 100%;
+ font-weight: bold;
+ font-size: 1.2em;
+}
+.bootstrap-datetimepicker-widget table[data-hour-format="12"] .separator {
+ width: 4px;
+ padding: 0;
+ margin: 0;
+}
+.bootstrap-datetimepicker-widget .datepicker > div {
+ display: none;
+}
+.bootstrap-datetimepicker-widget .picker-switch {
+ text-align: center;
+}
+.bootstrap-datetimepicker-widget table {
+ width: 100%;
+ margin: 0;
+}
+.bootstrap-datetimepicker-widget td,
+.bootstrap-datetimepicker-widget th {
+ text-align: center;
+ width: 20px;
+ height: 20px;
+ border-radius: 4px;
+}
+.bootstrap-datetimepicker-widget td.day:hover,
+.bootstrap-datetimepicker-widget td.hour:hover,
+.bootstrap-datetimepicker-widget td.minute:hover,
+.bootstrap-datetimepicker-widget td.second:hover {
+ background: #eeeeee;
+ cursor: pointer;
+}
+.bootstrap-datetimepicker-widget td.old,
+.bootstrap-datetimepicker-widget td.new {
+ color: #999999;
+}
+.bootstrap-datetimepicker-widget td.active,
+.bootstrap-datetimepicker-widget td.active:hover {
+ background-color: #428bca;
+ color: #fff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.bootstrap-datetimepicker-widget td.disabled,
+.bootstrap-datetimepicker-widget td.disabled:hover {
+ background: none;
+ color: #999999;
+ cursor: not-allowed;
+}
+.bootstrap-datetimepicker-widget td span {
+ display: block;
+ width: 47px;
+ height: 54px;
+ line-height: 54px;
+ float: left;
+ margin: 2px;
+ cursor: pointer;
+ border-radius: 4px;
+}
+.bootstrap-datetimepicker-widget td span:hover {
+ background: #eeeeee;
+}
+.bootstrap-datetimepicker-widget td span.active {
+ background-color: #428bca;
+ color: #fff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.bootstrap-datetimepicker-widget td span.old {
+ color: #999999;
+}
+.bootstrap-datetimepicker-widget td span.disabled,
+.bootstrap-datetimepicker-widget td span.disabled:hover {
+ background: none;
+ color: #999999;
+ cursor: not-allowed;
+}
+.bootstrap-datetimepicker-widget th.switch {
+ width: 145px;
+}
+.bootstrap-datetimepicker-widget th.next,
+.bootstrap-datetimepicker-widget th.prev {
+ font-size: 21px;
+}
+.bootstrap-datetimepicker-widget th.disabled,
+.bootstrap-datetimepicker-widget th.disabled:hover {
+ background: none;
+ color: #999999;
+ cursor: not-allowed;
+}
+.bootstrap-datetimepicker-widget thead tr:first-child th {
+ cursor: pointer;
+}
+.bootstrap-datetimepicker-widget thead tr:first-child th:hover {
+ background: #eeeeee;
+}
+.input-group.date .input-group-addon span {
+ display: block;
+ cursor: pointer;
+ width: 16px;
+ height: 16px;
+}
+.bootstrap-datetimepicker-widget.left-oriented:before {
+ left: auto;
+ right: 6px;
+}
+.bootstrap-datetimepicker-widget.left-oriented:after {
+ left: auto;
+ right: 7px;
+}
+.bootstrap-datetimepicker-widget ul.list-unstyled li.in div.timepicker div.timepicker-picker table.table-condensed tbody > tr > td {
+ padding: 0px !important;
+}
diff --git a/library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css b/library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css
new file mode 100755
index 000000000..00b768767
--- /dev/null
+++ b/library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css
@@ -0,0 +1,8 @@
+/*!
+ * Datetimepicker for Bootstrap v3
+ * https://github.com/Eonasdan/bootstrap-datetimepicker/
+ * Copyright 2012 Stefan Petre
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ */.bootstrap-datetimepicker-widget{top:0;left:0;width:250px;padding:4px;margin-top:1px;z-index:9999;border-radius:4px}.bootstrap-datetimepicker-widget .btn{padding:6px}.bootstrap-datetimepicker-widget:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute;top:-7px;left:6px}.bootstrap-datetimepicker-widget:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:7px}.bootstrap-datetimepicker-widget.pull-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.pull-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget>ul{list-style-type:none;margin:0}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{width:100%;font-weight:bold;font-size:1.2em}.bootstrap-datetimepicker-widget table[data-hour-format="12"] .separator{width:4px;padding:0;margin:0}.bootstrap-datetimepicker-widget .datepicker>div{display:none}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget table{width:100%;margin:0}.bootstrap-datetimepicker-widget td,.bootstrap-datetimepicker-widget th{text-align:center;width:20px;height:20px;border-radius:4px}.bootstrap-datetimepicker-widget td.day:hover,.bootstrap-datetimepicker-widget td.hour:hover,.bootstrap-datetimepicker-widget td.minute:hover,.bootstrap-datetimepicker-widget td.second:hover{background:#eee;cursor:pointer}.bootstrap-datetimepicker-widget td.old,.bootstrap-datetimepicker-widget td.new{color:#999}.bootstrap-datetimepicker-widget td.active,.bootstrap-datetimepicker-widget td.active:hover{background-color:#428bca;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget td.disabled,.bootstrap-datetimepicker-widget td.disabled:hover{background:none;color:#999;cursor:not-allowed}.bootstrap-datetimepicker-widget td span{display:block;width:47px;height:54px;line-height:54px;float:left;margin:2px;cursor:pointer;border-radius:4px}.bootstrap-datetimepicker-widget td span:hover{background:#eee}.bootstrap-datetimepicker-widget td span.active{background-color:#428bca;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget td span.old{color:#999}.bootstrap-datetimepicker-widget td span.disabled,.bootstrap-datetimepicker-widget td span.disabled:hover{background:none;color:#999;cursor:not-allowed}.bootstrap-datetimepicker-widget th.switch{width:145px}.bootstrap-datetimepicker-widget th.next,.bootstrap-datetimepicker-widget th.prev{font-size:21px}.bootstrap-datetimepicker-widget th.disabled,.bootstrap-datetimepicker-widget th.disabled:hover{background:none;color:#999;cursor:not-allowed}.bootstrap-datetimepicker-widget thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget thead tr:first-child th:hover{background:#eee}.input-group.date .input-group-addon span{display:block;cursor:pointer;width:16px;height:16px}.bootstrap-datetimepicker-widget.left-oriented:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.left-oriented:after{left:auto;right:7px}.bootstrap-datetimepicker-widget ul.list-unstyled li.in div.timepicker div.timepicker-picker table.table-condensed tbody>tr>td{padding:0 !important} \ No newline at end of file
diff --git a/library/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js b/library/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js
new file mode 100755
index 000000000..3bc74fcbb
--- /dev/null
+++ b/library/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js
@@ -0,0 +1,28 @@
+/**
+ * version 2.1.11
+ * @license
+ * =========================================================
+ * bootstrap-datetimepicker.js
+ * http://www.eyecon.ro/bootstrap-datepicker
+ * =========================================================
+ * Copyright 2012 Stefan Petre
+ *
+ * Contributions:
+ * - updated for Bootstrap v3 by Jonathan Peterson (@Eonasdan) and (almost)
+ * completely rewritten to use Momentjs
+ * - based on tarruda's bootstrap-datepicker
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * =========================================================
+ */
+(function($){if(typeof moment==="undefined"){alert("momentjs is requried");throw new Error("momentjs is requried")}var dpgId=0,pMoment=moment,DateTimePicker=function(element,options){var defaults={pickDate:true,pickTime:true,startDate:new pMoment({y:1970}),endDate:(new pMoment).add(50,"y"),collapse:true,language:"en",defaultDate:"",disabledDates:[],icons:{},useStrict:false},icons={time:"glyphicon glyphicon-time",date:"glyphicon glyphicon-calendar",up:"glyphicon glyphicon-chevron-up",down:"glyphicon glyphicon-chevron-down"},picker=this,init=function(){var icon=false,i,dDate,longDateFormat;picker.options=$.extend({},defaults,options);picker.options.icons=$.extend({},icons,picker.options.icons);if(!(picker.options.pickTime||picker.options.pickDate))throw new Error("Must choose at least one picker");picker.id=dpgId++;pMoment.lang(picker.options.language);picker.date=pMoment();picker.element=$(element);picker.unset=false;picker.isInput=picker.element.is("input");picker.component=false;if(picker.element.hasClass("input-group")){if(picker.element.find(".datepickerbutton").size()==0){picker.component=picker.element.find(".input-group-addon")}else{picker.component=picker.element.find(".datepickerbutton")}}picker.format=picker.options.format;longDateFormat=pMoment()._lang._longDateFormat;if(!picker.format){if(picker.isInput)picker.format=picker.element.data("format");else picker.format=picker.element.find("input").data("format");if(!picker.format){picker.format=picker.options.pickDate?longDateFormat.L:"";if(picker.options.pickDate&&picker.options.pickTime)picker.format+=" ";picker.format+=picker.options.pickTime?longDateFormat.LT:""}}picker.use24hours=picker.format.toLowerCase().indexOf("a")<1;if(picker.component)icon=picker.component.find("span");if(picker.options.pickTime){if(icon)icon.addClass(picker.options.icons.time)}if(picker.options.pickDate){if(icon){icon.removeClass(picker.options.icons.time);icon.addClass(picker.options.icons.date)}}picker.widget=$(getTemplate(picker.options.pickDate,picker.options.pickTime,picker.options.collapse)).appendTo("body");picker.minViewMode=picker.options.minViewMode||picker.element.data("date-minviewmode")||0;if(typeof picker.minViewMode==="string"){switch(picker.minViewMode){case"months":picker.minViewMode=1;break;case"years":picker.minViewMode=2;break;default:picker.minViewMode=0;break}}picker.viewMode=picker.options.viewMode||picker.element.data("date-viewmode")||0;if(typeof picker.viewMode==="string"){switch(picker.viewMode){case"months":picker.viewMode=1;break;case"years":picker.viewMode=2;break;default:picker.viewMode=0;break}}for(i=0;i<picker.options.disabledDates.length;i++){dDate=picker.options.disabledDates[i];dDate=pMoment(dDate);if(!dDate.isValid())dDate=pMoment(picker.options.startDate).subtract(1,"day");picker.options.disabledDates[i]=dDate.format("L")}picker.startViewMode=picker.viewMode;picker.setStartDate(picker.options.startDate||picker.element.data("date-startdate"));picker.setEndDate(picker.options.endDate||picker.element.data("date-enddate"));fillDow();fillMonths();fillHours();fillMinutes();update();showMode();attachDatePickerEvents();if(picker.options.defaultDate!=="")picker.setValue(picker.options.defaultDate)},place=function(){var position="absolute",offset=picker.component?picker.component.offset():picker.element.offset(),$window=$(window);picker.width=picker.component?picker.component.outerWidth():picker.element.outerWidth();offset.top=offset.top+picker.element.outerHeight();if(picker.options.width!==undefined){picker.widget.width(picker.options.width)}if(picker.options.orientation==="left"){picker.widget.addClass("left-oriented");offset.left=offset.left-picker.widget.width()+20}if(isInFixed()){position="fixed";offset.top-=$window.scrollTop();offset.left-=$window.scrollLeft()}if($window.width()<offset.left+picker.widget.outerWidth()){offset.right=$window.width()-offset.left-picker.width;offset.left="auto";picker.widget.addClass("pull-right")}else{offset.right="auto";picker.widget.removeClass("pull-right")}picker.widget.css({position:position,top:offset.top,left:offset.left,right:offset.right})},notifyChange=function(oldDate){picker.element.trigger({type:"change.dp",date:picker.getDate(),oldDate:oldDate})},notifyError=function(date){picker.element.trigger({type:"error.dp",date:date})},update=function(newDate){pMoment.lang(picker.options.language);var dateStr=newDate;if(!dateStr){if(picker.isInput){dateStr=picker.element.val()}else{dateStr=picker.element.find("input").val()}if(dateStr)picker.date=pMoment(dateStr,picker.format,picker.options.useStrict);if(!picker.date)picker.date=pMoment()}picker.viewDate=pMoment(picker.date).startOf("month");fillDate();fillTime()},fillDow=function(){pMoment.lang(picker.options.language);var html=$("<tr>"),weekdaysMin=pMoment.weekdaysMin(),i;if(pMoment()._lang._week.dow==0){for(i=0;i<7;i++){html.append('<th class="dow">'+weekdaysMin[i]+"</th>")}}else{for(i=1;i<8;i++){if(i==7){html.append('<th class="dow">'+weekdaysMin[0]+"</th>")}else{html.append('<th class="dow">'+weekdaysMin[i]+"</th>")}}}picker.widget.find(".datepicker-days thead").append(html)},fillMonths=function(){pMoment.lang(picker.options.language);var html="",i=0,monthsShort=pMoment.monthsShort();while(i<12){html+='<span class="month">'+monthsShort[i++]+"</span>"}picker.widget.find(".datepicker-months td").append(html)},fillDate=function(){pMoment.lang(picker.options.language);var year=picker.viewDate.year(),month=picker.viewDate.month(),startYear=picker.options.startDate.year(),startMonth=picker.options.startDate.month(),endYear=picker.options.endDate.year(),endMonth=picker.options.endDate.month(),prevMonth,nextMonth,html=[],row,clsName,i,days,yearCont,currentYear,months=pMoment.months();picker.widget.find(".datepicker-days").find(".disabled").removeClass("disabled");picker.widget.find(".datepicker-months").find(".disabled").removeClass("disabled");picker.widget.find(".datepicker-years").find(".disabled").removeClass("disabled");picker.widget.find(".datepicker-days th:eq(1)").text(months[month]+" "+year);prevMonth=pMoment(picker.viewDate).subtract("months",1);days=prevMonth.daysInMonth();prevMonth.date(days).startOf("week");if(year==startYear&&month<=startMonth||year<startYear){picker.widget.find(".datepicker-days th:eq(0)").addClass("disabled")}if(year==endYear&&month>=endMonth||year>endYear){picker.widget.find(".datepicker-days th:eq(2)").addClass("disabled")}nextMonth=pMoment(prevMonth).add(42,"d");while(prevMonth.isBefore(nextMonth)){if(prevMonth.weekday()===pMoment().startOf("week").weekday()){row=$("<tr>");html.push(row)}clsName="";if(prevMonth.year()<year||prevMonth.year()==year&&prevMonth.month()<month){clsName+=" old"}else if(prevMonth.year()>year||prevMonth.year()==year&&prevMonth.month()>month){clsName+=" new"}if(prevMonth.isSame(pMoment({y:picker.date.year(),M:picker.date.month(),d:picker.date.date()}))){clsName+=" active"}if(pMoment(prevMonth).add(1,"d")<=picker.options.startDate||prevMonth>picker.options.endDate||isInDisableDates(prevMonth)){clsName+=" disabled"}row.append('<td class="day'+clsName+'">'+prevMonth.date()+"</td>");prevMonth.add(1,"d")}picker.widget.find(".datepicker-days tbody").empty().append(html);currentYear=pMoment().year(),months=picker.widget.find(".datepicker-months").find("th:eq(1)").text(year).end().find("span").removeClass("active");if(currentYear===year){months.eq(pMoment().month()).addClass("active")}if(currentYear-1<startYear){picker.widget.find(".datepicker-months th:eq(0)").addClass("disabled")}if(currentYear+1>endYear){picker.widget.find(".datepicker-months th:eq(2)").addClass("disabled")}for(i=0;i<12;i++){if(year==startYear&&startMonth>i||year<startYear){$(months[i]).addClass("disabled")}else if(year==endYear&&endMonth<i||year>endYear){$(months[i]).addClass("disabled")}}html="";year=parseInt(year/10,10)*10;yearCont=picker.widget.find(".datepicker-years").find("th:eq(1)").text(year+"-"+(year+9)).end().find("td");picker.widget.find(".datepicker-years").find("th").removeClass("disabled");if(startYear>year){picker.widget.find(".datepicker-years").find("th:eq(0)").addClass("disabled")}if(endYear<year+9){picker.widget.find(".datepicker-years").find("th:eq(2)").addClass("disabled")}year-=1;for(i=-1;i<11;i++){html+='<span class="year'+(i===-1||i===10?" old":"")+(currentYear===year?" active":"")+(year<startYear||year>endYear?" disabled":"")+'">'+year+"</span>";year+=1}yearCont.html(html)},fillHours=function(){pMoment.lang(picker.options.language);var table=picker.widget.find(".timepicker .timepicker-hours table"),html="",current,i,j;table.parent().hide();if(picker.use24hours){current=0;for(i=0;i<6;i+=1){html+="<tr>";for(j=0;j<4;j+=1){html+='<td class="hour">'+padLeft(current.toString())+"</td>";current++}html+="</tr>"}}else{current=1;for(i=0;i<3;i+=1){html+="<tr>";for(j=0;j<4;j+=1){html+='<td class="hour">'+padLeft(current.toString())+"</td>";current++}html+="</tr>"}}table.html(html)},fillMinutes=function(){var table=picker.widget.find(".timepicker .timepicker-minutes table"),html="",current=0,i,j;table.parent().hide();for(i=0;i<5;i++){html+="<tr>";for(j=0;j<4;j+=1){html+='<td class="minute">'+padLeft(current.toString())+"</td>";current+=3}html+="</tr>"}table.html(html)},fillTime=function(){if(!picker.date)return;var timeComponents=picker.widget.find(".timepicker span[data-time-component]"),hour=picker.date.hours(),period="AM";if(!picker.use24hours){if(hour>=12)period="PM";if(hour===0)hour=12;else if(hour!=12)hour=hour%12;picker.widget.find(".timepicker [data-action=togglePeriod]").text(period)}timeComponents.filter("[data-time-component=hours]").text(padLeft(hour));timeComponents.filter("[data-time-component=minutes]").text(padLeft(picker.date.minutes()))},click=function(e){e.stopPropagation();e.preventDefault();picker.unset=false;var target=$(e.target).closest("span, td, th"),month,year,step,day,oldDate=picker.date;if(target.length===1){if(!target.is(".disabled")){switch(target[0].nodeName.toLowerCase()){case"th":switch(target[0].className){case"switch":showMode(1);break;case"prev":case"next":step=dpGlobal.modes[picker.viewMode].navStep;if(target[0].className==="prev")step=step*-1;picker.viewDate.add(step,dpGlobal.modes[picker.viewMode].navFnc);fillDate();break}break;case"span":if(target.is(".month")){month=target.parent().find("span").index(target);picker.viewDate.month(month)}else{year=parseInt(target.text(),10)||0;picker.viewDate.year(year)}if(picker.viewMode!==0){picker.date=pMoment({y:picker.viewDate.year(),M:picker.viewDate.month(),d:picker.viewDate.date(),h:picker.date.hours(),m:picker.date.minutes()});notifyChange(oldDate)}showMode(-1);fillDate();break;case"td":if(target.is(".day")){day=parseInt(target.text(),10)||1;month=picker.viewDate.month();year=picker.viewDate.year();if(target.is(".old")){if(month===0){month=11;year-=1}else{month-=1}}else if(target.is(".new")){if(month==11){month=0;year+=1}else{month+=1}}picker.date=pMoment({y:year,M:month,d:day,h:picker.date.hours(),m:picker.date.minutes()});picker.viewDate=pMoment({y:year,M:month,d:Math.min(28,day)});fillDate();set();notifyChange(oldDate)}break}}}},actions={incrementHours:function(){checkDate("add","hours")},incrementMinutes:function(){checkDate("add","minutes")},decrementHours:function(){checkDate("subtract","hours")},decrementMinutes:function(){checkDate("subtract","minutes")},togglePeriod:function(){var hour=picker.date.hours();if(hour>=12)hour-=12;else hour+=12;picker.date.hours(hour)},showPicker:function(){picker.widget.find(".timepicker > div:not(.timepicker-picker)").hide();picker.widget.find(".timepicker .timepicker-picker").show()},showHours:function(){picker.widget.find(".timepicker .timepicker-picker").hide();picker.widget.find(".timepicker .timepicker-hours").show()},showMinutes:function(){picker.widget.find(".timepicker .timepicker-picker").hide();picker.widget.find(".timepicker .timepicker-minutes").show()},selectHour:function(e){picker.date.hours(parseInt($(e.target).text(),10));actions.showPicker.call(picker)},selectMinute:function(e){picker.date.minutes(parseInt($(e.target).text(),10));actions.showPicker.call(picker)}},doAction=function(e){var action=$(e.currentTarget).data("action"),rv=actions[action].apply(picker,arguments),oldDate=picker.date;stopEvent(e);if(!picker.date)picker.date=pMoment({y:1970});set();fillTime();notifyChange(oldDate);return rv},stopEvent=function(e){e.stopPropagation();e.preventDefault()},change=function(e){pMoment.lang(picker.options.language);var input=$(e.target),oldDate=picker.date,d=pMoment(input.val(),picker.format,picker.options.useStrict);if(d.isValid()){update();picker.setValue(d);notifyChange(oldDate);set()}else{picker.viewDate=oldDate;notifyChange(oldDate);notifyError(d);picker.unset=true;input.val("")}},showMode=function(dir){if(dir){picker.viewMode=Math.max(picker.minViewMode,Math.min(2,picker.viewMode+dir))}picker.widget.find(".datepicker > div").hide().filter(".datepicker-"+dpGlobal.modes[picker.viewMode].clsName).show()},attachDatePickerEvents=function(){var $this,$parent,expanded,closed,collapseData;picker.widget.on("click",".datepicker *",$.proxy(click,this));picker.widget.on("click","[data-action]",$.proxy(doAction,this));picker.widget.on("mousedown",$.proxy(stopEvent,this));if(picker.options.pickDate&&picker.options.pickTime){picker.widget.on("click.togglePicker",".accordion-toggle",function(e){e.stopPropagation();$this=$(this);$parent=$this.closest("ul");expanded=$parent.find(".in");closed=$parent.find(".collapse:not(.in)");if(expanded&&expanded.length){collapseData=expanded.data("collapse");if(collapseData&&collapseData.transitioning)return;expanded.collapse("hide");closed.collapse("show");$this.find("span").toggleClass(picker.options.icons.time+" "+picker.options.icons.date);picker.element.find(".input-group-addon span").toggleClass(picker.options.icons.time+" "+picker.options.icons.date)}})}if(picker.isInput){picker.element.on({focus:$.proxy(picker.show,this),change:$.proxy(change,this),blur:$.proxy(picker.hide,this)})}else{picker.element.on({change:$.proxy(change,this)},"input");if(picker.component){picker.component.on("click",$.proxy(picker.show,this))}else{picker.element.on("click",$.proxy(picker.show,this))}}},attachDatePickerGlobalEvents=function(){$(window).on("resize.datetimepicker"+picker.id,$.proxy(place,this));if(!picker.isInput){$(document).on("mousedown.datetimepicker"+picker.id,$.proxy(picker.hide,this))}},detachDatePickerEvents=function(){picker.widget.off("click",".datepicker *",picker.click);picker.widget.off("click","[data-action]");picker.widget.off("mousedown",picker.stopEvent);if(picker.options.pickDate&&picker.options.pickTime){picker.widget.off("click.togglePicker")}if(picker.isInput){picker.element.off({focus:picker.show,change:picker.change})}else{picker.element.off({change:picker.change},"input");if(picker.component){picker.component.off("click",picker.show)}else{picker.element.off("click",picker.show)}}},detachDatePickerGlobalEvents=function(){$(window).off("resize.datetimepicker"+picker.id);if(!picker.isInput){$(document).off("mousedown.datetimepicker"+picker.id)}},isInFixed=function(){if(picker.element){var parents=picker.element.parents(),inFixed=false,i;for(i=0;i<parents.length;i++){if($(parents[i]).css("position")=="fixed"){inFixed=true;break}}return inFixed}else{return false}},set=function(){pMoment.lang(picker.options.language);var formatted="",input;if(!picker.unset)formatted=pMoment(picker.date).format(picker.format);if(!picker.isInput){if(picker.component){input=picker.element.find("input");input.val(formatted)}picker.element.data("date",formatted)}else{picker.element.val(formatted)}if(!picker.options.pickTime)picker.hide()},checkDate=function(direction,unit){pMoment.lang(picker.options.language);var newDate;if(direction=="add"){newDate=pMoment(picker.date);if(newDate.hours()==23)newDate.add(1,unit);newDate.add(1,unit)}else{newDate=pMoment(picker.date).subtract(1,unit)}if(newDate.isAfter(picker.options.endDate)||newDate.subtract(1,unit).isBefore(picker.options.startDate)||isInDisableDates(newDate)){notifyError(newDate.format(picker.format));return}if(direction=="add"){picker.date.add(1,unit)}else{picker.date.subtract(1,unit)}},isInDisableDates=function(date){pMoment.lang(picker.options.language);var disabled=picker.options.disabledDates,i;for(i in disabled){if(disabled[i]==pMoment(date).format("L")){return true}}return false},padLeft=function(string){string=string.toString();if(string.length>=2)return string;else return"0"+string},getTemplate=function(pickDate,pickTime,collapse){if(pickDate&&pickTime){return'<div class="bootstrap-datetimepicker-widget dropdown-menu" style="z-index:9999 !important;">'+'<ul class="list-unstyled">'+"<li"+(collapse?' class="collapse in"':"")+">"+'<div class="datepicker">'+dpGlobal.template+"</div>"+"</li>"+'<li class="picker-switch accordion-toggle"><a class="btn" style="width:100%"><span class="'+picker.options.icons.time+'"></span></a></li>'+"<li"+(collapse?' class="collapse"':"")+">"+'<div class="timepicker">'+tpGlobal.getTemplate()+"</div>"+"</li>"+"</ul>"+"</div>"}else if(pickTime){return'<div class="bootstrap-datetimepicker-widget dropdown-menu">'+'<div class="timepicker">'+tpGlobal.getTemplate()+"</div>"+"</div>"}else{return'<div class="bootstrap-datetimepicker-widget dropdown-menu">'+'<div class="datepicker">'+dpGlobal.template+"</div>"+"</div>"}},dpGlobal={modes:[{clsName:"days",navFnc:"month",navStep:1},{clsName:"months",navFnc:"year",navStep:1},{clsName:"years",navFnc:"year",navStep:10}],headTemplate:"<thead>"+"<tr>"+'<th class="prev">&lsaquo;</th><th colspan="5" class="switch"></th><th class="next">&rsaquo;</th>'+"</tr>"+"</thead>",contTemplate:'<tbody><tr><td colspan="7"></td></tr></tbody>'},tpGlobal={hourTemplate:'<span data-action="showHours" data-time-component="hours" class="timepicker-hour"></span>',minuteTemplate:'<span data-action="showMinutes" data-time-component="minutes" class="timepicker-minute"></span>'};dpGlobal.template='<div class="datepicker-days">'+'<table class="table-condensed">'+dpGlobal.headTemplate+"<tbody></tbody></table>"+"</div>"+'<div class="datepicker-months">'+'<table class="table-condensed">'+dpGlobal.headTemplate+dpGlobal.contTemplate+"</table>"+"</div>"+'<div class="datepicker-years">'+'<table class="table-condensed">'+dpGlobal.headTemplate+dpGlobal.contTemplate+"</table>"+"</div>";tpGlobal.getTemplate=function(){return'<div class="timepicker-picker">'+'<table class="table-condensed">'+"<tr>"+'<td><a href="#" class="btn" data-action="incrementHours"><span class="'+picker.options.icons.up+'"></span></a></td>'+'<td class="separator"></td>'+'<td><a href="#" class="btn" data-action="incrementMinutes"><span class="'+picker.options.icons.up+'"></span></a></td>'+(!picker.use24hours?'<td class="separator"></td>':"")+"</tr>"+"<tr>"+"<td>"+tpGlobal.hourTemplate+"</td> "+'<td class="separator">:</td>'+"<td>"+tpGlobal.minuteTemplate+"</td> "+(!picker.use24hours?'<td class="separator"></td>'+'<td><button type="button" class="btn btn-primary" data-action="togglePeriod"></button></td>':"")+"</tr>"+"<tr>"+'<td><a href="#" class="btn" data-action="decrementHours"><span class="'+picker.options.icons.down+'"></span></a></td>'+'<td class="separator"></td>'+'<td><a href="#" class="btn" data-action="decrementMinutes"><span class="'+picker.options.icons.down+'"></span></a></td>'+(!picker.use24hours?'<td class="separator"></td>':"")+"</tr>"+"</table>"+"</div>"+'<div class="timepicker-hours" data-action="selectHour">'+'<table class="table-condensed"></table>'+"</div>"+'<div class="timepicker-minutes" data-action="selectMinute">'+'<table class="table-condensed"></table>'+"</div>"};picker.destroy=function(){detachDatePickerEvents();detachDatePickerGlobalEvents();picker.widget.remove();picker.element.removeData("DateTimePicker");if(picker.component)picker.component.removeData("DateTimePicker")};picker.show=function(e){picker.widget.show();picker.height=picker.component?picker.component.outerHeight():picker.element.outerHeight();place();picker.element.trigger({type:"show.dp",date:picker.date});attachDatePickerGlobalEvents();if(e){stopEvent(e)}},picker.disable=function(){picker.element.find("input").prop("disabled",true);detachDatePickerEvents()},picker.enable=function(){picker.element.find("input").prop("disabled",false);attachDatePickerEvents()},picker.hide=function(){var collapse=picker.widget.find(".collapse"),i,collapseData;for(i=0;i<collapse.length;i++){collapseData=collapse.eq(i).data("collapse");if(collapseData&&collapseData.transitioning)return}picker.widget.hide();picker.viewMode=picker.startViewMode;showMode();picker.element.trigger({type:"hide.dp",date:picker.date});detachDatePickerGlobalEvents()},picker.setValue=function(newDate){pMoment.lang(picker.options.language);if(!newDate){picker.unset=true}else{picker.unset=false}if(!pMoment.isMoment(newDate))newDate=pMoment(newDate);if(newDate.isValid()){picker.date=newDate;set();picker.viewDate=pMoment({y:picker.date.year(),M:picker.date.month()});fillDate();fillTime()}else{notifyError(newDate)}},picker.getDate=function(){if(picker.unset)return null;return picker.date},picker.setDate=function(date){if(!date)picker.setValue(null);else picker.setValue(date)},picker.setEndDate=function(date){picker.options.endDate=pMoment(date);if(!picker.options.endDate.isValid()){picker.options.endDate=pMoment().add(50,"y")}if(picker.viewDate)update()},picker.setStartDate=function(date){picker.options.startDate=pMoment(date);if(!picker.options.startDate.isValid()){picker.options.startDate=pMoment({y:1970})}if(picker.viewDate)update()};init()};$.fn.datetimepicker=function(options){return this.each(function(){var $this=$(this),data=$this.data("DateTimePicker");if(!data)$this.data("DateTimePicker",new DateTimePicker(this,options))})}})(jQuery); \ No newline at end of file
diff --git a/library/bootstrap-datetimepicker/js/moment.js b/library/bootstrap-datetimepicker/js/moment.js
new file mode 100644
index 000000000..0168748fa
--- /dev/null
+++ b/library/bootstrap-datetimepicker/js/moment.js
@@ -0,0 +1,7063 @@
+//! moment.js
+//! version : 2.4.0
+//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
+//! license : MIT
+//! momentjs.com
+
+(function (undefined) {
+
+ /************************************
+ Constants
+ ************************************/
+
+ var moment,
+ VERSION = "2.4.0",
+ round = Math.round,
+ i,
+
+ YEAR = 0,
+ MONTH = 1,
+ DATE = 2,
+ HOUR = 3,
+ MINUTE = 4,
+ SECOND = 5,
+ MILLISECOND = 6,
+
+ // internal storage for language config files
+ languages = {},
+
+ // check for nodeJS
+ hasModule = (typeof module !== 'undefined' && module.exports),
+
+ // ASP.NET json date format regex
+ aspNetJsonRegex = /^\/?Date\((\-?\d+)/i,
+ aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,
+
+ // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
+ // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
+ isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,
+
+ // format tokens
+ formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,
+ localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,
+
+ // parsing token regexes
+ parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99
+ parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999
+ parseTokenThreeDigits = /\d{3}/, // 000 - 999
+ parseTokenFourDigits = /\d{1,4}/, // 0 - 9999
+ parseTokenSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
+ parseTokenDigits = /\d+/, // nonzero number of digits
+ parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic.
+ parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/i, // +00:00 -00:00 +0000 -0000 or Z
+ parseTokenT = /T/i, // T (ISO seperator)
+ parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123
+
+ // preliminary iso regex
+ // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000)
+ isoRegex = /^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d:?\d\d|Z)?)?$/,
+
+ isoFormat = 'YYYY-MM-DDTHH:mm:ssZ',
+
+ isoDates = [
+ 'YYYY-MM-DD',
+ 'GGGG-[W]WW',
+ 'GGGG-[W]WW-E',
+ 'YYYY-DDD'
+ ],
+
+ // iso time formats and regexes
+ isoTimes = [
+ ['HH:mm:ss.SSSS', /(T| )\d\d:\d\d:\d\d\.\d{1,3}/],
+ ['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/],
+ ['HH:mm', /(T| )\d\d:\d\d/],
+ ['HH', /(T| )\d\d/]
+ ],
+
+ // timezone chunker "+10:00" > ["10", "00"] or "-1530" > ["-15", "30"]
+ parseTimezoneChunker = /([\+\-]|\d\d)/gi,
+
+ // getter and setter names
+ proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'),
+ unitMillisecondFactors = {
+ 'Milliseconds' : 1,
+ 'Seconds' : 1e3,
+ 'Minutes' : 6e4,
+ 'Hours' : 36e5,
+ 'Days' : 864e5,
+ 'Months' : 2592e6,
+ 'Years' : 31536e6
+ },
+
+ unitAliases = {
+ ms : 'millisecond',
+ s : 'second',
+ m : 'minute',
+ h : 'hour',
+ d : 'day',
+ D : 'date',
+ w : 'week',
+ W : 'isoWeek',
+ M : 'month',
+ y : 'year',
+ DDD : 'dayOfYear',
+ e : 'weekday',
+ E : 'isoWeekday',
+ gg: 'weekYear',
+ GG: 'isoWeekYear'
+ },
+
+ camelFunctions = {
+ dayofyear : 'dayOfYear',
+ isoweekday : 'isoWeekday',
+ isoweek : 'isoWeek',
+ weekyear : 'weekYear',
+ isoweekyear : 'isoWeekYear'
+ },
+
+ // format function strings
+ formatFunctions = {},
+
+ // tokens to ordinalize and pad
+ ordinalizeTokens = 'DDD w W M D d'.split(' '),
+ paddedTokens = 'M D H h m s w W'.split(' '),
+
+ formatTokenFunctions = {
+ M : function () {
+ return this.month() + 1;
+ },
+ MMM : function (format) {
+ return this.lang().monthsShort(this, format);
+ },
+ MMMM : function (format) {
+ return this.lang().months(this, format);
+ },
+ D : function () {
+ return this.date();
+ },
+ DDD : function () {
+ return this.dayOfYear();
+ },
+ d : function () {
+ return this.day();
+ },
+ dd : function (format) {
+ return this.lang().weekdaysMin(this, format);
+ },
+ ddd : function (format) {
+ return this.lang().weekdaysShort(this, format);
+ },
+ dddd : function (format) {
+ return this.lang().weekdays(this, format);
+ },
+ w : function () {
+ return this.week();
+ },
+ W : function () {
+ return this.isoWeek();
+ },
+ YY : function () {
+ return leftZeroFill(this.year() % 100, 2);
+ },
+ YYYY : function () {
+ return leftZeroFill(this.year(), 4);
+ },
+ YYYYY : function () {
+ return leftZeroFill(this.year(), 5);
+ },
+ gg : function () {
+ return leftZeroFill(this.weekYear() % 100, 2);
+ },
+ gggg : function () {
+ return this.weekYear();
+ },
+ ggggg : function () {
+ return leftZeroFill(this.weekYear(), 5);
+ },
+ GG : function () {
+ return leftZeroFill(this.isoWeekYear() % 100, 2);
+ },
+ GGGG : function () {
+ return this.isoWeekYear();
+ },
+ GGGGG : function () {
+ return leftZeroFill(this.isoWeekYear(), 5);
+ },
+ e : function () {
+ return this.weekday();
+ },
+ E : function () {
+ return this.isoWeekday();
+ },
+ a : function () {
+ return this.lang().meridiem(this.hours(), this.minutes(), true);
+ },
+ A : function () {
+ return this.lang().meridiem(this.hours(), this.minutes(), false);
+ },
+ H : function () {
+ return this.hours();
+ },
+ h : function () {
+ return this.hours() % 12 || 12;
+ },
+ m : function () {
+ return this.minutes();
+ },
+ s : function () {
+ return this.seconds();
+ },
+ S : function () {
+ return toInt(this.milliseconds() / 100);
+ },
+ SS : function () {
+ return leftZeroFill(toInt(this.milliseconds() / 10), 2);
+ },
+ SSS : function () {
+ return leftZeroFill(this.milliseconds(), 3);
+ },
+ SSSS : function () {
+ return leftZeroFill(this.milliseconds(), 3);
+ },
+ Z : function () {
+ var a = -this.zone(),
+ b = "+";
+ if (a < 0) {
+ a = -a;
+ b = "-";
+ }
+ return b + leftZeroFill(toInt(a / 60), 2) + ":" + leftZeroFill(toInt(a) % 60, 2);
+ },
+ ZZ : function () {
+ var a = -this.zone(),
+ b = "+";
+ if (a < 0) {
+ a = -a;
+ b = "-";
+ }
+ return b + leftZeroFill(toInt(10 * a / 6), 4);
+ },
+ z : function () {
+ return this.zoneAbbr();
+ },
+ zz : function () {
+ return this.zoneName();
+ },
+ X : function () {
+ return this.unix();
+ }
+ },
+
+ lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin'];
+
+ function padToken(func, count) {
+ return function (a) {
+ return leftZeroFill(func.call(this, a), count);
+ };
+ }
+ function ordinalizeToken(func, period) {
+ return function (a) {
+ return this.lang().ordinal(func.call(this, a), period);
+ };
+ }
+
+ while (ordinalizeTokens.length) {
+ i = ordinalizeTokens.pop();
+ formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i);
+ }
+ while (paddedTokens.length) {
+ i = paddedTokens.pop();
+ formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2);
+ }
+ formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3);
+
+
+ /************************************
+ Constructors
+ ************************************/
+
+ function Language() {
+
+ }
+
+ // Moment prototype object
+ function Moment(config) {
+ checkOverflow(config);
+ extend(this, config);
+ }
+
+ // Duration Constructor
+ function Duration(duration) {
+ var normalizedInput = normalizeObjectUnits(duration),
+ years = normalizedInput.year || 0,
+ months = normalizedInput.month || 0,
+ weeks = normalizedInput.week || 0,
+ days = normalizedInput.day || 0,
+ hours = normalizedInput.hour || 0,
+ minutes = normalizedInput.minute || 0,
+ seconds = normalizedInput.second || 0,
+ milliseconds = normalizedInput.millisecond || 0;
+
+ // store reference to input for deterministic cloning
+ this._input = duration;
+
+ // representation for dateAddRemove
+ this._milliseconds = +milliseconds +
+ seconds * 1e3 + // 1000
+ minutes * 6e4 + // 1000 * 60
+ hours * 36e5; // 1000 * 60 * 60
+ // Because of dateAddRemove treats 24 hours as different from a
+ // day when working around DST, we need to store them separately
+ this._days = +days +
+ weeks * 7;
+ // It is impossible translate months into days without knowing
+ // which months you are are talking about, so we have to store
+ // it separately.
+ this._months = +months +
+ years * 12;
+
+ this._data = {};
+
+ this._bubble();
+ }
+
+ /************************************
+ Helpers
+ ************************************/
+
+
+ function extend(a, b) {
+ for (var i in b) {
+ if (b.hasOwnProperty(i)) {
+ a[i] = b[i];
+ }
+ }
+
+ if (b.hasOwnProperty("toString")) {
+ a.toString = b.toString;
+ }
+
+ if (b.hasOwnProperty("valueOf")) {
+ a.valueOf = b.valueOf;
+ }
+
+ return a;
+ }
+
+ function absRound(number) {
+ if (number < 0) {
+ return Math.ceil(number);
+ } else {
+ return Math.floor(number);
+ }
+ }
+
+ // left zero fill a number
+ // see http://jsperf.com/left-zero-filling for performance comparison
+ function leftZeroFill(number, targetLength) {
+ var output = number + '';
+ while (output.length < targetLength) {
+ output = '0' + output;
+ }
+ return output;
+ }
+
+ // helper function for _.addTime and _.subtractTime
+ function addOrSubtractDurationFromMoment(mom, duration, isAdding, ignoreUpdateOffset) {
+ var milliseconds = duration._milliseconds,
+ days = duration._days,
+ months = duration._months,
+ minutes,
+ hours;
+
+ if (milliseconds) {
+ mom._d.setTime(+mom._d + milliseconds * isAdding);
+ }
+ // store the minutes and hours so we can restore them
+ if (days || months) {
+ minutes = mom.minute();
+ hours = mom.hour();
+ }
+ if (days) {
+ mom.date(mom.date() + days * isAdding);
+ }
+ if (months) {
+ mom.month(mom.month() + months * isAdding);
+ }
+ if (milliseconds && !ignoreUpdateOffset) {
+ moment.updateOffset(mom);
+ }
+ // restore the minutes and hours after possibly changing dst
+ if (days || months) {
+ mom.minute(minutes);
+ mom.hour(hours);
+ }
+ }
+
+ // check if is an array
+ function isArray(input) {
+ return Object.prototype.toString.call(input) === '[object Array]';
+ }
+
+ function isDate(input) {
+ return Object.prototype.toString.call(input) === '[object Date]' ||
+ input instanceof Date;
+ }
+
+ // compare two arrays, return the number of differences
+ function compareArrays(array1, array2, dontConvert) {
+ var len = Math.min(array1.length, array2.length),
+ lengthDiff = Math.abs(array1.length - array2.length),
+ diffs = 0,
+ i;
+ for (i = 0; i < len; i++) {
+ if ((dontConvert && array1[i] !== array2[i]) ||
+ (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
+ diffs++;
+ }
+ }
+ return diffs + lengthDiff;
+ }
+
+ function normalizeUnits(units) {
+ if (units) {
+ var lowered = units.toLowerCase().replace(/(.)s$/, '$1');
+ units = unitAliases[units] || camelFunctions[lowered] || lowered;
+ }
+ return units;
+ }
+
+ function normalizeObjectUnits(inputObject) {
+ var normalizedInput = {},
+ normalizedProp,
+ prop,
+ index;
+
+ for (prop in inputObject) {
+ if (inputObject.hasOwnProperty(prop)) {
+ normalizedProp = normalizeUnits(prop);
+ if (normalizedProp) {
+ normalizedInput[normalizedProp] = inputObject[prop];
+ }
+ }
+ }
+
+ return normalizedInput;
+ }
+
+ function makeList(field) {
+ var count, setter;
+
+ if (field.indexOf('week') === 0) {
+ count = 7;
+ setter = 'day';
+ }
+ else if (field.indexOf('month') === 0) {
+ count = 12;
+ setter = 'month';
+ }
+ else {
+ return;
+ }
+
+ moment[field] = function (format, index) {
+ var i, getter,
+ method = moment.fn._lang[field],
+ results = [];
+
+ if (typeof format === 'number') {
+ index = format;
+ format = undefined;
+ }
+
+ getter = function (i) {
+ var m = moment().utc().set(setter, i);
+ return method.call(moment.fn._lang, m, format || '');
+ };
+
+ if (index != null) {
+ return getter(index);
+ }
+ else {
+ for (i = 0; i < count; i++) {
+ results.push(getter(i));
+ }
+ return results;
+ }
+ };
+ }
+
+ function toInt(argumentForCoercion) {
+ var coercedNumber = +argumentForCoercion,
+ value = 0;
+
+ if (coercedNumber !== 0 && isFinite(coercedNumber)) {
+ if (coercedNumber >= 0) {
+ value = Math.floor(coercedNumber);
+ } else {
+ value = Math.ceil(coercedNumber);
+ }
+ }
+
+ return value;
+ }
+
+ function daysInMonth(year, month) {
+ return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
+ }
+
+ function daysInYear(year) {
+ return isLeapYear(year) ? 366 : 365;
+ }
+
+ function isLeapYear(year) {
+ return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
+ }
+
+ function checkOverflow(m) {
+ var overflow;
+ if (m._a && m._pf.overflow === -2) {
+ overflow =
+ m._a[MONTH] < 0 || m._a[MONTH] > 11 ? MONTH :
+ m._a[DATE] < 1 || m._a[DATE] > daysInMonth(m._a[YEAR], m._a[MONTH]) ? DATE :
+ m._a[HOUR] < 0 || m._a[HOUR] > 23 ? HOUR :
+ m._a[MINUTE] < 0 || m._a[MINUTE] > 59 ? MINUTE :
+ m._a[SECOND] < 0 || m._a[SECOND] > 59 ? SECOND :
+ m._a[MILLISECOND] < 0 || m._a[MILLISECOND] > 999 ? MILLISECOND :
+ -1;
+
+ if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
+ overflow = DATE;
+ }
+
+ m._pf.overflow = overflow;
+ }
+ }
+
+ function initializeParsingFlags(config) {
+ config._pf = {
+ empty : false,
+ unusedTokens : [],
+ unusedInput : [],
+ overflow : -2,
+ charsLeftOver : 0,
+ nullInput : false,
+ invalidMonth : null,
+ invalidFormat : false,
+ userInvalidated : false,
+ iso: false
+ };
+ }
+
+ function isValid(m) {
+ if (m._isValid == null) {
+ m._isValid = !isNaN(m._d.getTime()) &&
+ m._pf.overflow < 0 &&
+ !m._pf.empty &&
+ !m._pf.invalidMonth &&
+ !m._pf.nullInput &&
+ !m._pf.invalidFormat &&
+ !m._pf.userInvalidated;
+
+ if (m._strict) {
+ m._isValid = m._isValid &&
+ m._pf.charsLeftOver === 0 &&
+ m._pf.unusedTokens.length === 0;
+ }
+ }
+ return m._isValid;
+ }
+
+ function normalizeLanguage(key) {
+ return key ? key.toLowerCase().replace('_', '-') : key;
+ }
+
+ /************************************
+ Languages
+ ************************************/
+
+
+ extend(Language.prototype, {
+
+ set : function (config) {
+ var prop, i;
+ for (i in config) {
+ prop = config[i];
+ if (typeof prop === 'function') {
+ this[i] = prop;
+ } else {
+ this['_' + i] = prop;
+ }
+ }
+ },
+
+ _months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
+ months : function (m) {
+ return this._months[m.month()];
+ },
+
+ _monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
+ monthsShort : function (m) {
+ return this._monthsShort[m.month()];
+ },
+
+ monthsParse : function (monthName) {
+ var i, mom, regex;
+
+ if (!this._monthsParse) {
+ this._monthsParse = [];
+ }
+
+ for (i = 0; i < 12; i++) {
+ // make the regex if we don't have it already
+ if (!this._monthsParse[i]) {
+ mom = moment.utc([2000, i]);
+ regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
+ this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
+ }
+ // test the regex
+ if (this._monthsParse[i].test(monthName)) {
+ return i;
+ }
+ }
+ },
+
+ _weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
+ weekdays : function (m) {
+ return this._weekdays[m.day()];
+ },
+
+ _weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
+ weekdaysShort : function (m) {
+ return this._weekdaysShort[m.day()];
+ },
+
+ _weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
+ weekdaysMin : function (m) {
+ return this._weekdaysMin[m.day()];
+ },
+
+ weekdaysParse : function (weekdayName) {
+ var i, mom, regex;
+
+ if (!this._weekdaysParse) {
+ this._weekdaysParse = [];
+ }
+
+ for (i = 0; i < 7; i++) {
+ // make the regex if we don't have it already
+ if (!this._weekdaysParse[i]) {
+ mom = moment([2000, 1]).day(i);
+ regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
+ this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
+ }
+ // test the regex
+ if (this._weekdaysParse[i].test(weekdayName)) {
+ return i;
+ }
+ }
+ },
+
+ _longDateFormat : {
+ LT : "h:mm A",
+ L : "MM/DD/YYYY",
+ LL : "MMMM D YYYY",
+ LLL : "MMMM D YYYY LT",
+ LLLL : "dddd, MMMM D YYYY LT"
+ },
+ longDateFormat : function (key) {
+ var output = this._longDateFormat[key];
+ if (!output && this._longDateFormat[key.toUpperCase()]) {
+ output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) {
+ return val.slice(1);
+ });
+ this._longDateFormat[key] = output;
+ }
+ return output;
+ },
+
+ isPM : function (input) {
+ // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
+ // Using charAt should be more compatible.
+ return ((input + '').toLowerCase().charAt(0) === 'p');
+ },
+
+ _meridiemParse : /[ap]\.?m?\.?/i,
+ meridiem : function (hours, minutes, isLower) {
+ if (hours > 11) {
+ return isLower ? 'pm' : 'PM';
+ } else {
+ return isLower ? 'am' : 'AM';
+ }
+ },
+
+ _calendar : {
+ sameDay : '[Today at] LT',
+ nextDay : '[Tomorrow at] LT',
+ nextWeek : 'dddd [at] LT',
+ lastDay : '[Yesterday at] LT',
+ lastWeek : '[Last] dddd [at] LT',
+ sameElse : 'L'
+ },
+ calendar : function (key, mom) {
+ var output = this._calendar[key];
+ return typeof output === 'function' ? output.apply(mom) : output;
+ },
+
+ _relativeTime : {
+ future : "in %s",
+ past : "%s ago",
+ s : "a few seconds",
+ m : "a minute",
+ mm : "%d minutes",
+ h : "an hour",
+ hh : "%d hours",
+ d : "a day",
+ dd : "%d days",
+ M : "a month",
+ MM : "%d months",
+ y : "a year",
+ yy : "%d years"
+ },
+ relativeTime : function (number, withoutSuffix, string, isFuture) {
+ var output = this._relativeTime[string];
+ return (typeof output === 'function') ?
+ output(number, withoutSuffix, string, isFuture) :
+ output.replace(/%d/i, number);
+ },
+ pastFuture : function (diff, output) {
+ var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
+ return typeof format === 'function' ? format(output) : format.replace(/%s/i, output);
+ },
+
+ ordinal : function (number) {
+ return this._ordinal.replace("%d", number);
+ },
+ _ordinal : "%d",
+
+ preparse : function (string) {
+ return string;
+ },
+
+ postformat : function (string) {
+ return string;
+ },
+
+ week : function (mom) {
+ return weekOfYear(mom, this._week.dow, this._week.doy).week;
+ },
+
+ _week : {
+ dow : 0, // Sunday is the first day of the week.
+ doy : 6 // The week that contains Jan 1st is the first week of the year.
+ },
+
+ _invalidDate: 'Invalid date',
+ invalidDate: function () {
+ return this._invalidDate;
+ }
+ });
+
+ // Loads a language definition into the `languages` cache. The function
+ // takes a key and optionally values. If not in the browser and no values
+ // are provided, it will load the language file module. As a convenience,
+ // this function also returns the language values.
+ function loadLang(key, values) {
+ values.abbr = key;
+ if (!languages[key]) {
+ languages[key] = new Language();
+ }
+ languages[key].set(values);
+ return languages[key];
+ }
+
+ // Remove a language from the `languages` cache. Mostly useful in tests.
+ function unloadLang(key) {
+ delete languages[key];
+ }
+
+ // Determines which language definition to use and returns it.
+ //
+ // With no parameters, it will return the global language. If you
+ // pass in a language key, such as 'en', it will return the
+ // definition for 'en', so long as 'en' has already been loaded using
+ // moment.lang.
+ function getLangDefinition(key) {
+ var i = 0, j, lang, next, split,
+ get = function (k) {
+ if (!languages[k] && hasModule) {
+ try {
+ require('./lang/' + k);
+ } catch (e) { }
+ }
+ return languages[k];
+ };
+
+ if (!key) {
+ return moment.fn._lang;
+ }
+
+ if (!isArray(key)) {
+ //short-circuit everything else
+ lang = get(key);
+ if (lang) {
+ return lang;
+ }
+ key = [key];
+ }
+
+ //pick the language from the array
+ //try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
+ //substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
+ while (i < key.length) {
+ split = normalizeLanguage(key[i]).split('-');
+ j = split.length;
+ next = normalizeLanguage(key[i + 1]);
+ next = next ? next.split('-') : null;
+ while (j > 0) {
+ lang = get(split.slice(0, j).join('-'));
+ if (lang) {
+ return lang;
+ }
+ if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
+ //the next array item is better than a shallower substring of this one
+ break;
+ }
+ j--;
+ }
+ i++;
+ }
+ return moment.fn._lang;
+ }
+
+ /************************************
+ Formatting
+ ************************************/
+
+
+ function removeFormattingTokens(input) {
+ if (input.match(/\[[\s\S]/)) {
+ return input.replace(/^\[|\]$/g, "");
+ }
+ return input.replace(/\\/g, "");
+ }
+
+ function makeFormatFunction(format) {
+ var array = format.match(formattingTokens), i, length;
+
+ for (i = 0, length = array.length; i < length; i++) {
+ if (formatTokenFunctions[array[i]]) {
+ array[i] = formatTokenFunctions[array[i]];
+ } else {
+ array[i] = removeFormattingTokens(array[i]);
+ }
+ }
+
+ return function (mom) {
+ var output = "";
+ for (i = 0; i < length; i++) {
+ output += array[i] instanceof Function ? array[i].call(mom, format) : array[i];
+ }
+ return output;
+ };
+ }
+
+ // format date using native date object
+ function formatMoment(m, format) {
+
+ if (!m.isValid()) {
+ return m.lang().invalidDate();
+ }
+
+ format = expandFormat(format, m.lang());
+
+ if (!formatFunctions[format]) {
+ formatFunctions[format] = makeFormatFunction(format);
+ }
+
+ return formatFunctions[format](m);
+ }
+
+ function expandFormat(format, lang) {
+ var i = 5;
+
+ function replaceLongDateFormatTokens(input) {
+ return lang.longDateFormat(input) || input;
+ }
+
+ localFormattingTokens.lastIndex = 0;
+ while (i >= 0 && localFormattingTokens.test(format)) {
+ format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
+ localFormattingTokens.lastIndex = 0;
+ i -= 1;
+ }
+
+ return format;
+ }
+
+
+ /************************************
+ Parsing
+ ************************************/
+
+
+ // get the regex to find the next token
+ function getParseRegexForToken(token, config) {
+ var a;
+ switch (token) {
+ case 'DDDD':
+ return parseTokenThreeDigits;
+ case 'YYYY':
+ case 'GGGG':
+ case 'gggg':
+ return parseTokenFourDigits;
+ case 'YYYYY':
+ case 'GGGGG':
+ case 'ggggg':
+ return parseTokenSixDigits;
+ case 'S':
+ case 'SS':
+ case 'SSS':
+ case 'DDD':
+ return parseTokenOneToThreeDigits;
+ case 'MMM':
+ case 'MMMM':
+ case 'dd':
+ case 'ddd':
+ case 'dddd':
+ return parseTokenWord;
+ case 'a':
+ case 'A':
+ return getLangDefinition(config._l)._meridiemParse;
+ case 'X':
+ return parseTokenTimestampMs;
+ case 'Z':
+ case 'ZZ':
+ return parseTokenTimezone;
+ case 'T':
+ return parseTokenT;
+ case 'SSSS':
+ return parseTokenDigits;
+ case 'MM':
+ case 'DD':
+ case 'YY':
+ case 'GG':
+ case 'gg':
+ case 'HH':
+ case 'hh':
+ case 'mm':
+ case 'ss':
+ case 'M':
+ case 'D':
+ case 'd':
+ case 'H':
+ case 'h':
+ case 'm':
+ case 's':
+ case 'w':
+ case 'ww':
+ case 'W':
+ case 'WW':
+ case 'e':
+ case 'E':
+ return parseTokenOneOrTwoDigits;
+ default :
+ a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), "i"));
+ return a;
+ }
+ }
+
+ function timezoneMinutesFromString(string) {
+ var tzchunk = (parseTokenTimezone.exec(string) || [])[0],
+ parts = (tzchunk + '').match(parseTimezoneChunker) || ['-', 0, 0],
+ minutes = +(parts[1] * 60) + toInt(parts[2]);
+
+ return parts[0] === '+' ? -minutes : minutes;
+ }
+
+ // function to convert string input to date
+ function addTimeToArrayFromToken(token, input, config) {
+ var a, datePartArray = config._a;
+
+ switch (token) {
+ // MONTH
+ case 'M' : // fall through to MM
+ case 'MM' :
+ if (input != null) {
+ datePartArray[MONTH] = toInt(input) - 1;
+ }
+ break;
+ case 'MMM' : // fall through to MMMM
+ case 'MMMM' :
+ a = getLangDefinition(config._l).monthsParse(input);
+ // if we didn't find a month name, mark the date as invalid.
+ if (a != null) {
+ datePartArray[MONTH] = a;
+ } else {
+ config._pf.invalidMonth = input;
+ }
+ break;
+ // DAY OF MONTH
+ case 'D' : // fall through to DD
+ case 'DD' :
+ if (input != null) {
+ datePartArray[DATE] = toInt(input);
+ }
+ break;
+ // DAY OF YEAR
+ case 'DDD' : // fall through to DDDD
+ case 'DDDD' :
+ if (input != null) {
+ config._dayOfYear = toInt(input);
+ }
+
+ break;
+ // YEAR
+ case 'YY' :
+ datePartArray[YEAR] = toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
+ break;
+ case 'YYYY' :
+ case 'YYYYY' :
+ datePartArray[YEAR] = toInt(input);
+ break;
+ // AM / PM
+ case 'a' : // fall through to A
+ case 'A' :
+ config._isPm = getLangDefinition(config._l).isPM(input);
+ break;
+ // 24 HOUR
+ case 'H' : // fall through to hh
+ case 'HH' : // fall through to hh
+ case 'h' : // fall through to hh
+ case 'hh' :
+ datePartArray[HOUR] = toInt(input);
+ break;
+ // MINUTE
+ case 'm' : // fall through to mm
+ case 'mm' :
+ datePartArray[MINUTE] = toInt(input);
+ break;
+ // SECOND
+ case 's' : // fall through to ss
+ case 'ss' :
+ datePartArray[SECOND] = toInt(input);
+ break;
+ // MILLISECOND
+ case 'S' :
+ case 'SS' :
+ case 'SSS' :
+ case 'SSSS' :
+ datePartArray[MILLISECOND] = toInt(('0.' + input) * 1000);
+ break;
+ // UNIX TIMESTAMP WITH MS
+ case 'X':
+ config._d = new Date(parseFloat(input) * 1000);
+ break;
+ // TIMEZONE
+ case 'Z' : // fall through to ZZ
+ case 'ZZ' :
+ config._useUTC = true;
+ config._tzm = timezoneMinutesFromString(input);
+ break;
+ case 'w':
+ case 'ww':
+ case 'W':
+ case 'WW':
+ case 'd':
+ case 'dd':
+ case 'ddd':
+ case 'dddd':
+ case 'e':
+ case 'E':
+ token = token.substr(0, 1);
+ /* falls through */
+ case 'gg':
+ case 'gggg':
+ case 'GG':
+ case 'GGGG':
+ case 'GGGGG':
+ token = token.substr(0, 2);
+ if (input) {
+ config._w = config._w || {};
+ config._w[token] = input;
+ }
+ break;
+ }
+ }
+
+ // convert an array to a date.
+ // the array should mirror the parameters below
+ // note: all values past the year are optional and will default to the lowest possible value.
+ // [year, month, day , hour, minute, second, millisecond]
+ function dateFromConfig(config) {
+ var i, date, input = [], currentDate,
+ yearToUse, fixYear, w, temp, lang, weekday, week;
+
+ if (config._d) {
+ return;
+ }
+
+ currentDate = currentDateArray(config);
+
+ //compute day of the year from weeks and weekdays
+ if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
+ fixYear = function (val) {
+ return val ?
+ (val.length < 3 ? (parseInt(val, 10) > 68 ? '19' + val : '20' + val) : val) :
+ (config._a[YEAR] == null ? moment().weekYear() : config._a[YEAR]);
+ };
+
+ w = config._w;
+ if (w.GG != null || w.W != null || w.E != null) {
+ temp = dayOfYearFromWeeks(fixYear(w.GG), w.W || 1, w.E, 4, 1);
+ }
+ else {
+ lang = getLangDefinition(config._l);
+ weekday = w.d != null ? parseWeekday(w.d, lang) :
+ (w.e != null ? parseInt(w.e, 10) + lang._week.dow : 0);
+
+ week = parseInt(w.w, 10) || 1;
+
+ //if we're parsing 'd', then the low day numbers may be next week
+ if (w.d != null && weekday < lang._week.dow) {
+ week++;
+ }
+
+ temp = dayOfYearFromWeeks(fixYear(w.gg), week, weekday, lang._week.doy, lang._week.dow);
+ }
+
+ config._a[YEAR] = temp.year;
+ config._dayOfYear = temp.dayOfYear;
+ }
+
+ //if the day of the year is set, figure out what it is
+ if (config._dayOfYear) {
+ yearToUse = config._a[YEAR] == null ? currentDate[YEAR] : config._a[YEAR];
+
+ if (config._dayOfYear > daysInYear(yearToUse)) {
+ config._pf._overflowDayOfYear = true;
+ }
+
+ date = makeUTCDate(yearToUse, 0, config._dayOfYear);
+ config._a[MONTH] = date.getUTCMonth();
+ config._a[DATE] = date.getUTCDate();
+ }
+
+ // Default to current date.
+ // * if no year, month, day of month are given, default to today
+ // * if day of month is given, default month and year
+ // * if month is given, default only year
+ // * if year is given, don't default anything
+ for (i = 0; i < 3 && config._a[i] == null; ++i) {
+ config._a[i] = input[i] = currentDate[i];
+ }
+
+ // Zero out whatever was not defaulted, including time
+ for (; i < 7; i++) {
+ config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
+ }
+
+ // add the offsets to the time to be parsed so that we can have a clean array for checking isValid
+ input[HOUR] += toInt((config._tzm || 0) / 60);
+ input[MINUTE] += toInt((config._tzm || 0) % 60);
+
+ config._d = (config._useUTC ? makeUTCDate : makeDate).apply(null, input);
+ }
+
+ function dateFromObject(config) {
+ var normalizedInput;
+
+ if (config._d) {
+ return;
+ }
+
+ normalizedInput = normalizeObjectUnits(config._i);
+ config._a = [
+ normalizedInput.year,
+ normalizedInput.month,
+ normalizedInput.day,
+ normalizedInput.hour,
+ normalizedInput.minute,
+ normalizedInput.second,
+ normalizedInput.millisecond
+ ];
+
+ dateFromConfig(config);
+ }
+
+ function currentDateArray(config) {
+ var now = new Date();
+ if (config._useUTC) {
+ return [
+ now.getUTCFullYear(),
+ now.getUTCMonth(),
+ now.getUTCDate()
+ ];
+ } else {
+ return [now.getFullYear(), now.getMonth(), now.getDate()];
+ }
+ }
+
+ // date from string and format string
+ function makeDateFromStringAndFormat(config) {
+
+ config._a = [];
+ config._pf.empty = true;
+
+ // This array is used to make a Date, either with `new Date` or `Date.UTC`
+ var lang = getLangDefinition(config._l),
+ string = '' + config._i,
+ i, parsedInput, tokens, token, skipped,
+ stringLength = string.length,
+ totalParsedInputLength = 0;
+
+ tokens = expandFormat(config._f, lang).match(formattingTokens) || [];
+
+ for (i = 0; i < tokens.length; i++) {
+ token = tokens[i];
+ parsedInput = (getParseRegexForToken(token, config).exec(string) || [])[0];
+ if (parsedInput) {
+ skipped = string.substr(0, string.indexOf(parsedInput));
+ if (skipped.length > 0) {
+ config._pf.unusedInput.push(skipped);
+ }
+ string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
+ totalParsedInputLength += parsedInput.length;
+ }
+ // don't parse if it's not a known token
+ if (formatTokenFunctions[token]) {
+ if (parsedInput) {
+ config._pf.empty = false;
+ }
+ else {
+ config._pf.unusedTokens.push(token);
+ }
+ addTimeToArrayFromToken(token, parsedInput, config);
+ }
+ else if (config._strict && !parsedInput) {
+ config._pf.unusedTokens.push(token);
+ }
+ }
+
+ // add remaining unparsed input length to the string
+ config._pf.charsLeftOver = stringLength - totalParsedInputLength;
+ if (string.length > 0) {
+ config._pf.unusedInput.push(string);
+ }
+
+ // handle am pm
+ if (config._isPm && config._a[HOUR] < 12) {
+ config._a[HOUR] += 12;
+ }
+ // if is 12 am, change hours to 0
+ if (config._isPm === false && config._a[HOUR] === 12) {
+ config._a[HOUR] = 0;
+ }
+
+ dateFromConfig(config);
+ checkOverflow(config);
+ }
+
+ function unescapeFormat(s) {
+ return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
+ return p1 || p2 || p3 || p4;
+ });
+ }
+
+ // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
+ function regexpEscape(s) {
+ return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
+ }
+
+ // date from string and array of format strings
+ function makeDateFromStringAndArray(config) {
+ var tempConfig,
+ bestMoment,
+
+ scoreToBeat,
+ i,
+ currentScore;
+
+ if (config._f.length === 0) {
+ config._pf.invalidFormat = true;
+ config._d = new Date(NaN);
+ return;
+ }
+
+ for (i = 0; i < config._f.length; i++) {
+ currentScore = 0;
+ tempConfig = extend({}, config);
+ initializeParsingFlags(tempConfig);
+ tempConfig._f = config._f[i];
+ makeDateFromStringAndFormat(tempConfig);
+
+ if (!isValid(tempConfig)) {
+ continue;
+ }
+
+ // if there is any input that was not parsed add a penalty for that format
+ currentScore += tempConfig._pf.charsLeftOver;
+
+ //or tokens
+ currentScore += tempConfig._pf.unusedTokens.length * 10;
+
+ tempConfig._pf.score = currentScore;
+
+ if (scoreToBeat == null || currentScore < scoreToBeat) {
+ scoreToBeat = currentScore;
+ bestMoment = tempConfig;
+ }
+ }
+
+ extend(config, bestMoment || tempConfig);
+ }
+
+ // date from iso format
+ function makeDateFromString(config) {
+ var i,
+ string = config._i,
+ match = isoRegex.exec(string);
+
+ if (match) {
+ config._pf.iso = true;
+ for (i = 4; i > 0; i--) {
+ if (match[i]) {
+ // match[5] should be "T" or undefined
+ config._f = isoDates[i - 1] + (match[6] || " ");
+ break;
+ }
+ }
+ for (i = 0; i < 4; i++) {
+ if (isoTimes[i][1].exec(string)) {
+ config._f += isoTimes[i][0];
+ break;
+ }
+ }
+ if (parseTokenTimezone.exec(string)) {
+ config._f += "Z";
+ }
+ makeDateFromStringAndFormat(config);
+ }
+ else {
+ config._d = new Date(string);
+ }
+ }
+
+ function makeDateFromInput(config) {
+ var input = config._i,
+ matched = aspNetJsonRegex.exec(input);
+
+ if (input === undefined) {
+ config._d = new Date();
+ } else if (matched) {
+ config._d = new Date(+matched[1]);
+ } else if (typeof input === 'string') {
+ makeDateFromString(config);
+ } else if (isArray(input)) {
+ config._a = input.slice(0);
+ dateFromConfig(config);
+ } else if (isDate(input)) {
+ config._d = new Date(+input);
+ } else if (typeof(input) === 'object') {
+ dateFromObject(config);
+ } else {
+ config._d = new Date(input);
+ }
+ }
+
+ function makeDate(y, m, d, h, M, s, ms) {
+ //can't just apply() to create a date:
+ //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
+ var date = new Date(y, m, d, h, M, s, ms);
+
+ //the date constructor doesn't accept years < 1970
+ if (y < 1970) {
+ date.setFullYear(y);
+ }
+ return date;
+ }
+
+ function makeUTCDate(y) {
+ var date = new Date(Date.UTC.apply(null, arguments));
+ if (y < 1970) {
+ date.setUTCFullYear(y);
+ }
+ return date;
+ }
+
+ function parseWeekday(input, language) {
+ if (typeof input === 'string') {
+ if (!isNaN(input)) {
+ input = parseInt(input, 10);
+ }
+ else {
+ input = language.weekdaysParse(input);
+ if (typeof input !== 'number') {
+ return null;
+ }
+ }
+ }
+ return input;
+ }
+
+ /************************************
+ Relative Time
+ ************************************/
+
+
+ // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
+ function substituteTimeAgo(string, number, withoutSuffix, isFuture, lang) {
+ return lang.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
+ }
+
+ function relativeTime(milliseconds, withoutSuffix, lang) {
+ var seconds = round(Math.abs(milliseconds) / 1000),
+ minutes = round(seconds / 60),
+ hours = round(minutes / 60),
+ days = round(hours / 24),
+ years = round(days / 365),
+ args = seconds < 45 && ['s', seconds] ||
+ minutes === 1 && ['m'] ||
+ minutes < 45 && ['mm', minutes] ||
+ hours === 1 && ['h'] ||
+ hours < 22 && ['hh', hours] ||
+ days === 1 && ['d'] ||
+ days <= 25 && ['dd', days] ||
+ days <= 45 && ['M'] ||
+ days < 345 && ['MM', round(days / 30)] ||
+ years === 1 && ['y'] || ['yy', years];
+ args[2] = withoutSuffix;
+ args[3] = milliseconds > 0;
+ args[4] = lang;
+ return substituteTimeAgo.apply({}, args);
+ }
+
+
+ /************************************
+ Week of Year
+ ************************************/
+
+
+ // firstDayOfWeek 0 = sun, 6 = sat
+ // the day of the week that starts the week
+ // (usually sunday or monday)
+ // firstDayOfWeekOfYear 0 = sun, 6 = sat
+ // the first week is the week that contains the first
+ // of this day of the week
+ // (eg. ISO weeks use thursday (4))
+ function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) {
+ var end = firstDayOfWeekOfYear - firstDayOfWeek,
+ daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(),
+ adjustedMoment;
+
+
+ if (daysToDayOfWeek > end) {
+ daysToDayOfWeek -= 7;
+ }
+
+ if (daysToDayOfWeek < end - 7) {
+ daysToDayOfWeek += 7;
+ }
+
+ adjustedMoment = moment(mom).add('d', daysToDayOfWeek);
+ return {
+ week: Math.ceil(adjustedMoment.dayOfYear() / 7),
+ year: adjustedMoment.year()
+ };
+ }
+
+ //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
+ function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) {
+ var d = new Date(Date.UTC(year, 0)).getUTCDay(),
+ daysToAdd, dayOfYear;
+
+ weekday = weekday != null ? weekday : firstDayOfWeek;
+ daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0);
+ dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1;
+
+ return {
+ year: dayOfYear > 0 ? year : year - 1,
+ dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear
+ };
+ }
+
+ /************************************
+ Top Level Functions
+ ************************************/
+
+ function makeMoment(config) {
+ var input = config._i,
+ format = config._f;
+
+ if (typeof config._pf === 'undefined') {
+ initializeParsingFlags(config);
+ }
+
+ if (input === null) {
+ return moment.invalid({nullInput: true});
+ }
+
+ if (typeof input === 'string') {
+ config._i = input = getLangDefinition().preparse(input);
+ }
+
+ if (moment.isMoment(input)) {
+ config = extend({}, input);
+
+ config._d = new Date(+input._d);
+ } else if (format) {
+ if (isArray(format)) {
+ makeDateFromStringAndArray(config);
+ } else {
+ makeDateFromStringAndFormat(config);
+ }
+ } else {
+ makeDateFromInput(config);
+ }
+
+ return new Moment(config);
+ }
+
+ moment = function (input, format, lang, strict) {
+ if (typeof(lang) === "boolean") {
+ strict = lang;
+ lang = undefined;
+ }
+ return makeMoment({
+ _i : input,
+ _f : format,
+ _l : lang,
+ _strict : strict,
+ _isUTC : false
+ });
+ };
+
+ // creating with utc
+ moment.utc = function (input, format, lang, strict) {
+ var m;
+
+ if (typeof(lang) === "boolean") {
+ strict = lang;
+ lang = undefined;
+ }
+ m = makeMoment({
+ _useUTC : true,
+ _isUTC : true,
+ _l : lang,
+ _i : input,
+ _f : format,
+ _strict : strict
+ }).utc();
+
+ return m;
+ };
+
+ // creating with unix timestamp (in seconds)
+ moment.unix = function (input) {
+ return moment(input * 1000);
+ };
+
+ // duration
+ moment.duration = function (input, key) {
+ var isDuration = moment.isDuration(input),
+ isNumber = (typeof input === 'number'),
+ duration = (isDuration ? input._input : (isNumber ? {} : input)),
+ // matching against regexp is expensive, do it on demand
+ match = null,
+ sign,
+ ret,
+ parseIso,
+ timeEmpty,
+ dateTimeEmpty;
+
+ if (isNumber) {
+ if (key) {
+ duration[key] = input;
+ } else {
+ duration.milliseconds = input;
+ }
+ } else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) {
+ sign = (match[1] === "-") ? -1 : 1;
+ duration = {
+ y: 0,
+ d: toInt(match[DATE]) * sign,
+ h: toInt(match[HOUR]) * sign,
+ m: toInt(match[MINUTE]) * sign,
+ s: toInt(match[SECOND]) * sign,
+ ms: toInt(match[MILLISECOND]) * sign
+ };
+ } else if (!!(match = isoDurationRegex.exec(input))) {
+ sign = (match[1] === "-") ? -1 : 1;
+ parseIso = function (inp) {
+ // We'd normally use ~~inp for this, but unfortunately it also
+ // converts floats to ints.
+ // inp may be undefined, so careful calling replace on it.
+ var res = inp && parseFloat(inp.replace(',', '.'));
+ // apply sign while we're at it
+ return (isNaN(res) ? 0 : res) * sign;
+ };
+ duration = {
+ y: parseIso(match[2]),
+ M: parseIso(match[3]),
+ d: parseIso(match[4]),
+ h: parseIso(match[5]),
+ m: parseIso(match[6]),
+ s: parseIso(match[7]),
+ w: parseIso(match[8])
+ };
+ }
+
+ ret = new Duration(duration);
+
+ if (isDuration && input.hasOwnProperty('_lang')) {
+ ret._lang = input._lang;
+ }
+
+ return ret;
+ };
+
+ // version number
+ moment.version = VERSION;
+
+ // default format
+ moment.defaultFormat = isoFormat;
+
+ // This function will be called whenever a moment is mutated.
+ // It is intended to keep the offset in sync with the timezone.
+ moment.updateOffset = function () {};
+
+ // This function will load languages and then set the global language. If
+ // no arguments are passed in, it will simply return the current global
+ // language key.
+ moment.lang = function (key, values) {
+ var r;
+ if (!key) {
+ return moment.fn._lang._abbr;
+ }
+ if (values) {
+ loadLang(normalizeLanguage(key), values);
+ } else if (values === null) {
+ unloadLang(key);
+ key = 'en';
+ } else if (!languages[key]) {
+ getLangDefinition(key);
+ }
+ r = moment.duration.fn._lang = moment.fn._lang = getLangDefinition(key);
+ return r._abbr;
+ };
+
+ // returns language data
+ moment.langData = function (key) {
+ if (key && key._lang && key._lang._abbr) {
+ key = key._lang._abbr;
+ }
+ return getLangDefinition(key);
+ };
+
+ // compare moment object
+ moment.isMoment = function (obj) {
+ return obj instanceof Moment;
+ };
+
+ // for typechecking Duration objects
+ moment.isDuration = function (obj) {
+ return obj instanceof Duration;
+ };
+
+ for (i = lists.length - 1; i >= 0; --i) {
+ makeList(lists[i]);
+ }
+
+ moment.normalizeUnits = function (units) {
+ return normalizeUnits(units);
+ };
+
+ moment.invalid = function (flags) {
+ var m = moment.utc(NaN);
+ if (flags != null) {
+ extend(m._pf, flags);
+ }
+ else {
+ m._pf.userInvalidated = true;
+ }
+
+ return m;
+ };
+
+ moment.parseZone = function (input) {
+ return moment(input).parseZone();
+ };
+
+ /************************************
+ Moment Prototype
+ ************************************/
+
+
+ extend(moment.fn = Moment.prototype, {
+
+ clone : function () {
+ return moment(this);
+ },
+
+ valueOf : function () {
+ return +this._d + ((this._offset || 0) * 60000);
+ },
+
+ unix : function () {
+ return Math.floor(+this / 1000);
+ },
+
+ toString : function () {
+ return this.clone().lang('en').format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
+ },
+
+ toDate : function () {
+ return this._offset ? new Date(+this) : this._d;
+ },
+
+ toISOString : function () {
+ return formatMoment(moment(this).utc(), 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
+ },
+
+ toArray : function () {
+ var m = this;
+ return [
+ m.year(),
+ m.month(),
+ m.date(),
+ m.hours(),
+ m.minutes(),
+ m.seconds(),
+ m.milliseconds()
+ ];
+ },
+
+ isValid : function () {
+ return isValid(this);
+ },
+
+ isDSTShifted : function () {
+
+ if (this._a) {
+ return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0;
+ }
+
+ return false;
+ },
+
+ parsingFlags : function () {
+ return extend({}, this._pf);
+ },
+
+ invalidAt: function () {
+ return this._pf.overflow;
+ },
+
+ utc : function () {
+ return this.zone(0);
+ },
+
+ local : function () {
+ this.zone(0);
+ this._isUTC = false;
+ return this;
+ },
+
+ format : function (inputString) {
+ var output = formatMoment(this, inputString || moment.defaultFormat);
+ return this.lang().postformat(output);
+ },
+
+ add : function (input, val) {
+ var dur;
+ // switch args to support add('s', 1) and add(1, 's')
+ if (typeof input === 'string') {
+ dur = moment.duration(+val, input);
+ } else {
+ dur = moment.duration(input, val);
+ }
+ addOrSubtractDurationFromMoment(this, dur, 1);
+ return this;
+ },
+
+ subtract : function (input, val) {
+ var dur;
+ // switch args to support subtract('s', 1) and subtract(1, 's')
+ if (typeof input === 'string') {
+ dur = moment.duration(+val, input);
+ } else {
+ dur = moment.duration(input, val);
+ }
+ addOrSubtractDurationFromMoment(this, dur, -1);
+ return this;
+ },
+
+ diff : function (input, units, asFloat) {
+ var that = this._isUTC ? moment(input).zone(this._offset || 0) : moment(input).local(),
+ zoneDiff = (this.zone() - that.zone()) * 6e4,
+ diff, output;
+
+ units = normalizeUnits(units);
+
+ if (units === 'year' || units === 'month') {
+ // average number of days in the months in the given dates
+ diff = (this.daysInMonth() + that.daysInMonth()) * 432e5; // 24 * 60 * 60 * 1000 / 2
+ // difference in months
+ output = ((this.year() - that.year()) * 12) + (this.month() - that.month());
+ // adjust by taking difference in days, average number of days
+ // and dst in the given months.
+ output += ((this - moment(this).startOf('month')) -
+ (that - moment(that).startOf('month'))) / diff;
+ // same as above but with zones, to negate all dst
+ output -= ((this.zone() - moment(this).startOf('month').zone()) -
+ (that.zone() - moment(that).startOf('month').zone())) * 6e4 / diff;
+ if (units === 'year') {
+ output = output / 12;
+ }
+ } else {
+ diff = (this - that);
+ output = units === 'second' ? diff / 1e3 : // 1000
+ units === 'minute' ? diff / 6e4 : // 1000 * 60
+ units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60
+ units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst
+ units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst
+ diff;
+ }
+ return asFloat ? output : absRound(output);
+ },
+
+ from : function (time, withoutSuffix) {
+ return moment.duration(this.diff(time)).lang(this.lang()._abbr).humanize(!withoutSuffix);
+ },
+
+ fromNow : function (withoutSuffix) {
+ return this.from(moment(), withoutSuffix);
+ },
+
+ calendar : function () {
+ var diff = this.diff(moment().zone(this.zone()).startOf('day'), 'days', true),
+ format = diff < -6 ? 'sameElse' :
+ diff < -1 ? 'lastWeek' :
+ diff < 0 ? 'lastDay' :
+ diff < 1 ? 'sameDay' :
+ diff < 2 ? 'nextDay' :
+ diff < 7 ? 'nextWeek' : 'sameElse';
+ return this.format(this.lang().calendar(format, this));
+ },
+
+ isLeapYear : function () {
+ return isLeapYear(this.year());
+ },
+
+ isDST : function () {
+ return (this.zone() < this.clone().month(0).zone() ||
+ this.zone() < this.clone().month(5).zone());
+ },
+
+ day : function (input) {
+ var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
+ if (input != null) {
+ input = parseWeekday(input, this.lang());
+ return this.add({ d : input - day });
+ } else {
+ return day;
+ }
+ },
+
+ month : function (input) {
+ var utc = this._isUTC ? 'UTC' : '',
+ dayOfMonth;
+
+ if (input != null) {
+ if (typeof input === 'string') {
+ input = this.lang().monthsParse(input);
+ if (typeof input !== 'number') {
+ return this;
+ }
+ }
+
+ dayOfMonth = this.date();
+ this.date(1);
+ this._d['set' + utc + 'Month'](input);
+ this.date(Math.min(dayOfMonth, this.daysInMonth()));
+
+ moment.updateOffset(this);
+ return this;
+ } else {
+ return this._d['get' + utc + 'Month']();
+ }
+ },
+
+ startOf: function (units) {
+ units = normalizeUnits(units);
+ // the following switch intentionally omits break keywords
+ // to utilize falling through the cases.
+ switch (units) {
+ case 'year':
+ this.month(0);
+ /* falls through */
+ case 'month':
+ this.date(1);
+ /* falls through */
+ case 'week':
+ case 'isoWeek':
+ case 'day':
+ this.hours(0);
+ /* falls through */
+ case 'hour':
+ this.minutes(0);
+ /* falls through */
+ case 'minute':
+ this.seconds(0);
+ /* falls through */
+ case 'second':
+ this.milliseconds(0);
+ /* falls through */
+ }
+
+ // weeks are a special case
+ if (units === 'week') {
+ this.weekday(0);
+ } else if (units === 'isoWeek') {
+ this.isoWeekday(1);
+ }
+
+ return this;
+ },
+
+ endOf: function (units) {
+ units = normalizeUnits(units);
+ return this.startOf(units).add((units === 'isoWeek' ? 'week' : units), 1).subtract('ms', 1);
+ },
+
+ isAfter: function (input, units) {
+ units = typeof units !== 'undefined' ? units : 'millisecond';
+ return +this.clone().startOf(units) > +moment(input).startOf(units);
+ },
+
+ isBefore: function (input, units) {
+ units = typeof units !== 'undefined' ? units : 'millisecond';
+ return +this.clone().startOf(units) < +moment(input).startOf(units);
+ },
+
+ isSame: function (input, units) {
+ units = typeof units !== 'undefined' ? units : 'millisecond';
+ return +this.clone().startOf(units) === +moment(input).startOf(units);
+ },
+
+ min: function (other) {
+ other = moment.apply(null, arguments);
+ return other < this ? this : other;
+ },
+
+ max: function (other) {
+ other = moment.apply(null, arguments);
+ return other > this ? this : other;
+ },
+
+ zone : function (input) {
+ var offset = this._offset || 0;
+ if (input != null) {
+ if (typeof input === "string") {
+ input = timezoneMinutesFromString(input);
+ }
+ if (Math.abs(input) < 16) {
+ input = input * 60;
+ }
+ this._offset = input;
+ this._isUTC = true;
+ if (offset !== input) {
+ addOrSubtractDurationFromMoment(this, moment.duration(offset - input, 'm'), 1, true);
+ }
+ } else {
+ return this._isUTC ? offset : this._d.getTimezoneOffset();
+ }
+ return this;
+ },
+
+ zoneAbbr : function () {
+ return this._isUTC ? "UTC" : "";
+ },
+
+ zoneName : function () {
+ return this._isUTC ? "Coordinated Universal Time" : "";
+ },
+
+ parseZone : function () {
+ if (typeof this._i === 'string') {
+ this.zone(this._i);
+ }
+ return this;
+ },
+
+ hasAlignedHourOffset : function (input) {
+ if (!input) {
+ input = 0;
+ }
+ else {
+ input = moment(input).zone();
+ }
+
+ return (this.zone() - input) % 60 === 0;
+ },
+
+ daysInMonth : function () {
+ return daysInMonth(this.year(), this.month());
+ },
+
+ dayOfYear : function (input) {
+ var dayOfYear = round((moment(this).startOf('day') - moment(this).startOf('year')) / 864e5) + 1;
+ return input == null ? dayOfYear : this.add("d", (input - dayOfYear));
+ },
+
+ weekYear : function (input) {
+ var year = weekOfYear(this, this.lang()._week.dow, this.lang()._week.doy).year;
+ return input == null ? year : this.add("y", (input - year));
+ },
+
+ isoWeekYear : function (input) {
+ var year = weekOfYear(this, 1, 4).year;
+ return input == null ? year : this.add("y", (input - year));
+ },
+
+ week : function (input) {
+ var week = this.lang().week(this);
+ return input == null ? week : this.add("d", (input - week) * 7);
+ },
+
+ isoWeek : function (input) {
+ var week = weekOfYear(this, 1, 4).week;
+ return input == null ? week : this.add("d", (input - week) * 7);
+ },
+
+ weekday : function (input) {
+ var weekday = (this.day() + 7 - this.lang()._week.dow) % 7;
+ return input == null ? weekday : this.add("d", input - weekday);
+ },
+
+ isoWeekday : function (input) {
+ // behaves the same as moment#day except
+ // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
+ // as a setter, sunday should belong to the previous week.
+ return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7);
+ },
+
+ get : function (units) {
+ units = normalizeUnits(units);
+ return this[units]();
+ },
+
+ set : function (units, value) {
+ units = normalizeUnits(units);
+ if (typeof this[units] === 'function') {
+ this[units](value);
+ }
+ return this;
+ },
+
+ // If passed a language key, it will set the language for this
+ // instance. Otherwise, it will return the language configuration
+ // variables for this instance.
+ lang : function (key) {
+ if (key === undefined) {
+ return this._lang;
+ } else {
+ this._lang = getLangDefinition(key);
+ return this;
+ }
+ }
+ });
+
+ // helper for adding shortcuts
+ function makeGetterAndSetter(name, key) {
+ moment.fn[name] = moment.fn[name + 's'] = function (input) {
+ var utc = this._isUTC ? 'UTC' : '';
+ if (input != null) {
+ this._d['set' + utc + key](input);
+ moment.updateOffset(this);
+ return this;
+ } else {
+ return this._d['get' + utc + key]();
+ }
+ };
+ }
+
+ // loop through and add shortcuts (Month, Date, Hours, Minutes, Seconds, Milliseconds)
+ for (i = 0; i < proxyGettersAndSetters.length; i ++) {
+ makeGetterAndSetter(proxyGettersAndSetters[i].toLowerCase().replace(/s$/, ''), proxyGettersAndSetters[i]);
+ }
+
+ // add shortcut for year (uses different syntax than the getter/setter 'year' == 'FullYear')
+ makeGetterAndSetter('year', 'FullYear');
+
+ // add plural methods
+ moment.fn.days = moment.fn.day;
+ moment.fn.months = moment.fn.month;
+ moment.fn.weeks = moment.fn.week;
+ moment.fn.isoWeeks = moment.fn.isoWeek;
+
+ // add aliased format methods
+ moment.fn.toJSON = moment.fn.toISOString;
+
+ /************************************
+ Duration Prototype
+ ************************************/
+
+
+ extend(moment.duration.fn = Duration.prototype, {
+
+ _bubble : function () {
+ var milliseconds = this._milliseconds,
+ days = this._days,
+ months = this._months,
+ data = this._data,
+ seconds, minutes, hours, years;
+
+ // The following code bubbles up values, see the tests for
+ // examples of what that means.
+ data.milliseconds = milliseconds % 1000;
+
+ seconds = absRound(milliseconds / 1000);
+ data.seconds = seconds % 60;
+
+ minutes = absRound(seconds / 60);
+ data.minutes = minutes % 60;
+
+ hours = absRound(minutes / 60);
+ data.hours = hours % 24;
+
+ days += absRound(hours / 24);
+ data.days = days % 30;
+
+ months += absRound(days / 30);
+ data.months = months % 12;
+
+ years = absRound(months / 12);
+ data.years = years;
+ },
+
+ weeks : function () {
+ return absRound(this.days() / 7);
+ },
+
+ valueOf : function () {
+ return this._milliseconds +
+ this._days * 864e5 +
+ (this._months % 12) * 2592e6 +
+ toInt(this._months / 12) * 31536e6;
+ },
+
+ humanize : function (withSuffix) {
+ var difference = +this,
+ output = relativeTime(difference, !withSuffix, this.lang());
+
+ if (withSuffix) {
+ output = this.lang().pastFuture(difference, output);
+ }
+
+ return this.lang().postformat(output);
+ },
+
+ add : function (input, val) {
+ // supports only 2.0-style add(1, 's') or add(moment)
+ var dur = moment.duration(input, val);
+
+ this._milliseconds += dur._milliseconds;
+ this._days += dur._days;
+ this._months += dur._months;
+
+ this._bubble();
+
+ return this;
+ },
+
+ subtract : function (input, val) {
+ var dur = moment.duration(input, val);
+
+ this._milliseconds -= dur._milliseconds;
+ this._days -= dur._days;
+ this._months -= dur._months;
+
+ this._bubble();
+
+ return this;
+ },
+
+ get : function (units) {
+ units = normalizeUnits(units);
+ return this[units.toLowerCase() + 's']();
+ },
+
+ as : function (units) {
+ units = normalizeUnits(units);
+ return this['as' + units.charAt(0).toUpperCase() + units.slice(1) + 's']();
+ },
+
+ lang : moment.fn.lang,
+
+ toIsoString : function () {
+ // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
+ var years = Math.abs(this.years()),
+ months = Math.abs(this.months()),
+ days = Math.abs(this.days()),
+ hours = Math.abs(this.hours()),
+ minutes = Math.abs(this.minutes()),
+ seconds = Math.abs(this.seconds() + this.milliseconds() / 1000);
+
+ if (!this.asSeconds()) {
+ // this is the same as C#'s (Noda) and python (isodate)...
+ // but not other JS (goog.date)
+ return 'P0D';
+ }
+
+ return (this.asSeconds() < 0 ? '-' : '') +
+ 'P' +
+ (years ? years + 'Y' : '') +
+ (months ? months + 'M' : '') +
+ (days ? days + 'D' : '') +
+ ((hours || minutes || seconds) ? 'T' : '') +
+ (hours ? hours + 'H' : '') +
+ (minutes ? minutes + 'M' : '') +
+ (seconds ? seconds + 'S' : '');
+ }
+ });
+
+ function makeDurationGetter(name) {
+ moment.duration.fn[name] = function () {
+ return this._data[name];
+ };
+ }
+
+ function makeDurationAsGetter(name, factor) {
+ moment.duration.fn['as' + name] = function () {
+ return +this / factor;
+ };
+ }
+
+ for (i in unitMillisecondFactors) {
+ if (unitMillisecondFactors.hasOwnProperty(i)) {
+ makeDurationAsGetter(i, unitMillisecondFactors[i]);
+ makeDurationGetter(i.toLowerCase());
+ }
+ }
+
+ makeDurationAsGetter('Weeks', 6048e5);
+ moment.duration.fn.asMonths = function () {
+ return (+this - this.years() * 31536e6) / 2592e6 + this.years() * 12;
+ };
+
+
+ /************************************
+ Default Lang
+ ************************************/
+
+
+ // Set default language, other languages will inherit from English.
+ moment.lang('en', {
+ ordinal : function (number) {
+ var b = number % 10,
+ output = (toInt(number % 100 / 10) === 1) ? 'th' :
+ (b === 1) ? 'st' :
+ (b === 2) ? 'nd' :
+ (b === 3) ? 'rd' : 'th';
+ return number + output;
+ }
+ });
+
+ // moment.js language configuration
+// language : Moroccan Arabic (ar-ma)
+// author : ElFadili Yassine : https://github.com/ElFadiliY
+// author : Abdel Said : https://github.com/abdelsaid
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('ar-ma', {
+ months : "يناير_Ùبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
+ monthsShort : "يناير_Ùبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),
+ weekdays : "الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
+ weekdaysShort : "احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),
+ weekdaysMin : "ح_ن_ث_ر_خ_ج_س".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: "[اليوم على الساعة] LT",
+ nextDay: '[غدا على الساعة] LT',
+ nextWeek: 'dddd [على الساعة] LT',
+ lastDay: '[أمس على الساعة] LT',
+ lastWeek: 'dddd [على الساعة] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "ÙÙŠ %s",
+ past : "منذ %s",
+ s : "ثوان",
+ m : "دقيقة",
+ mm : "%d دقائق",
+ h : "ساعة",
+ hh : "%d ساعات",
+ d : "يوم",
+ dd : "%d أيام",
+ M : "شهر",
+ MM : "%d أشهر",
+ y : "سنة",
+ yy : "%d سنوات"
+ },
+ week : {
+ dow : 6, // Saturday is the first day of the week.
+ doy : 12 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : Arabic (ar)
+// author : Abdel Said : https://github.com/abdelsaid
+// changes in months, weekdays : Ahmed Elkhatib
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('ar', {
+ months : "يناير/ كانون الثاني_Ùبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوÙمبر/ تشرين الثاني_ديسمبر/ كانون الأول".split("_"),
+ monthsShort : "يناير/ كانون الثاني_Ùبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوÙمبر/ تشرين الثاني_ديسمبر/ كانون الأول".split("_"),
+ weekdays : "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
+ weekdaysShort : "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
+ weekdaysMin : "ح_ن_ث_ر_خ_ج_س".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: "[اليوم على الساعة] LT",
+ nextDay: '[غدا على الساعة] LT',
+ nextWeek: 'dddd [على الساعة] LT',
+ lastDay: '[أمس على الساعة] LT',
+ lastWeek: 'dddd [على الساعة] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "ÙÙŠ %s",
+ past : "منذ %s",
+ s : "ثوان",
+ m : "دقيقة",
+ mm : "%d دقائق",
+ h : "ساعة",
+ hh : "%d ساعات",
+ d : "يوم",
+ dd : "%d أيام",
+ M : "شهر",
+ MM : "%d أشهر",
+ y : "سنة",
+ yy : "%d سنوات"
+ },
+ week : {
+ dow : 6, // Saturday is the first day of the week.
+ doy : 12 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : bulgarian (bg)
+// author : Krasen Borisov : https://github.com/kraz
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('bg', {
+ months : "Ñнуари_февруари_март_април_май_юни_юли_авгуÑÑ‚_Ñептември_октомври_ноември_декември".split("_"),
+ monthsShort : "Ñнр_фев_мар_апр_май_юни_юли_авг_Ñеп_окт_ное_дек".split("_"),
+ weekdays : "неделÑ_понеделник_вторник_ÑÑ€Ñда_четвъртък_петък_Ñъбота".split("_"),
+ weekdaysShort : "нед_пон_вто_ÑÑ€Ñ_чет_пет_Ñъб".split("_"),
+ weekdaysMin : "нд_пн_вт_ÑÑ€_чт_пт_Ñб".split("_"),
+ longDateFormat : {
+ LT : "H:mm",
+ L : "D.MM.YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd, D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay : '[Ð”Ð½ÐµÑ Ð²] LT',
+ nextDay : '[Утре в] LT',
+ nextWeek : 'dddd [в] LT',
+ lastDay : '[Вчера в] LT',
+ lastWeek : function () {
+ switch (this.day()) {
+ case 0:
+ case 3:
+ case 6:
+ return '[В изминалата] dddd [в] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[Ð’ изминалиÑ] dddd [в] LT';
+ }
+ },
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "Ñлед %s",
+ past : "преди %s",
+ s : "нÑколко Ñекунди",
+ m : "минута",
+ mm : "%d минути",
+ h : "чаÑ",
+ hh : "%d чаÑа",
+ d : "ден",
+ dd : "%d дни",
+ M : "меÑец",
+ MM : "%d меÑеца",
+ y : "година",
+ yy : "%d години"
+ },
+ ordinal : function (number) {
+ var lastDigit = number % 10,
+ last2Digits = number % 100;
+ if (number === 0) {
+ return number + '-ев';
+ } else if (last2Digits === 0) {
+ return number + '-ен';
+ } else if (last2Digits > 10 && last2Digits < 20) {
+ return number + '-ти';
+ } else if (lastDigit === 1) {
+ return number + '-ви';
+ } else if (lastDigit === 2) {
+ return number + '-ри';
+ } else if (lastDigit === 7 || lastDigit === 8) {
+ return number + '-ми';
+ } else {
+ return number + '-ти';
+ }
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : breton (br)
+// author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ function relativeTimeWithMutation(number, withoutSuffix, key) {
+ var format = {
+ 'mm': "munutenn",
+ 'MM': "miz",
+ 'dd': "devezh"
+ };
+ return number + ' ' + mutation(format[key], number);
+ }
+
+ function specialMutationForYears(number) {
+ switch (lastNumber(number)) {
+ case 1:
+ case 3:
+ case 4:
+ case 5:
+ case 9:
+ return number + ' bloaz';
+ default:
+ return number + ' vloaz';
+ }
+ }
+
+ function lastNumber(number) {
+ if (number > 9) {
+ return lastNumber(number % 10);
+ }
+ return number;
+ }
+
+ function mutation(text, number) {
+ if (number === 2) {
+ return softMutation(text);
+ }
+ return text;
+ }
+
+ function softMutation(text) {
+ var mutationTable = {
+ 'm': 'v',
+ 'b': 'v',
+ 'd': 'z'
+ };
+ if (mutationTable[text.charAt(0)] === undefined) {
+ return text;
+ }
+ return mutationTable[text.charAt(0)] + text.substring(1);
+ }
+
+ return moment.lang('br', {
+ months : "Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),
+ monthsShort : "Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),
+ weekdays : "Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),
+ weekdaysShort : "Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),
+ weekdaysMin : "Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),
+ longDateFormat : {
+ LT : "h[e]mm A",
+ L : "DD/MM/YYYY",
+ LL : "D [a viz] MMMM YYYY",
+ LLL : "D [a viz] MMMM YYYY LT",
+ LLLL : "dddd, D [a viz] MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay : '[Hiziv da] LT',
+ nextDay : '[Warc\'hoazh da] LT',
+ nextWeek : 'dddd [da] LT',
+ lastDay : '[Dec\'h da] LT',
+ lastWeek : 'dddd [paset da] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "a-benn %s",
+ past : "%s 'zo",
+ s : "un nebeud segondennoù",
+ m : "ur vunutenn",
+ mm : relativeTimeWithMutation,
+ h : "un eur",
+ hh : "%d eur",
+ d : "un devezh",
+ dd : relativeTimeWithMutation,
+ M : "ur miz",
+ MM : relativeTimeWithMutation,
+ y : "ur bloaz",
+ yy : specialMutationForYears
+ },
+ ordinal : function (number) {
+ var output = (number === 1) ? 'añ' : 'vet';
+ return number + output;
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : bosnian (bs)
+// author : Nedim Cholich : https://github.com/frontyard
+// based on (hr) translation by Bojan Marković
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+
+ function translate(number, withoutSuffix, key) {
+ var result = number + " ";
+ switch (key) {
+ case 'm':
+ return withoutSuffix ? 'jedna minuta' : 'jedne minute';
+ case 'mm':
+ if (number === 1) {
+ result += 'minuta';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'minute';
+ } else {
+ result += 'minuta';
+ }
+ return result;
+ case 'h':
+ return withoutSuffix ? 'jedan sat' : 'jednog sata';
+ case 'hh':
+ if (number === 1) {
+ result += 'sat';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'sata';
+ } else {
+ result += 'sati';
+ }
+ return result;
+ case 'dd':
+ if (number === 1) {
+ result += 'dan';
+ } else {
+ result += 'dana';
+ }
+ return result;
+ case 'MM':
+ if (number === 1) {
+ result += 'mjesec';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'mjeseca';
+ } else {
+ result += 'mjeseci';
+ }
+ return result;
+ case 'yy':
+ if (number === 1) {
+ result += 'godina';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'godine';
+ } else {
+ result += 'godina';
+ }
+ return result;
+ }
+ }
+
+ return moment.lang('bs', {
+ months : "januar_februar_mart_april_maj_juni_juli_avgust_septembar_oktobar_novembar_decembar".split("_"),
+ monthsShort : "jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),
+ weekdays : "nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota".split("_"),
+ weekdaysShort : "ned._pon._uto._sri._Äet._pet._sub.".split("_"),
+ weekdaysMin : "ne_po_ut_sr_Äe_pe_su".split("_"),
+ longDateFormat : {
+ LT : "H:mm",
+ L : "DD. MM. YYYY",
+ LL : "D. MMMM YYYY",
+ LLL : "D. MMMM YYYY LT",
+ LLLL : "dddd, D. MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay : '[danas u] LT',
+ nextDay : '[sutra u] LT',
+
+ nextWeek : function () {
+ switch (this.day()) {
+ case 0:
+ return '[u] [nedjelju] [u] LT';
+ case 3:
+ return '[u] [srijedu] [u] LT';
+ case 6:
+ return '[u] [subotu] [u] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[u] dddd [u] LT';
+ }
+ },
+ lastDay : '[juÄer u] LT',
+ lastWeek : function () {
+ switch (this.day()) {
+ case 0:
+ case 3:
+ return '[prošlu] dddd [u] LT';
+ case 6:
+ return '[prošle] [subote] [u] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[prošli] dddd [u] LT';
+ }
+ },
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "za %s",
+ past : "prije %s",
+ s : "par sekundi",
+ m : translate,
+ mm : translate,
+ h : translate,
+ hh : translate,
+ d : "dan",
+ dd : translate,
+ M : "mjesec",
+ MM : translate,
+ y : "godinu",
+ yy : translate
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : catalan (ca)
+// author : Juan G. Hurtado : https://github.com/juanghurtado
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('ca', {
+ months : "Gener_Febrer_Març_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre".split("_"),
+ monthsShort : "Gen._Febr._Mar._Abr._Mai._Jun._Jul._Ag._Set._Oct._Nov._Des.".split("_"),
+ weekdays : "Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte".split("_"),
+ weekdaysShort : "Dg._Dl._Dt._Dc._Dj._Dv._Ds.".split("_"),
+ weekdaysMin : "Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),
+ longDateFormat : {
+ LT : "H:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay : function () {
+ return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+ },
+ nextDay : function () {
+ return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+ },
+ nextWeek : function () {
+ return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+ },
+ lastDay : function () {
+ return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+ },
+ lastWeek : function () {
+ return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+ },
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "en %s",
+ past : "fa %s",
+ s : "uns segons",
+ m : "un minut",
+ mm : "%d minuts",
+ h : "una hora",
+ hh : "%d hores",
+ d : "un dia",
+ dd : "%d dies",
+ M : "un mes",
+ MM : "%d mesos",
+ y : "un any",
+ yy : "%d anys"
+ },
+ ordinal : '%dº',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : czech (cs)
+// author : petrbela : https://github.com/petrbela
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ var months = "leden_únor_bÅ™ezen_duben_kvÄ›ten_Äerven_Äervenec_srpen_září_říjen_listopad_prosinec".split("_"),
+ monthsShort = "led_úno_bÅ™e_dub_kvÄ›_Ävn_Ävc_srp_zář_říj_lis_pro".split("_");
+
+ function plural(n) {
+ return (n > 1) && (n < 5) && (~~(n / 10) !== 1);
+ }
+
+ function translate(number, withoutSuffix, key, isFuture) {
+ var result = number + " ";
+ switch (key) {
+ case 's': // a few seconds / in a few seconds / a few seconds ago
+ return (withoutSuffix || isFuture) ? 'pár vteřin' : 'pár vteřinami';
+ case 'm': // a minute / in a minute / a minute ago
+ return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');
+ case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'minuty' : 'minut');
+ } else {
+ return result + 'minutami';
+ }
+ break;
+ case 'h': // an hour / in an hour / an hour ago
+ return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
+ case 'hh': // 9 hours / in 9 hours / 9 hours ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'hodiny' : 'hodin');
+ } else {
+ return result + 'hodinami';
+ }
+ break;
+ case 'd': // a day / in a day / a day ago
+ return (withoutSuffix || isFuture) ? 'den' : 'dnem';
+ case 'dd': // 9 days / in 9 days / 9 days ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'dny' : 'dní');
+ } else {
+ return result + 'dny';
+ }
+ break;
+ case 'M': // a month / in a month / a month ago
+ return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';
+ case 'MM': // 9 months / in 9 months / 9 months ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'měsíce' : 'měsíců');
+ } else {
+ return result + 'měsíci';
+ }
+ break;
+ case 'y': // a year / in a year / a year ago
+ return (withoutSuffix || isFuture) ? 'rok' : 'rokem';
+ case 'yy': // 9 years / in 9 years / 9 years ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'roky' : 'let');
+ } else {
+ return result + 'lety';
+ }
+ break;
+ }
+ }
+
+ return moment.lang('cs', {
+ months : months,
+ monthsShort : monthsShort,
+ monthsParse : (function (months, monthsShort) {
+ var i, _monthsParse = [];
+ for (i = 0; i < 12; i++) {
+ // use custom parser to solve problem with July (Äervenec)
+ _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');
+ }
+ return _monthsParse;
+ }(months, monthsShort)),
+ weekdays : "nedÄ›le_pondÄ›lí_úterý_stÅ™eda_Ätvrtek_pátek_sobota".split("_"),
+ weekdaysShort : "ne_po_út_st_Ät_pá_so".split("_"),
+ weekdaysMin : "ne_po_út_st_Ät_pá_so".split("_"),
+ longDateFormat : {
+ LT: "H:mm",
+ L : "DD.MM.YYYY",
+ LL : "D. MMMM YYYY",
+ LLL : "D. MMMM YYYY LT",
+ LLLL : "dddd D. MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: "[dnes v] LT",
+ nextDay: '[zítra v] LT',
+ nextWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[v neděli v] LT';
+ case 1:
+ case 2:
+ return '[v] dddd [v] LT';
+ case 3:
+ return '[ve středu v] LT';
+ case 4:
+ return '[ve Ätvrtek v] LT';
+ case 5:
+ return '[v pátek v] LT';
+ case 6:
+ return '[v sobotu v] LT';
+ }
+ },
+ lastDay: '[vÄera v] LT',
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[minulou neděli v] LT';
+ case 1:
+ case 2:
+ return '[minulé] dddd [v] LT';
+ case 3:
+ return '[minulou středu v] LT';
+ case 4:
+ case 5:
+ return '[minulý] dddd [v] LT';
+ case 6:
+ return '[minulou sobotu v] LT';
+ }
+ },
+ sameElse: "L"
+ },
+ relativeTime : {
+ future : "za %s",
+ past : "před %s",
+ s : translate,
+ m : translate,
+ mm : translate,
+ h : translate,
+ hh : translate,
+ d : translate,
+ dd : translate,
+ M : translate,
+ MM : translate,
+ y : translate,
+ yy : translate
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : chuvash (cv)
+// author : Anatoly Mironov : https://github.com/mirontoli
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('cv', {
+ months : "кăрлач_нарăÑ_пуш_ака_май_çĕртме_утă_çурла_авăн_юпа_чӳк_раштав".split("_"),
+ monthsShort : "кăр_нар_пуш_ака_май_çĕр_утă_çур_ав_юпа_чӳк_раш".split("_"),
+ weekdays : "вырÑарникун_тунтикун_ытларикун_юнкун_кĕçнерникун_Ñрнекун_шăматкун".split("_"),
+ weekdaysShort : "выр_тун_ытл_юн_кĕç_Ñрн_шăм".split("_"),
+ weekdaysMin : "вр_тн_Ñ‹Ñ‚_юн_кç_ÑÑ€_шм".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD-MM-YYYY",
+ LL : "YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ]",
+ LLL : "YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT",
+ LLLL : "dddd, YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT"
+ },
+ calendar : {
+ sameDay: '[ПаÑн] LT [Ñехетре]',
+ nextDay: '[Ыран] LT [Ñехетре]',
+ lastDay: '[Ĕнер] LT [Ñехетре]',
+ nextWeek: '[ÇитеÑ] dddd LT [Ñехетре]',
+ lastWeek: '[Иртнĕ] dddd LT [Ñехетре]',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : function (output) {
+ var affix = /Ñехет$/i.exec(output) ? "рен" : /çул$/i.exec(output) ? "тан" : "ран";
+ return output + affix;
+ },
+ past : "%s каÑлла",
+ s : "пĕр-ик çеккунт",
+ m : "пĕр минут",
+ mm : "%d минут",
+ h : "пĕр Ñехет",
+ hh : "%d Ñехет",
+ d : "пĕр кун",
+ dd : "%d кун",
+ M : "пĕр уйăх",
+ MM : "%d уйăх",
+ y : "пĕр çул",
+ yy : "%d çул"
+ },
+ ordinal : '%d-мĕш',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : Welsh (cy)
+// author : Robert Allen
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang("cy", {
+ months: "Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),
+ monthsShort: "Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),
+ weekdays: "Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),
+ weekdaysShort: "Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),
+ weekdaysMin: "Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),
+ // time formats are the same as en-gb
+ longDateFormat: {
+ LT: "HH:mm",
+ L: "DD/MM/YYYY",
+ LL: "D MMMM YYYY",
+ LLL: "D MMMM YYYY LT",
+ LLLL: "dddd, D MMMM YYYY LT"
+ },
+ calendar: {
+ sameDay: '[Heddiw am] LT',
+ nextDay: '[Yfory am] LT',
+ nextWeek: 'dddd [am] LT',
+ lastDay: '[Ddoe am] LT',
+ lastWeek: 'dddd [diwethaf am] LT',
+ sameElse: 'L'
+ },
+ relativeTime: {
+ future: "mewn %s",
+ past: "%s yn &#244;l",
+ s: "ychydig eiliadau",
+ m: "munud",
+ mm: "%d munud",
+ h: "awr",
+ hh: "%d awr",
+ d: "diwrnod",
+ dd: "%d diwrnod",
+ M: "mis",
+ MM: "%d mis",
+ y: "blwyddyn",
+ yy: "%d flynedd"
+ },
+ // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
+ ordinal: function (number) {
+ var b = number,
+ output = '',
+ lookup = [
+ '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
+ 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
+ ];
+
+ if (b > 20) {
+ if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
+ output = 'fed'; // not 30ain, 70ain or 90ain
+ } else {
+ output = 'ain';
+ }
+ } else if (b > 0) {
+ output = lookup[b];
+ }
+
+ return number + output;
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : danish (da)
+// author : Ulrik Nielsen : https://github.com/mrbase
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('da', {
+ months : "januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),
+ monthsShort : "jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),
+ weekdays : "søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),
+ weekdaysShort : "søn_man_tir_ons_tor_fre_lør".split("_"),
+ weekdaysMin : "sø_ma_ti_on_to_fr_lø".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd D. MMMM, YYYY LT"
+ },
+ calendar : {
+ sameDay : '[I dag kl.] LT',
+ nextDay : '[I morgen kl.] LT',
+ nextWeek : 'dddd [kl.] LT',
+ lastDay : '[I går kl.] LT',
+ lastWeek : '[sidste] dddd [kl] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "om %s",
+ past : "%s siden",
+ s : "få sekunder",
+ m : "et minut",
+ mm : "%d minutter",
+ h : "en time",
+ hh : "%d timer",
+ d : "en dag",
+ dd : "%d dage",
+ M : "en måned",
+ MM : "%d måneder",
+ y : "et år",
+ yy : "%d år"
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : german (de)
+// author : lluchs : https://github.com/lluchs
+// author: Menelion Elensúle: https://github.com/Oire
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
+ var format = {
+ 'm': ['eine Minute', 'einer Minute'],
+ 'h': ['eine Stunde', 'einer Stunde'],
+ 'd': ['ein Tag', 'einem Tag'],
+ 'dd': [number + ' Tage', number + ' Tagen'],
+ 'M': ['ein Monat', 'einem Monat'],
+ 'MM': [number + ' Monate', number + ' Monaten'],
+ 'y': ['ein Jahr', 'einem Jahr'],
+ 'yy': [number + ' Jahre', number + ' Jahren']
+ };
+ return withoutSuffix ? format[key][0] : format[key][1];
+ }
+
+ return moment.lang('de', {
+ months : "Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),
+ monthsShort : "Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),
+ weekdays : "Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),
+ weekdaysShort : "So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),
+ weekdaysMin : "So_Mo_Di_Mi_Do_Fr_Sa".split("_"),
+ longDateFormat : {
+ LT: "H:mm [Uhr]",
+ L : "DD.MM.YYYY",
+ LL : "D. MMMM YYYY",
+ LLL : "D. MMMM YYYY LT",
+ LLLL : "dddd, D. MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: "[Heute um] LT",
+ sameElse: "L",
+ nextDay: '[Morgen um] LT',
+ nextWeek: 'dddd [um] LT',
+ lastDay: '[Gestern um] LT',
+ lastWeek: '[letzten] dddd [um] LT'
+ },
+ relativeTime : {
+ future : "in %s",
+ past : "vor %s",
+ s : "ein paar Sekunden",
+ m : processRelativeTime,
+ mm : "%d Minuten",
+ h : processRelativeTime,
+ hh : "%d Stunden",
+ d : processRelativeTime,
+ dd : processRelativeTime,
+ M : processRelativeTime,
+ MM : processRelativeTime,
+ y : processRelativeTime,
+ yy : processRelativeTime
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : modern greek (el)
+// author : Aggelos Karalias : https://github.com/mehiel
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('el', {
+ monthsNominativeEl : "ΙανουάÏιος_ΦεβÏουάÏιος_ΜάÏτιος_ΑπÏίλιος_Μάιος_ΙοÏνιος_ΙοÏλιος_ΑÏγουστος_ΣεπτέμβÏιος_ΟκτώβÏιος_ÎοέμβÏιος_ΔεκέμβÏιος".split("_"),
+ monthsGenitiveEl : "ΙανουαÏίου_ΦεβÏουαÏίου_ΜαÏτίου_ΑπÏιλίου_ΜαÎου_Ιουνίου_Ιουλίου_ΑυγοÏστου_ΣεπτεμβÏίου_ΟκτωβÏίου_ÎοεμβÏίου_ΔεκεμβÏίου".split("_"),
+ months : function (momentToFormat, format) {
+ if (/D/.test(format.substring(0, format.indexOf("MMMM")))) { // if there is a day number before 'MMMM'
+ return this._monthsGenitiveEl[momentToFormat.month()];
+ } else {
+ return this._monthsNominativeEl[momentToFormat.month()];
+ }
+ },
+ monthsShort : "Ιαν_Φεβ_ΜαÏ_ΑπÏ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Îοε_Δεκ".split("_"),
+ weekdays : "ΚυÏιακή_ΔευτέÏα_ΤÏίτη_ΤετάÏτη_Πέμπτη_ΠαÏασκευή_Σάββατο".split("_"),
+ weekdaysShort : "ΚυÏ_Δευ_ΤÏι_Τετ_Πεμ_ΠαÏ_Σαβ".split("_"),
+ weekdaysMin : "Κυ_Δε_ΤÏ_Τε_Πε_Πα_Σα".split("_"),
+ meridiem : function (hours, minutes, isLower) {
+ if (hours > 11) {
+ return isLower ? 'μμ' : 'ΜΜ';
+ } else {
+ return isLower ? 'πμ' : 'ΠΜ';
+ }
+ },
+ longDateFormat : {
+ LT : "h:mm A",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd, D MMMM YYYY LT"
+ },
+ calendarEl : {
+ sameDay : '[ΣήμεÏα {}] LT',
+ nextDay : '[ΑÏÏιο {}] LT',
+ nextWeek : 'dddd [{}] LT',
+ lastDay : '[Χθες {}] LT',
+ lastWeek : '[την Ï€ÏοηγοÏμενη] dddd [{}] LT',
+ sameElse : 'L'
+ },
+ calendar : function (key, mom) {
+ var output = this._calendarEl[key],
+ hours = mom && mom.hours();
+
+ return output.replace("{}", (hours % 12 === 1 ? "στη" : "στις"));
+ },
+ relativeTime : {
+ future : "σε %s",
+ past : "%s Ï€Ïιν",
+ s : "δευτεÏόλεπτα",
+ m : "ένα λεπτό",
+ mm : "%d λεπτά",
+ h : "μία ÏŽÏα",
+ hh : "%d ÏŽÏες",
+ d : "μία μέÏα",
+ dd : "%d μέÏες",
+ M : "ένας μήνας",
+ MM : "%d μήνες",
+ y : "ένας χÏόνος",
+ yy : "%d χÏόνια"
+ },
+ ordinal : function (number) {
+ return number + 'η';
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : australian english (en-au)
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('en-au', {
+ months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
+ monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
+ weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
+ weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
+ weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
+ longDateFormat : {
+ LT : "h:mm A",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd, D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay : '[Today at] LT',
+ nextDay : '[Tomorrow at] LT',
+ nextWeek : 'dddd [at] LT',
+ lastDay : '[Yesterday at] LT',
+ lastWeek : '[Last] dddd [at] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "in %s",
+ past : "%s ago",
+ s : "a few seconds",
+ m : "a minute",
+ mm : "%d minutes",
+ h : "an hour",
+ hh : "%d hours",
+ d : "a day",
+ dd : "%d days",
+ M : "a month",
+ MM : "%d months",
+ y : "a year",
+ yy : "%d years"
+ },
+ ordinal : function (number) {
+ var b = number % 10,
+ output = (~~ (number % 100 / 10) === 1) ? 'th' :
+ (b === 1) ? 'st' :
+ (b === 2) ? 'nd' :
+ (b === 3) ? 'rd' : 'th';
+ return number + output;
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : canadian english (en-ca)
+// author : Jonathan Abourbih : https://github.com/jonbca
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('en-ca', {
+ months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
+ monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
+ weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
+ weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
+ weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
+ longDateFormat : {
+ LT : "h:mm A",
+ L : "YYYY-MM-DD",
+ LL : "D MMMM, YYYY",
+ LLL : "D MMMM, YYYY LT",
+ LLLL : "dddd, D MMMM, YYYY LT"
+ },
+ calendar : {
+ sameDay : '[Today at] LT',
+ nextDay : '[Tomorrow at] LT',
+ nextWeek : 'dddd [at] LT',
+ lastDay : '[Yesterday at] LT',
+ lastWeek : '[Last] dddd [at] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "in %s",
+ past : "%s ago",
+ s : "a few seconds",
+ m : "a minute",
+ mm : "%d minutes",
+ h : "an hour",
+ hh : "%d hours",
+ d : "a day",
+ dd : "%d days",
+ M : "a month",
+ MM : "%d months",
+ y : "a year",
+ yy : "%d years"
+ },
+ ordinal : function (number) {
+ var b = number % 10,
+ output = (~~ (number % 100 / 10) === 1) ? 'th' :
+ (b === 1) ? 'st' :
+ (b === 2) ? 'nd' :
+ (b === 3) ? 'rd' : 'th';
+ return number + output;
+ }
+ });
+}));
+// moment.js language configuration
+// language : great britain english (en-gb)
+// author : Chris Gedrim : https://github.com/chrisgedrim
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('en-gb', {
+ months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
+ monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
+ weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
+ weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
+ weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd, D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay : '[Today at] LT',
+ nextDay : '[Tomorrow at] LT',
+ nextWeek : 'dddd [at] LT',
+ lastDay : '[Yesterday at] LT',
+ lastWeek : '[Last] dddd [at] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "in %s",
+ past : "%s ago",
+ s : "a few seconds",
+ m : "a minute",
+ mm : "%d minutes",
+ h : "an hour",
+ hh : "%d hours",
+ d : "a day",
+ dd : "%d days",
+ M : "a month",
+ MM : "%d months",
+ y : "a year",
+ yy : "%d years"
+ },
+ ordinal : function (number) {
+ var b = number % 10,
+ output = (~~ (number % 100 / 10) === 1) ? 'th' :
+ (b === 1) ? 'st' :
+ (b === 2) ? 'nd' :
+ (b === 3) ? 'rd' : 'th';
+ return number + output;
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : esperanto (eo)
+// author : Colin Dean : https://github.com/colindean
+// komento: Mi estas malcerta se mi korekte traktis akuzativojn en tiu traduko.
+// Se ne, bonvolu korekti kaj avizi min por ke mi povas lerni!
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('eo', {
+ months : "januaro_februaro_marto_aprilo_majo_junio_julio_aÅ­gusto_septembro_oktobro_novembro_decembro".split("_"),
+ monthsShort : "jan_feb_mar_apr_maj_jun_jul_aÅ­g_sep_okt_nov_dec".split("_"),
+ weekdays : "Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato".split("_"),
+ weekdaysShort : "Dim_Lun_Mard_Merk_Ä´aÅ­_Ven_Sab".split("_"),
+ weekdaysMin : "Di_Lu_Ma_Me_Ä´a_Ve_Sa".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "YYYY-MM-DD",
+ LL : "D[-an de] MMMM, YYYY",
+ LLL : "D[-an de] MMMM, YYYY LT",
+ LLLL : "dddd, [la] D[-an de] MMMM, YYYY LT"
+ },
+ meridiem : function (hours, minutes, isLower) {
+ if (hours > 11) {
+ return isLower ? 'p.t.m.' : 'P.T.M.';
+ } else {
+ return isLower ? 'a.t.m.' : 'A.T.M.';
+ }
+ },
+ calendar : {
+ sameDay : '[HodiaÅ­ je] LT',
+ nextDay : '[MorgaÅ­ je] LT',
+ nextWeek : 'dddd [je] LT',
+ lastDay : '[HieraÅ­ je] LT',
+ lastWeek : '[pasinta] dddd [je] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "je %s",
+ past : "antaÅ­ %s",
+ s : "sekundoj",
+ m : "minuto",
+ mm : "%d minutoj",
+ h : "horo",
+ hh : "%d horoj",
+ d : "tago",//ne 'diurno', ĉar estas uzita por proksimumo
+ dd : "%d tagoj",
+ M : "monato",
+ MM : "%d monatoj",
+ y : "jaro",
+ yy : "%d jaroj"
+ },
+ ordinal : "%da",
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : spanish (es)
+// author : Julio Napurí : https://github.com/julionc
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('es', {
+ months : "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),
+ monthsShort : "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
+ weekdays : "domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),
+ weekdaysShort : "dom._lun._mar._mié._jue._vie._sáb.".split("_"),
+ weekdaysMin : "Do_Lu_Ma_Mi_Ju_Vi_Sá".split("_"),
+ longDateFormat : {
+ LT : "H:mm",
+ L : "DD/MM/YYYY",
+ LL : "D [de] MMMM [de] YYYY",
+ LLL : "D [de] MMMM [de] YYYY LT",
+ LLLL : "dddd, D [de] MMMM [de] YYYY LT"
+ },
+ calendar : {
+ sameDay : function () {
+ return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+ },
+ nextDay : function () {
+ return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+ },
+ nextWeek : function () {
+ return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+ },
+ lastDay : function () {
+ return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+ },
+ lastWeek : function () {
+ return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+ },
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "en %s",
+ past : "hace %s",
+ s : "unos segundos",
+ m : "un minuto",
+ mm : "%d minutos",
+ h : "una hora",
+ hh : "%d horas",
+ d : "un día",
+ dd : "%d días",
+ M : "un mes",
+ MM : "%d meses",
+ y : "un año",
+ yy : "%d años"
+ },
+ ordinal : '%dº',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : estonian (et)
+// author : Henry Kehlmann : https://github.com/madhenry
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ function translateSeconds(number, withoutSuffix, key, isFuture) {
+ return (isFuture || withoutSuffix) ? 'paari sekundi' : 'paar sekundit';
+ }
+
+ return moment.lang('et', {
+ months : "jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),
+ monthsShort : "jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),
+ weekdays : "pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),
+ weekdaysShort : "P_E_T_K_N_R_L".split("_"),
+ weekdaysMin : "P_E_T_K_N_R_L".split("_"),
+ longDateFormat : {
+ LT : "H:mm",
+ L : "DD.MM.YYYY",
+ LL : "D. MMMM YYYY",
+ LLL : "D. MMMM YYYY LT",
+ LLLL : "dddd, D. MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay : '[Täna,] LT',
+ nextDay : '[Homme,] LT',
+ nextWeek : '[Järgmine] dddd LT',
+ lastDay : '[Eile,] LT',
+ lastWeek : '[Eelmine] dddd LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "%s pärast",
+ past : "%s tagasi",
+ s : translateSeconds,
+ m : "minut",
+ mm : "%d minutit",
+ h : "tund",
+ hh : "%d tundi",
+ d : "päev",
+ dd : "%d päeva",
+ M : "kuu",
+ MM : "%d kuud",
+ y : "aasta",
+ yy : "%d aastat"
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : euskara (eu)
+// author : Eneko Illarramendi : https://github.com/eillarra
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('eu', {
+ months : "urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),
+ monthsShort : "urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),
+ weekdays : "igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),
+ weekdaysShort : "ig._al._ar._az._og._ol._lr.".split("_"),
+ weekdaysMin : "ig_al_ar_az_og_ol_lr".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "YYYY-MM-DD",
+ LL : "YYYY[ko] MMMM[ren] D[a]",
+ LLL : "YYYY[ko] MMMM[ren] D[a] LT",
+ LLLL : "dddd, YYYY[ko] MMMM[ren] D[a] LT",
+ l : "YYYY-M-D",
+ ll : "YYYY[ko] MMM D[a]",
+ lll : "YYYY[ko] MMM D[a] LT",
+ llll : "ddd, YYYY[ko] MMM D[a] LT"
+ },
+ calendar : {
+ sameDay : '[gaur] LT[etan]',
+ nextDay : '[bihar] LT[etan]',
+ nextWeek : 'dddd LT[etan]',
+ lastDay : '[atzo] LT[etan]',
+ lastWeek : '[aurreko] dddd LT[etan]',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "%s barru",
+ past : "duela %s",
+ s : "segundo batzuk",
+ m : "minutu bat",
+ mm : "%d minutu",
+ h : "ordu bat",
+ hh : "%d ordu",
+ d : "egun bat",
+ dd : "%d egun",
+ M : "hilabete bat",
+ MM : "%d hilabete",
+ y : "urte bat",
+ yy : "%d urte"
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : Persian Language
+// author : Ebrahim Byagowi : https://github.com/ebraminio
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ var symbolMap = {
+ '1': 'Û±',
+ '2': 'Û²',
+ '3': 'Û³',
+ '4': 'Û´',
+ '5': 'Ûµ',
+ '6': 'Û¶',
+ '7': 'Û·',
+ '8': 'Û¸',
+ '9': 'Û¹',
+ '0': 'Û°'
+ }, numberMap = {
+ 'Û±': '1',
+ 'Û²': '2',
+ 'Û³': '3',
+ 'Û´': '4',
+ 'Ûµ': '5',
+ 'Û¶': '6',
+ 'Û·': '7',
+ 'Û¸': '8',
+ 'Û¹': '9',
+ 'Û°': '0'
+ };
+
+ return moment.lang('fa', {
+ months : 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
+ monthsShort : 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
+ weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
+ weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
+ weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),
+ longDateFormat : {
+ LT : 'HH:mm',
+ L : 'DD/MM/YYYY',
+ LL : 'D MMMM YYYY',
+ LLL : 'D MMMM YYYY LT',
+ LLLL : 'dddd, D MMMM YYYY LT'
+ },
+ meridiem : function (hour, minute, isLower) {
+ if (hour < 12) {
+ return "قبل از ظهر";
+ } else {
+ return "بعد از ظهر";
+ }
+ },
+ calendar : {
+ sameDay : '[امروز ساعت] LT',
+ nextDay : '[Ùردا ساعت] LT',
+ nextWeek : 'dddd [ساعت] LT',
+ lastDay : '[دیروز ساعت] LT',
+ lastWeek : 'dddd [پیش] [ساعت] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : 'در %s',
+ past : '%s پیش',
+ s : 'چندین ثانیه',
+ m : 'یک دقیقه',
+ mm : '%d دقیقه',
+ h : 'یک ساعت',
+ hh : '%d ساعت',
+ d : 'یک روز',
+ dd : '%d روز',
+ M : 'یک ماه',
+ MM : '%d ماه',
+ y : 'یک سال',
+ yy : '%d سال'
+ },
+ preparse: function (string) {
+ return string.replace(/[Û°-Û¹]/g, function (match) {
+ return numberMap[match];
+ }).replace(/،/g, ',');
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ }).replace(/,/g, '،');
+ },
+ ordinal : '%dÙ…',
+ week : {
+ dow : 6, // Saturday is the first day of the week.
+ doy : 12 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : finnish (fi)
+// author : Tarmo Aidantausta : https://github.com/bleadof
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ var numbers_past = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
+ numbers_future = ['nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',
+ numbers_past[7], numbers_past[8], numbers_past[9]];
+
+ function translate(number, withoutSuffix, key, isFuture) {
+ var result = "";
+ switch (key) {
+ case 's':
+ return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
+ case 'm':
+ return isFuture ? 'minuutin' : 'minuutti';
+ case 'mm':
+ result = isFuture ? 'minuutin' : 'minuuttia';
+ break;
+ case 'h':
+ return isFuture ? 'tunnin' : 'tunti';
+ case 'hh':
+ result = isFuture ? 'tunnin' : 'tuntia';
+ break;
+ case 'd':
+ return isFuture ? 'päivän' : 'päivä';
+ case 'dd':
+ result = isFuture ? 'päivän' : 'päivää';
+ break;
+ case 'M':
+ return isFuture ? 'kuukauden' : 'kuukausi';
+ case 'MM':
+ result = isFuture ? 'kuukauden' : 'kuukautta';
+ break;
+ case 'y':
+ return isFuture ? 'vuoden' : 'vuosi';
+ case 'yy':
+ result = isFuture ? 'vuoden' : 'vuotta';
+ break;
+ }
+ result = verbal_number(number, isFuture) + " " + result;
+ return result;
+ }
+
+ function verbal_number(number, isFuture) {
+ return number < 10 ? (isFuture ? numbers_future[number] : numbers_past[number]) : number;
+ }
+
+ return moment.lang('fi', {
+ months : "tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),
+ monthsShort : "tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),
+ weekdays : "sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),
+ weekdaysShort : "su_ma_ti_ke_to_pe_la".split("_"),
+ weekdaysMin : "su_ma_ti_ke_to_pe_la".split("_"),
+ longDateFormat : {
+ LT : "HH.mm",
+ L : "DD.MM.YYYY",
+ LL : "Do MMMM[ta] YYYY",
+ LLL : "Do MMMM[ta] YYYY, [klo] LT",
+ LLLL : "dddd, Do MMMM[ta] YYYY, [klo] LT",
+ l : "D.M.YYYY",
+ ll : "Do MMM YYYY",
+ lll : "Do MMM YYYY, [klo] LT",
+ llll : "ddd, Do MMM YYYY, [klo] LT"
+ },
+ calendar : {
+ sameDay : '[tänään] [klo] LT',
+ nextDay : '[huomenna] [klo] LT',
+ nextWeek : 'dddd [klo] LT',
+ lastDay : '[eilen] [klo] LT',
+ lastWeek : '[viime] dddd[na] [klo] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "%s päästä",
+ past : "%s sitten",
+ s : translate,
+ m : translate,
+ mm : translate,
+ h : translate,
+ hh : translate,
+ d : translate,
+ dd : translate,
+ M : translate,
+ MM : translate,
+ y : translate,
+ yy : translate
+ },
+ ordinal : "%d.",
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : faroese (fo)
+// author : Ragnar Johannesen : https://github.com/ragnar123
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('fo', {
+ months : "januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),
+ monthsShort : "jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),
+ weekdays : "sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),
+ weekdaysShort : "sun_mán_týs_mik_hós_frí_ley".split("_"),
+ weekdaysMin : "su_má_tý_mi_hó_fr_le".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd D. MMMM, YYYY LT"
+ },
+ calendar : {
+ sameDay : '[Ã dag kl.] LT',
+ nextDay : '[Ã morgin kl.] LT',
+ nextWeek : 'dddd [kl.] LT',
+ lastDay : '[à gjár kl.] LT',
+ lastWeek : '[síðstu] dddd [kl] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "um %s",
+ past : "%s síðani",
+ s : "fá sekund",
+ m : "ein minutt",
+ mm : "%d minuttir",
+ h : "ein tími",
+ hh : "%d tímar",
+ d : "ein dagur",
+ dd : "%d dagar",
+ M : "ein mánaði",
+ MM : "%d mánaðir",
+ y : "eitt ár",
+ yy : "%d ár"
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : canadian french (fr-ca)
+// author : Jonathan Abourbih : https://github.com/jonbca
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('fr-ca', {
+ months : "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),
+ monthsShort : "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),
+ weekdays : "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),
+ weekdaysShort : "dim._lun._mar._mer._jeu._ven._sam.".split("_"),
+ weekdaysMin : "Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "YYYY-MM-DD",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: "[Aujourd'hui à] LT",
+ nextDay: '[Demain à] LT',
+ nextWeek: 'dddd [à] LT',
+ lastDay: '[Hier à] LT',
+ lastWeek: 'dddd [dernier à] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "dans %s",
+ past : "il y a %s",
+ s : "quelques secondes",
+ m : "une minute",
+ mm : "%d minutes",
+ h : "une heure",
+ hh : "%d heures",
+ d : "un jour",
+ dd : "%d jours",
+ M : "un mois",
+ MM : "%d mois",
+ y : "un an",
+ yy : "%d ans"
+ },
+ ordinal : function (number) {
+ return number + (number === 1 ? 'er' : '');
+ }
+ });
+}));
+// moment.js language configuration
+// language : french (fr)
+// author : John Fischer : https://github.com/jfroffice
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('fr', {
+ months : "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),
+ monthsShort : "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),
+ weekdays : "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),
+ weekdaysShort : "dim._lun._mar._mer._jeu._ven._sam.".split("_"),
+ weekdaysMin : "Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: "[Aujourd'hui à] LT",
+ nextDay: '[Demain à] LT',
+ nextWeek: 'dddd [à] LT',
+ lastDay: '[Hier à] LT',
+ lastWeek: 'dddd [dernier à] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "dans %s",
+ past : "il y a %s",
+ s : "quelques secondes",
+ m : "une minute",
+ mm : "%d minutes",
+ h : "une heure",
+ hh : "%d heures",
+ d : "un jour",
+ dd : "%d jours",
+ M : "un mois",
+ MM : "%d mois",
+ y : "un an",
+ yy : "%d ans"
+ },
+ ordinal : function (number) {
+ return number + (number === 1 ? 'er' : '');
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : galician (gl)
+// author : Juan G. Hurtado : https://github.com/juanghurtado
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('gl', {
+ months : "Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"),
+ monthsShort : "Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.".split("_"),
+ weekdays : "Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado".split("_"),
+ weekdaysShort : "Dom._Lun._Mar._Mér._Xov._Ven._Sáb.".split("_"),
+ weekdaysMin : "Do_Lu_Ma_Mé_Xo_Ve_Sá".split("_"),
+ longDateFormat : {
+ LT : "H:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay : function () {
+ return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
+ },
+ nextDay : function () {
+ return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
+ },
+ nextWeek : function () {
+ return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
+ },
+ lastDay : function () {
+ return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';
+ },
+ lastWeek : function () {
+ return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
+ },
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : function (str) {
+ if (str === "uns segundos") {
+ return "nuns segundos";
+ }
+ return "en " + str;
+ },
+ past : "hai %s",
+ s : "uns segundos",
+ m : "un minuto",
+ mm : "%d minutos",
+ h : "unha hora",
+ hh : "%d horas",
+ d : "un día",
+ dd : "%d días",
+ M : "un mes",
+ MM : "%d meses",
+ y : "un ano",
+ yy : "%d anos"
+ },
+ ordinal : '%dº',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : Hebrew (he)
+// author : Tomer Cohen : https://github.com/tomer
+// author : Moshe Simantov : https://github.com/DevelopmentIL
+// author : Tal Ater : https://github.com/TalAter
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('he', {
+ months : "ינו×ר_פברו×ר_מרץ_×פריל_מ××™_יוני_יולי_×וגוסט_ספטמבר_×וקטובר_נובמבר_דצמבר".split("_"),
+ monthsShort : "ינו׳_פבר׳_מרץ_×פר׳_מ××™_יוני_יולי_×וג׳_ספט׳_×וק׳_נוב׳_דצמ׳".split("_"),
+ weekdays : "ר×שון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),
+ weekdaysShort : "×׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),
+ weekdaysMin : "×_ב_×’_ד_×”_ו_ש".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D [ב]MMMM YYYY",
+ LLL : "D [ב]MMMM YYYY LT",
+ LLLL : "dddd, D [ב]MMMM YYYY LT",
+ l : "D/M/YYYY",
+ ll : "D MMM YYYY",
+ lll : "D MMM YYYY LT",
+ llll : "ddd, D MMM YYYY LT"
+ },
+ calendar : {
+ sameDay : '[×”×™×•× ×‘Ö¾]LT',
+ nextDay : '[מחר ב־]LT',
+ nextWeek : 'dddd [בשעה] LT',
+ lastDay : '[×תמול ב־]LT',
+ lastWeek : '[ביו×] dddd [×”×חרון בשעה] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "בעוד %s",
+ past : "לפני %s",
+ s : "מספר שניות",
+ m : "דקה",
+ mm : "%d דקות",
+ h : "שעה",
+ hh : function (number) {
+ if (number === 2) {
+ return "שעתיי×";
+ }
+ return number + " שעות";
+ },
+ d : "יו×",
+ dd : function (number) {
+ if (number === 2) {
+ return "יומיי×";
+ }
+ return number + " ימי×";
+ },
+ M : "חודש",
+ MM : function (number) {
+ if (number === 2) {
+ return "חודשיי×";
+ }
+ return number + " חודשי×";
+ },
+ y : "שנה",
+ yy : function (number) {
+ if (number === 2) {
+ return "שנתיי×";
+ }
+ return number + " שני×";
+ }
+ }
+ });
+}));
+// moment.js language configuration
+// language : hindi (hi)
+// author : Mayank Singhal : https://github.com/mayanksinghal
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ var symbolMap = {
+ '1': '१',
+ '2': '२',
+ '3': '३',
+ '4': '४',
+ '5': '५',
+ '6': '६',
+ '7': '७',
+ '8': '८',
+ '9': '९',
+ '0': '०'
+ },
+ numberMap = {
+ '१': '1',
+ '२': '2',
+ '३': '3',
+ '४': '4',
+ '५': '5',
+ '६': '6',
+ '७': '7',
+ '८': '8',
+ '९': '9',
+ '०': '0'
+ };
+
+ return moment.lang('hi', {
+ months : 'जनवरी_फ़रवरी_मारà¥à¤š_अपà¥à¤°à¥ˆà¤²_मई_जून_जà¥à¤²à¤¾à¤ˆ_अगसà¥à¤¤_सितमà¥à¤¬à¤°_अकà¥à¤Ÿà¥‚बर_नवमà¥à¤¬à¤°_दिसमà¥à¤¬à¤°'.split("_"),
+ monthsShort : 'जन._फ़र._मारà¥à¤š_अपà¥à¤°à¥ˆ._मई_जून_जà¥à¤²._अग._सित._अकà¥à¤Ÿà¥‚._नव._दिस.'.split("_"),
+ weekdays : 'रविवार_सोमवार_मंगलवार_बà¥à¤§à¤µà¤¾à¤°_गà¥à¤°à¥‚वार_शà¥à¤•à¥à¤°à¤µà¤¾à¤°_शनिवार'.split("_"),
+ weekdaysShort : 'रवि_सोम_मंगल_बà¥à¤§_गà¥à¤°à¥‚_शà¥à¤•à¥à¤°_शनि'.split("_"),
+ weekdaysMin : 'र_सो_मं_बà¥_गà¥_शà¥_श'.split("_"),
+ longDateFormat : {
+ LT : "A h:mm बजे",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY, LT",
+ LLLL : "dddd, D MMMM YYYY, LT"
+ },
+ calendar : {
+ sameDay : '[आज] LT',
+ nextDay : '[कल] LT',
+ nextWeek : 'dddd, LT',
+ lastDay : '[कल] LT',
+ lastWeek : '[पिछले] dddd, LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "%s में",
+ past : "%s पहले",
+ s : "कà¥à¤› ही कà¥à¤·à¤£",
+ m : "à¤à¤• मिनट",
+ mm : "%d मिनट",
+ h : "à¤à¤• घंटा",
+ hh : "%d घंटे",
+ d : "à¤à¤• दिन",
+ dd : "%d दिन",
+ M : "à¤à¤• महीने",
+ MM : "%d महीने",
+ y : "à¤à¤• वरà¥à¤·",
+ yy : "%d वरà¥à¤·"
+ },
+ preparse: function (string) {
+ return string.replace(/[१२३४५६७८९०]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ // Hindi notation for meridiems are quite fuzzy in practice. While there exists
+ // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
+ meridiem : function (hour, minute, isLower) {
+ if (hour < 4) {
+ return "रात";
+ } else if (hour < 10) {
+ return "सà¥à¤¬à¤¹";
+ } else if (hour < 17) {
+ return "दोपहर";
+ } else if (hour < 20) {
+ return "शाम";
+ } else {
+ return "रात";
+ }
+ },
+ week : {
+ dow : 0, // Sunday is the first day of the week.
+ doy : 6 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : hrvatski (hr)
+// author : Bojan Marković : https://github.com/bmarkovic
+
+// based on (sl) translation by Robert Sedovšek
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+
+ function translate(number, withoutSuffix, key) {
+ var result = number + " ";
+ switch (key) {
+ case 'm':
+ return withoutSuffix ? 'jedna minuta' : 'jedne minute';
+ case 'mm':
+ if (number === 1) {
+ result += 'minuta';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'minute';
+ } else {
+ result += 'minuta';
+ }
+ return result;
+ case 'h':
+ return withoutSuffix ? 'jedan sat' : 'jednog sata';
+ case 'hh':
+ if (number === 1) {
+ result += 'sat';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'sata';
+ } else {
+ result += 'sati';
+ }
+ return result;
+ case 'dd':
+ if (number === 1) {
+ result += 'dan';
+ } else {
+ result += 'dana';
+ }
+ return result;
+ case 'MM':
+ if (number === 1) {
+ result += 'mjesec';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'mjeseca';
+ } else {
+ result += 'mjeseci';
+ }
+ return result;
+ case 'yy':
+ if (number === 1) {
+ result += 'godina';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'godine';
+ } else {
+ result += 'godina';
+ }
+ return result;
+ }
+ }
+
+ return moment.lang('hr', {
+ months : "sjeÄanj_veljaÄa_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_"),
+ monthsShort : "sje._vel._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),
+ weekdays : "nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota".split("_"),
+ weekdaysShort : "ned._pon._uto._sri._Äet._pet._sub.".split("_"),
+ weekdaysMin : "ne_po_ut_sr_Äe_pe_su".split("_"),
+ longDateFormat : {
+ LT : "H:mm",
+ L : "DD. MM. YYYY",
+ LL : "D. MMMM YYYY",
+ LLL : "D. MMMM YYYY LT",
+ LLLL : "dddd, D. MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay : '[danas u] LT',
+ nextDay : '[sutra u] LT',
+
+ nextWeek : function () {
+ switch (this.day()) {
+ case 0:
+ return '[u] [nedjelju] [u] LT';
+ case 3:
+ return '[u] [srijedu] [u] LT';
+ case 6:
+ return '[u] [subotu] [u] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[u] dddd [u] LT';
+ }
+ },
+ lastDay : '[juÄer u] LT',
+ lastWeek : function () {
+ switch (this.day()) {
+ case 0:
+ case 3:
+ return '[prošlu] dddd [u] LT';
+ case 6:
+ return '[prošle] [subote] [u] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[prošli] dddd [u] LT';
+ }
+ },
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "za %s",
+ past : "prije %s",
+ s : "par sekundi",
+ m : translate,
+ mm : translate,
+ h : translate,
+ hh : translate,
+ d : "dan",
+ dd : translate,
+ M : "mjesec",
+ MM : translate,
+ y : "godinu",
+ yy : translate
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : hungarian (hu)
+// author : Adam Brunner : https://github.com/adambrunner
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
+
+ function translate(number, withoutSuffix, key, isFuture) {
+ var num = number,
+ suffix;
+
+ switch (key) {
+ case 's':
+ return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';
+ case 'm':
+ return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
+ case 'mm':
+ return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
+ case 'h':
+ return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
+ case 'hh':
+ return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
+ case 'd':
+ return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
+ case 'dd':
+ return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
+ case 'M':
+ return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
+ case 'MM':
+ return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
+ case 'y':
+ return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
+ case 'yy':
+ return num + (isFuture || withoutSuffix ? ' év' : ' éve');
+ }
+
+ return '';
+ }
+
+ function week(isFuture) {
+ return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';
+ }
+
+ return moment.lang('hu', {
+ months : "január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),
+ monthsShort : "jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),
+ weekdays : "vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),
+ weekdaysShort : "vas_hét_kedd_sze_csüt_pén_szo".split("_"),
+ weekdaysMin : "v_h_k_sze_cs_p_szo".split("_"),
+ longDateFormat : {
+ LT : "H:mm",
+ L : "YYYY.MM.DD.",
+ LL : "YYYY. MMMM D.",
+ LLL : "YYYY. MMMM D., LT",
+ LLLL : "YYYY. MMMM D., dddd LT"
+ },
+ calendar : {
+ sameDay : '[ma] LT[-kor]',
+ nextDay : '[holnap] LT[-kor]',
+ nextWeek : function () {
+ return week.call(this, true);
+ },
+ lastDay : '[tegnap] LT[-kor]',
+ lastWeek : function () {
+ return week.call(this, false);
+ },
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "%s múlva",
+ past : "%s",
+ s : translate,
+ m : translate,
+ mm : translate,
+ h : translate,
+ hh : translate,
+ d : translate,
+ dd : translate,
+ M : translate,
+ MM : translate,
+ y : translate,
+ yy : translate
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : Bahasa Indonesia (id)
+// author : Mohammad Satrio Utomo : https://github.com/tyok
+// reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('id', {
+ months : "Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),
+ monthsShort : "Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),
+ weekdays : "Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),
+ weekdaysShort : "Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),
+ weekdaysMin : "Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),
+ longDateFormat : {
+ LT : "HH.mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY [pukul] LT",
+ LLLL : "dddd, D MMMM YYYY [pukul] LT"
+ },
+ meridiem : function (hours, minutes, isLower) {
+ if (hours < 11) {
+ return 'pagi';
+ } else if (hours < 15) {
+ return 'siang';
+ } else if (hours < 19) {
+ return 'sore';
+ } else {
+ return 'malam';
+ }
+ },
+ calendar : {
+ sameDay : '[Hari ini pukul] LT',
+ nextDay : '[Besok pukul] LT',
+ nextWeek : 'dddd [pukul] LT',
+ lastDay : '[Kemarin pukul] LT',
+ lastWeek : 'dddd [lalu pukul] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "dalam %s",
+ past : "%s yang lalu",
+ s : "beberapa detik",
+ m : "semenit",
+ mm : "%d menit",
+ h : "sejam",
+ hh : "%d jam",
+ d : "sehari",
+ dd : "%d hari",
+ M : "sebulan",
+ MM : "%d bulan",
+ y : "setahun",
+ yy : "%d tahun"
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : icelandic (is)
+// author : Hinrik Örn Sigurðsson : https://github.com/hinrik
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ function plural(n) {
+ if (n % 100 === 11) {
+ return true;
+ } else if (n % 10 === 1) {
+ return false;
+ }
+ return true;
+ }
+
+ function translate(number, withoutSuffix, key, isFuture) {
+ var result = number + " ";
+ switch (key) {
+ case 's':
+ return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';
+ case 'm':
+ return withoutSuffix ? 'mínúta' : 'mínútu';
+ case 'mm':
+ if (plural(number)) {
+ return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');
+ } else if (withoutSuffix) {
+ return result + 'mínúta';
+ }
+ return result + 'mínútu';
+ case 'hh':
+ if (plural(number)) {
+ return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');
+ }
+ return result + 'klukkustund';
+ case 'd':
+ if (withoutSuffix) {
+ return 'dagur';
+ }
+ return isFuture ? 'dag' : 'degi';
+ case 'dd':
+ if (plural(number)) {
+ if (withoutSuffix) {
+ return result + 'dagar';
+ }
+ return result + (isFuture ? 'daga' : 'dögum');
+ } else if (withoutSuffix) {
+ return result + 'dagur';
+ }
+ return result + (isFuture ? 'dag' : 'degi');
+ case 'M':
+ if (withoutSuffix) {
+ return 'mánuður';
+ }
+ return isFuture ? 'mánuð' : 'mánuði';
+ case 'MM':
+ if (plural(number)) {
+ if (withoutSuffix) {
+ return result + 'mánuðir';
+ }
+ return result + (isFuture ? 'mánuði' : 'mánuðum');
+ } else if (withoutSuffix) {
+ return result + 'mánuður';
+ }
+ return result + (isFuture ? 'mánuð' : 'mánuði');
+ case 'y':
+ return withoutSuffix || isFuture ? 'ár' : 'ári';
+ case 'yy':
+ if (plural(number)) {
+ return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
+ }
+ return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
+ }
+ }
+
+ return moment.lang('is', {
+ months : "janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),
+ monthsShort : "jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),
+ weekdays : "sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),
+ weekdaysShort : "sun_mán_þri_mið_fim_fös_lau".split("_"),
+ weekdaysMin : "Su_Má_Þr_Mi_Fi_Fö_La".split("_"),
+ longDateFormat : {
+ LT : "H:mm",
+ L : "DD/MM/YYYY",
+ LL : "D. MMMM YYYY",
+ LLL : "D. MMMM YYYY [kl.] LT",
+ LLLL : "dddd, D. MMMM YYYY [kl.] LT"
+ },
+ calendar : {
+ sameDay : '[í dag kl.] LT',
+ nextDay : '[á morgun kl.] LT',
+ nextWeek : 'dddd [kl.] LT',
+ lastDay : '[í gær kl.] LT',
+ lastWeek : '[síðasta] dddd [kl.] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "eftir %s",
+ past : "fyrir %s síðan",
+ s : translate,
+ m : translate,
+ mm : translate,
+ h : "klukkustund",
+ hh : translate,
+ d : translate,
+ dd : translate,
+ M : translate,
+ MM : translate,
+ y : translate,
+ yy : translate
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : italian (it)
+// author : Lorenzo : https://github.com/aliem
+// author: Mattia Larentis: https://github.com/nostalgiaz
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('it', {
+ months : "Gennaio_Febbraio_Marzo_Aprile_Maggio_Giugno_Luglio_Agosto_Settembre_Ottobre_Novembre_Dicembre".split("_"),
+ monthsShort : "Gen_Feb_Mar_Apr_Mag_Giu_Lug_Ago_Set_Ott_Nov_Dic".split("_"),
+ weekdays : "Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"),
+ weekdaysShort : "Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),
+ weekdaysMin : "D_L_Ma_Me_G_V_S".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd, D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: '[Oggi alle] LT',
+ nextDay: '[Domani alle] LT',
+ nextWeek: 'dddd [alle] LT',
+ lastDay: '[Ieri alle] LT',
+ lastWeek: '[lo scorso] dddd [alle] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : function (s) {
+ return ((/^[0-9].+$/).test(s) ? "tra" : "in") + " " + s;
+ },
+ past : "%s fa",
+ s : "secondi",
+ m : "un minuto",
+ mm : "%d minuti",
+ h : "un'ora",
+ hh : "%d ore",
+ d : "un giorno",
+ dd : "%d giorni",
+ M : "un mese",
+ MM : "%d mesi",
+ y : "un anno",
+ yy : "%d anni"
+ },
+ ordinal: '%dº',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : japanese (ja)
+// author : LI Long : https://github.com/baryon
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('ja', {
+ months : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
+ monthsShort : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
+ weekdays : "日曜日_月曜日_ç«æ›œæ—¥_水曜日_木曜日_金曜日_土曜日".split("_"),
+ weekdaysShort : "æ—¥_月_ç«_æ°´_木_金_土".split("_"),
+ weekdaysMin : "æ—¥_月_ç«_æ°´_木_金_土".split("_"),
+ longDateFormat : {
+ LT : "Ah時m分",
+ L : "YYYY/MM/DD",
+ LL : "YYYY年M月D日",
+ LLL : "YYYY年M月D日LT",
+ LLLL : "YYYY年M月D日LT dddd"
+ },
+ meridiem : function (hour, minute, isLower) {
+ if (hour < 12) {
+ return "åˆå‰";
+ } else {
+ return "åˆå¾Œ";
+ }
+ },
+ calendar : {
+ sameDay : '[今日] LT',
+ nextDay : '[明日] LT',
+ nextWeek : '[æ¥é€±]dddd LT',
+ lastDay : '[昨日] LT',
+ lastWeek : '[å‰é€±]dddd LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "%s後",
+ past : "%så‰",
+ s : "数秒",
+ m : "1分",
+ mm : "%d分",
+ h : "1時間",
+ hh : "%d時間",
+ d : "1æ—¥",
+ dd : "%dæ—¥",
+ M : "1ヶ月",
+ MM : "%dヶ月",
+ y : "1å¹´",
+ yy : "%då¹´"
+ }
+ });
+}));
+// moment.js language configuration
+// language : Georgian (ka)
+// author : Irakli Janiashvili : https://github.com/irakli-janiashvili
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+
+ function monthsCaseReplace(m, format) {
+ var months = {
+ 'nominative': 'იáƒáƒœáƒ•áƒáƒ áƒ˜_თებერვáƒáƒšáƒ˜_მáƒáƒ áƒ¢áƒ˜_áƒáƒžáƒ áƒ˜áƒšáƒ˜_მáƒáƒ˜áƒ¡áƒ˜_ივნისი_ივლისი_áƒáƒ’ვისტáƒ_სექტემბერი_áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი_ნáƒáƒ”მბერი_დეკემბერი'.split('_'),
+ 'accusative': 'იáƒáƒœáƒ•áƒáƒ áƒ¡_თებერვáƒáƒšáƒ¡_მáƒáƒ áƒ¢áƒ¡_áƒáƒžáƒ áƒ˜áƒšáƒ˜áƒ¡_მáƒáƒ˜áƒ¡áƒ¡_ივნისს_ივლისს_áƒáƒ’ვისტს_სექტემბერს_áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერს_ნáƒáƒ”მბერს_დეკემბერს'.split('_')
+ },
+
+ nounCase = (/D[oD] *MMMM?/).test(format) ?
+ 'accusative' :
+ 'nominative';
+
+ return months[nounCase][m.month()];
+ }
+
+ function weekdaysCaseReplace(m, format) {
+ var weekdays = {
+ 'nominative': 'კვირáƒ_áƒáƒ áƒ¨áƒáƒ‘áƒáƒ—ი_სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი_áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი_ხუთშáƒáƒ‘áƒáƒ—ი_პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი_შáƒáƒ‘áƒáƒ—ი'.split('_'),
+ 'accusative': 'კვირáƒáƒ¡_áƒáƒ áƒ¨áƒáƒ‘áƒáƒ—ს_სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ს_áƒáƒ—ხშáƒáƒ‘áƒáƒ—ს_ხუთშáƒáƒ‘áƒáƒ—ს_პáƒáƒ áƒáƒ¡áƒ™áƒ”ვს_შáƒáƒ‘áƒáƒ—ს'.split('_')
+ },
+
+ nounCase = (/(წინáƒ|შემდეგ)/).test(format) ?
+ 'accusative' :
+ 'nominative';
+
+ return weekdays[nounCase][m.day()];
+ }
+
+ return moment.lang('ka', {
+ months : monthsCaseReplace,
+ monthsShort : "იáƒáƒœ_თებ_მáƒáƒ _áƒáƒžáƒ _მáƒáƒ˜_ივნ_ივლ_áƒáƒ’ვ_სექ_áƒáƒ¥áƒ¢_ნáƒáƒ”_დეკ".split("_"),
+ weekdays : weekdaysCaseReplace,
+ weekdaysShort : "კვი_áƒáƒ áƒ¨_სáƒáƒ›_áƒáƒ—ხ_ხუთ_პáƒáƒ _შáƒáƒ‘".split("_"),
+ weekdaysMin : "კვ_áƒáƒ _სáƒ_áƒáƒ—_ხუ_პáƒ_შáƒ".split("_"),
+ longDateFormat : {
+ LT : "h:mm A",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd, D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay : '[დღეს] LT[-ზე]',
+ nextDay : '[ხვáƒáƒš] LT[-ზე]',
+ lastDay : '[გუშინ] LT[-ზე]',
+ nextWeek : '[შემდეგ] dddd LT[-ზე]',
+ lastWeek : '[წინáƒ] dddd LT-ზე',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : function (s) {
+ return (/(წáƒáƒ›áƒ˜|წუთი|სáƒáƒáƒ—ი|წელი)/).test(s) ?
+ s.replace(/ი$/, "ში") :
+ s + "ში";
+ },
+ past : function (s) {
+ if ((/(წáƒáƒ›áƒ˜|წუთი|სáƒáƒáƒ—ი|დღე|თვე)/).test(s)) {
+ return s.replace(/(ი|ე)$/, "ის წინ");
+ }
+ if ((/წელი/).test(s)) {
+ return s.replace(/წელი$/, "წლის წინ");
+ }
+ },
+ s : "რáƒáƒ›áƒ“ენიმე წáƒáƒ›áƒ˜",
+ m : "წუთი",
+ mm : "%d წუთი",
+ h : "სáƒáƒáƒ—ი",
+ hh : "%d სáƒáƒáƒ—ი",
+ d : "დღე",
+ dd : "%d დღე",
+ M : "თვე",
+ MM : "%d თვე",
+ y : "წელი",
+ yy : "%d წელი"
+ },
+ ordinal : function (number) {
+ if (number === 0) {
+ return number;
+ }
+
+ if (number === 1) {
+ return number + "-ლი";
+ }
+
+ if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {
+ return "მე-" + number;
+ }
+
+ return number + "-ე";
+ },
+ week : {
+ dow : 1,
+ doy : 7
+ }
+ });
+}));
+// moment.js language configuration
+// language : korean (ko)
+// author : Kyungwook, Park : https://github.com/kyungw00k
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('ko', {
+ months : "1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”".split("_"),
+ monthsShort : "1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”".split("_"),
+ weekdays : "ì¼ìš”ì¼_월요ì¼_화요ì¼_수요ì¼_목요ì¼_금요ì¼_토요ì¼".split("_"),
+ weekdaysShort : "ì¼_ì›”_í™”_수_목_금_토".split("_"),
+ weekdaysMin : "ì¼_ì›”_í™”_수_목_금_토".split("_"),
+ longDateFormat : {
+ LT : "A h시 mm분",
+ L : "YYYY.MM.DD",
+ LL : "YYYYë…„ MMMM Dì¼",
+ LLL : "YYYYë…„ MMMM Dì¼ LT",
+ LLLL : "YYYYë…„ MMMM Dì¼ dddd LT"
+ },
+ meridiem : function (hour, minute, isUpper) {
+ return hour < 12 ? '오전' : '오후';
+ },
+ calendar : {
+ sameDay : '오늘 LT',
+ nextDay : 'ë‚´ì¼ LT',
+ nextWeek : 'dddd LT',
+ lastDay : '어제 LT',
+ lastWeek : '지난주 dddd LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "%s 후",
+ past : "%s ì „",
+ s : "몇초",
+ ss : "%dì´ˆ",
+ m : "ì¼ë¶„",
+ mm : "%d분",
+ h : "한시간",
+ hh : "%d시간",
+ d : "하루",
+ dd : "%dì¼",
+ M : "한달",
+ MM : "%d달",
+ y : "ì¼ë…„",
+ yy : "%dë…„"
+ },
+ ordinal : '%dì¼'
+ });
+}));
+// moment.js language configuration
+// language : Lithuanian (lt)
+// author : Mindaugas Mozūras : https://github.com/mmozuras
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ var units = {
+ "m" : "minutÄ—_minutÄ—s_minutÄ™",
+ "mm": "minutÄ—s_minuÄių_minutes",
+ "h" : "valanda_valandos_valandÄ…",
+ "hh": "valandos_valandų_valandas",
+ "d" : "diena_dienos_dienÄ…",
+ "dd": "dienos_dienų_dienas",
+ "M" : "mėnuo_mėnesio_mėnesį",
+ "MM": "mėnesiai_mėnesių_mėnesius",
+ "y" : "metai_metų_metus",
+ "yy": "metai_metų_metus"
+ },
+ weekDays = "pirmadienis_antradienis_treÄiadienis_ketvirtadienis_penktadienis_Å¡eÅ¡tadienis_sekmadienis".split("_");
+
+ function translateSeconds(number, withoutSuffix, key, isFuture) {
+ if (withoutSuffix) {
+ return "kelios sekundÄ—s";
+ } else {
+ return isFuture ? "kelių sekundžių" : "kelias sekundes";
+ }
+ }
+
+ function translateSingular(number, withoutSuffix, key, isFuture) {
+ return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);
+ }
+
+ function special(number) {
+ return number % 10 === 0 || (number > 10 && number < 20);
+ }
+
+ function forms(key) {
+ return units[key].split("_");
+ }
+
+ function translate(number, withoutSuffix, key, isFuture) {
+ var result = number + " ";
+ if (number === 1) {
+ return result + translateSingular(number, withoutSuffix, key[0], isFuture);
+ } else if (withoutSuffix) {
+ return result + (special(number) ? forms(key)[1] : forms(key)[0]);
+ } else {
+ if (isFuture) {
+ return result + forms(key)[1];
+ } else {
+ return result + (special(number) ? forms(key)[1] : forms(key)[2]);
+ }
+ }
+ }
+
+ function relativeWeekDay(moment, format) {
+ var nominative = format.indexOf('dddd LT') === -1,
+ weekDay = weekDays[moment.weekday()];
+
+ return nominative ? weekDay : weekDay.substring(0, weekDay.length - 2) + "į";
+ }
+
+ return moment.lang("lt", {
+ months : "sausio_vasario_kovo_balandžio_gegužės_biržėlio_liepos_rugpjÅ«Äio_rugsÄ—jo_spalio_lapkriÄio_gruodžio".split("_"),
+ monthsShort : "sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),
+ weekdays : relativeWeekDay,
+ weekdaysShort : "Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),
+ weekdaysMin : "S_P_A_T_K_Pn_Å ".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "YYYY-MM-DD",
+ LL : "YYYY [m.] MMMM D [d.]",
+ LLL : "YYYY [m.] MMMM D [d.], LT [val.]",
+ LLLL : "YYYY [m.] MMMM D [d.], dddd, LT [val.]",
+ l : "YYYY-MM-DD",
+ ll : "YYYY [m.] MMMM D [d.]",
+ lll : "YYYY [m.] MMMM D [d.], LT [val.]",
+ llll : "YYYY [m.] MMMM D [d.], ddd, LT [val.]"
+ },
+ calendar : {
+ sameDay : "[Å iandien] LT",
+ nextDay : "[Rytoj] LT",
+ nextWeek : "dddd LT",
+ lastDay : "[Vakar] LT",
+ lastWeek : "[Praėjusį] dddd LT",
+ sameElse : "L"
+ },
+ relativeTime : {
+ future : "po %s",
+ past : "prieš %s",
+ s : translateSeconds,
+ m : translateSingular,
+ mm : translate,
+ h : translateSingular,
+ hh : translate,
+ d : translateSingular,
+ dd : translate,
+ M : translateSingular,
+ MM : translate,
+ y : translateSingular,
+ yy : translate
+ },
+ ordinal : function (number) {
+ return number + '-oji';
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : latvian (lv)
+// author : Kristaps Karlsons : https://github.com/skakri
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ var units = {
+ 'mm': 'minūti_minūtes_minūte_minūtes',
+ 'hh': 'stundu_stundas_stunda_stundas',
+ 'dd': 'dienu_dienas_diena_dienas',
+ 'MM': 'mēnesi_mēnešus_mēnesis_mēneši',
+ 'yy': 'gadu_gadus_gads_gadi'
+ };
+
+ function format(word, number, withoutSuffix) {
+ var forms = word.split('_');
+ if (withoutSuffix) {
+ return number % 10 === 1 && number !== 11 ? forms[2] : forms[3];
+ } else {
+ return number % 10 === 1 && number !== 11 ? forms[0] : forms[1];
+ }
+ }
+
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
+ return number + ' ' + format(units[key], number, withoutSuffix);
+ }
+
+ return moment.lang('lv', {
+ months : "janvÄris_februÄris_marts_aprÄ«lis_maijs_jÅ«nijs_jÅ«lijs_augusts_septembris_oktobris_novembris_decembris".split("_"),
+ monthsShort : "jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),
+ weekdays : "svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),
+ weekdaysShort : "Sv_P_O_T_C_Pk_S".split("_"),
+ weekdaysMin : "Sv_P_O_T_C_Pk_S".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD.MM.YYYY",
+ LL : "YYYY. [gada] D. MMMM",
+ LLL : "YYYY. [gada] D. MMMM, LT",
+ LLLL : "YYYY. [gada] D. MMMM, dddd, LT"
+ },
+ calendar : {
+ sameDay : '[Å odien pulksten] LT',
+ nextDay : '[RÄ«t pulksten] LT',
+ nextWeek : 'dddd [pulksten] LT',
+ lastDay : '[Vakar pulksten] LT',
+ lastWeek : '[PagÄjuÅ¡Ä] dddd [pulksten] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "%s vÄ“lÄk",
+ past : "%s agrÄk",
+ s : "dažas sekundes",
+ m : "minūti",
+ mm : relativeTimeWithPlural,
+ h : "stundu",
+ hh : relativeTimeWithPlural,
+ d : "dienu",
+ dd : relativeTimeWithPlural,
+ M : "mēnesi",
+ MM : relativeTimeWithPlural,
+ y : "gadu",
+ yy : relativeTimeWithPlural
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : malayalam (ml)
+// author : Floyd Pink : https://github.com/floydpink
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('ml', {
+ months : 'ജനàµà´µà´°à´¿_ഫെബàµà´°àµà´µà´°à´¿_മാർചàµà´šàµ_à´à´ªàµà´°à´¿àµ½_മേയàµ_ജൂൺ_ജൂലൈ_à´“à´—à´¸àµà´±àµà´±àµ_സെപàµà´±àµà´±à´‚ബർ_à´’à´•àµà´Ÿàµ‹à´¬àµ¼_നവംബർ_ഡിസംബർ'.split("_"),
+ monthsShort : 'ജനàµ._ഫെബàµà´°àµ._മാർ._à´à´ªàµà´°à´¿._മേയàµ_ജൂൺ_ജൂലൈ._à´“à´—._സെപàµà´±àµà´±._à´’à´•àµà´Ÿàµ‹._നവം._ഡിസം.'.split("_"),
+ weekdays : 'ഞായറാഴàµà´š_തിങàµà´•à´³à´¾à´´àµà´š_ചൊവàµà´µà´¾à´´àµà´š_à´¬àµà´§à´¨à´¾à´´àµà´š_à´µàµà´¯à´¾à´´à´¾à´´àµà´š_വെളàµà´³à´¿à´¯à´¾à´´àµà´š_ശനിയാഴàµà´š'.split("_"),
+ weekdaysShort : 'ഞായർ_തിങàµà´•àµ¾_ചൊവàµà´µ_à´¬àµà´§àµ»_à´µàµà´¯à´¾à´´à´‚_വെളàµà´³à´¿_ശനി'.split("_"),
+ weekdaysMin : 'à´žà´¾_തി_ചൊ_à´¬àµ_à´µàµà´¯à´¾_വെ_à´¶'.split("_"),
+ longDateFormat : {
+ LT : "A h:mm -à´¨àµ",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY, LT",
+ LLLL : "dddd, D MMMM YYYY, LT"
+ },
+ calendar : {
+ sameDay : '[ഇനàµà´¨àµ] LT',
+ nextDay : '[നാളെ] LT',
+ nextWeek : 'dddd, LT',
+ lastDay : '[ഇനàµà´¨à´²àµ†] LT',
+ lastWeek : '[à´•à´´à´¿à´žàµà´ž] dddd, LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "%s à´•à´´à´¿à´žàµà´žàµ",
+ past : "%s à´®àµàµ»à´ªàµ",
+ s : "അൽപ നിമിഷങàµà´™àµ¾",
+ m : "ഒരൠമിനിറàµà´±àµ",
+ mm : "%d മിനിറàµà´±àµ",
+ h : "ഒരൠമണികàµà´•àµ‚ർ",
+ hh : "%d മണികàµà´•àµ‚ർ",
+ d : "ഒരൠദിവസം",
+ dd : "%d ദിവസം",
+ M : "ഒരൠമാസം",
+ MM : "%d മാസം",
+ y : "ഒരൠവർഷം",
+ yy : "%d വർഷം"
+ },
+ meridiem : function (hour, minute, isLower) {
+ if (hour < 4) {
+ return "രാതàµà´°à´¿";
+ } else if (hour < 12) {
+ return "രാവിലെ";
+ } else if (hour < 17) {
+ return "ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ";
+ } else if (hour < 20) {
+ return "വൈകàµà´¨àµà´¨àµ‡à´°à´‚";
+ } else {
+ return "രാതàµà´°à´¿";
+ }
+ }
+ });
+}));
+// moment.js language configuration
+// language : Marathi (mr)
+// author : Harshad Kale : https://github.com/kalehv
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ var symbolMap = {
+ '1': '१',
+ '2': '२',
+ '3': '३',
+ '4': '४',
+ '5': '५',
+ '6': '६',
+ '7': '७',
+ '8': '८',
+ '9': '९',
+ '0': '०'
+ },
+ numberMap = {
+ '१': '1',
+ '२': '2',
+ '३': '3',
+ '४': '4',
+ '५': '5',
+ '६': '6',
+ '७': '7',
+ '८': '8',
+ '९': '9',
+ '०': '0'
+ };
+
+ return moment.lang('mr', {
+ months : 'जानेवारी_फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€_मारà¥à¤š_à¤à¤ªà¥à¤°à¤¿à¤²_मे_जून_जà¥à¤²à¥ˆ_ऑगसà¥à¤Ÿ_सपà¥à¤Ÿà¥‡à¤‚बर_ऑकà¥à¤Ÿà¥‹à¤¬à¤°_नोवà¥à¤¹à¥‡à¤‚बर_डिसेंबर'.split("_"),
+ monthsShort: 'जाने._फेबà¥à¤°à¥._मारà¥à¤š._à¤à¤ªà¥à¤°à¤¿._मे._जून._जà¥à¤²à¥ˆ._ऑग._सपà¥à¤Ÿà¥‡à¤‚._ऑकà¥à¤Ÿà¥‹._नोवà¥à¤¹à¥‡à¤‚._डिसें.'.split("_"),
+ weekdays : 'रविवार_सोमवार_मंगळवार_बà¥à¤§à¤µà¤¾à¤°_गà¥à¤°à¥‚वार_शà¥à¤•à¥à¤°à¤µà¤¾à¤°_शनिवार'.split("_"),
+ weekdaysShort : 'रवि_सोम_मंगळ_बà¥à¤§_गà¥à¤°à¥‚_शà¥à¤•à¥à¤°_शनि'.split("_"),
+ weekdaysMin : 'र_सो_मं_बà¥_गà¥_शà¥_श'.split("_"),
+ longDateFormat : {
+ LT : "A h:mm वाजता",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY, LT",
+ LLLL : "dddd, D MMMM YYYY, LT"
+ },
+ calendar : {
+ sameDay : '[आज] LT',
+ nextDay : '[उदà¥à¤¯à¤¾] LT',
+ nextWeek : 'dddd, LT',
+ lastDay : '[काल] LT',
+ lastWeek: '[मागील] dddd, LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "%s नंतर",
+ past : "%s पूरà¥à¤µà¥€",
+ s : "सेकंद",
+ m: "à¤à¤• मिनिट",
+ mm: "%d मिनिटे",
+ h : "à¤à¤• तास",
+ hh : "%d तास",
+ d : "à¤à¤• दिवस",
+ dd : "%d दिवस",
+ M : "à¤à¤• महिना",
+ MM : "%d महिने",
+ y : "à¤à¤• वरà¥à¤·",
+ yy : "%d वरà¥à¤·à¥‡"
+ },
+ preparse: function (string) {
+ return string.replace(/[१२३४५६७८९०]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ meridiem: function (hour, minute, isLower)
+ {
+ if (hour < 4) {
+ return "रातà¥à¤°à¥€";
+ } else if (hour < 10) {
+ return "सकाळी";
+ } else if (hour < 17) {
+ return "दà¥à¤ªà¤¾à¤°à¥€";
+ } else if (hour < 20) {
+ return "सायंकाळी";
+ } else {
+ return "रातà¥à¤°à¥€";
+ }
+ },
+ week : {
+ dow : 0, // Sunday is the first day of the week.
+ doy : 6 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : Bahasa Malaysia (ms-MY)
+// author : Weldan Jamili : https://github.com/weldan
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('ms-my', {
+ months : "Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),
+ monthsShort : "Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),
+ weekdays : "Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),
+ weekdaysShort : "Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),
+ weekdaysMin : "Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),
+ longDateFormat : {
+ LT : "HH.mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY [pukul] LT",
+ LLLL : "dddd, D MMMM YYYY [pukul] LT"
+ },
+ meridiem : function (hours, minutes, isLower) {
+ if (hours < 11) {
+ return 'pagi';
+ } else if (hours < 15) {
+ return 'tengahari';
+ } else if (hours < 19) {
+ return 'petang';
+ } else {
+ return 'malam';
+ }
+ },
+ calendar : {
+ sameDay : '[Hari ini pukul] LT',
+ nextDay : '[Esok pukul] LT',
+ nextWeek : 'dddd [pukul] LT',
+ lastDay : '[Kelmarin pukul] LT',
+ lastWeek : 'dddd [lepas pukul] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "dalam %s",
+ past : "%s yang lepas",
+ s : "beberapa saat",
+ m : "seminit",
+ mm : "%d minit",
+ h : "sejam",
+ hh : "%d jam",
+ d : "sehari",
+ dd : "%d hari",
+ M : "sebulan",
+ MM : "%d bulan",
+ y : "setahun",
+ yy : "%d tahun"
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : norwegian bokmål (nb)
+// authors : Espen Hovlandsdal : https://github.com/rexxars
+// Sigurd Gartmann : https://github.com/sigurdga
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('nb', {
+ months : "januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),
+ monthsShort : "jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),
+ weekdays : "søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),
+ weekdaysShort : "sø._ma._ti._on._to._fr._lø.".split("_"),
+ weekdaysMin : "sø_ma_ti_on_to_fr_lø".split("_"),
+ longDateFormat : {
+ LT : "H.mm",
+ L : "DD.MM.YYYY",
+ LL : "D. MMMM YYYY",
+ LLL : "D. MMMM YYYY [kl.] LT",
+ LLLL : "dddd D. MMMM YYYY [kl.] LT"
+ },
+ calendar : {
+ sameDay: '[i dag kl.] LT',
+ nextDay: '[i morgen kl.] LT',
+ nextWeek: 'dddd [kl.] LT',
+ lastDay: '[i går kl.] LT',
+ lastWeek: '[forrige] dddd [kl.] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "om %s",
+ past : "for %s siden",
+ s : "noen sekunder",
+ m : "ett minutt",
+ mm : "%d minutter",
+ h : "en time",
+ hh : "%d timer",
+ d : "en dag",
+ dd : "%d dager",
+ M : "en måned",
+ MM : "%d måneder",
+ y : "ett år",
+ yy : "%d år"
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : nepali/nepalese
+// author : suvash : https://github.com/suvash
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ var symbolMap = {
+ '1': '१',
+ '2': '२',
+ '3': '३',
+ '4': '४',
+ '5': '५',
+ '6': '६',
+ '7': '७',
+ '8': '८',
+ '9': '९',
+ '0': '०'
+ },
+ numberMap = {
+ '१': '1',
+ '२': '2',
+ '३': '3',
+ '४': '4',
+ '५': '5',
+ '६': '6',
+ '७': '7',
+ '८': '8',
+ '९': '9',
+ '०': '0'
+ };
+
+ return moment.lang('ne', {
+ months : 'जनवरी_फेबà¥à¤°à¥à¤µà¤°à¥€_मारà¥à¤š_अपà¥à¤°à¤¿à¤²_मई_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ_अगषà¥à¤Ÿ_सेपà¥à¤Ÿà¥‡à¤®à¥à¤¬à¤°_अकà¥à¤Ÿà¥‹à¤¬à¤°_नोभेमà¥à¤¬à¤°_डिसेमà¥à¤¬à¤°'.split("_"),
+ monthsShort : 'जन._फेबà¥à¤°à¥._मारà¥à¤š_अपà¥à¤°à¤¿._मई_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ._अग._सेपà¥à¤Ÿ._अकà¥à¤Ÿà¥‹._नोभे._डिसे.'.split("_"),
+ weekdays : 'आइतबार_सोमबार_मङà¥à¤—लबार_बà¥à¤§à¤¬à¤¾à¤°_बिहिबार_शà¥à¤•à¥à¤°à¤¬à¤¾à¤°_शनिबार'.split("_"),
+ weekdaysShort : 'आइत._सोम._मङà¥à¤—ल._बà¥à¤§._बिहि._शà¥à¤•à¥à¤°._शनि.'.split("_"),
+ weekdaysMin : 'आइ._सो._मङà¥_बà¥._बि._शà¥._श.'.split("_"),
+ longDateFormat : {
+ LT : "Aको h:mm बजे",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY, LT",
+ LLLL : "dddd, D MMMM YYYY, LT"
+ },
+ preparse: function (string) {
+ return string.replace(/[१२३४५६७८९०]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ meridiem : function (hour, minute, isLower) {
+ if (hour < 3) {
+ return "राती";
+ } else if (hour < 10) {
+ return "बिहान";
+ } else if (hour < 15) {
+ return "दिउà¤à¤¸à¥‹";
+ } else if (hour < 18) {
+ return "बेलà¥à¤•à¤¾";
+ } else if (hour < 20) {
+ return "साà¤à¤";
+ } else {
+ return "राती";
+ }
+ },
+ calendar : {
+ sameDay : '[आज] LT',
+ nextDay : '[भोली] LT',
+ nextWeek : '[आउà¤à¤¦à¥‹] dddd[,] LT',
+ lastDay : '[हिजो] LT',
+ lastWeek : '[गà¤à¤•à¥‹] dddd[,] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "%sमा",
+ past : "%s अगाडी",
+ s : "केही समय",
+ m : "à¤à¤• मिनेट",
+ mm : "%d मिनेट",
+ h : "à¤à¤• घणà¥à¤Ÿà¤¾",
+ hh : "%d घणà¥à¤Ÿà¤¾",
+ d : "à¤à¤• दिन",
+ dd : "%d दिन",
+ M : "à¤à¤• महिना",
+ MM : "%d महिना",
+ y : "à¤à¤• बरà¥à¤·",
+ yy : "%d बरà¥à¤·"
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : dutch (nl)
+// author : Joris Röling : https://github.com/jjupiter
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ var monthsShortWithDots = "jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),
+ monthsShortWithoutDots = "jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_");
+
+ return moment.lang('nl', {
+ months : "januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),
+ monthsShort : function (m, format) {
+ if (/-MMM-/.test(format)) {
+ return monthsShortWithoutDots[m.month()];
+ } else {
+ return monthsShortWithDots[m.month()];
+ }
+ },
+ weekdays : "zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),
+ weekdaysShort : "zo._ma._di._wo._do._vr._za.".split("_"),
+ weekdaysMin : "Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD-MM-YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: '[vandaag om] LT',
+ nextDay: '[morgen om] LT',
+ nextWeek: 'dddd [om] LT',
+ lastDay: '[gisteren om] LT',
+ lastWeek: '[afgelopen] dddd [om] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "over %s",
+ past : "%s geleden",
+ s : "een paar seconden",
+ m : "één minuut",
+ mm : "%d minuten",
+ h : "één uur",
+ hh : "%d uur",
+ d : "één dag",
+ dd : "%d dagen",
+ M : "één maand",
+ MM : "%d maanden",
+ y : "één jaar",
+ yy : "%d jaar"
+ },
+ ordinal : function (number) {
+ return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : norwegian nynorsk (nn)
+// author : https://github.com/mechuwind
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('nn', {
+ months : "januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),
+ monthsShort : "jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),
+ weekdays : "sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),
+ weekdaysShort : "sun_mån_tys_ons_tor_fre_lau".split("_"),
+ weekdaysMin : "su_må_ty_on_to_fr_lø".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD.MM.YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: '[I dag klokka] LT',
+ nextDay: '[I morgon klokka] LT',
+ nextWeek: 'dddd [klokka] LT',
+ lastDay: '[I går klokka] LT',
+ lastWeek: '[Føregående] dddd [klokka] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "om %s",
+ past : "for %s siden",
+ s : "noen sekund",
+ m : "ett minutt",
+ mm : "%d minutt",
+ h : "en time",
+ hh : "%d timar",
+ d : "en dag",
+ dd : "%d dagar",
+ M : "en månad",
+ MM : "%d månader",
+ y : "ett år",
+ yy : "%d år"
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : polish (pl)
+// author : Rafal Hirsz : https://github.com/evoL
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ var monthsNominative = "styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),
+ monthsSubjective = "stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");
+
+ function plural(n) {
+ return (n % 10 < 5) && (n % 10 > 1) && (~~(n / 10) !== 1);
+ }
+
+ function translate(number, withoutSuffix, key) {
+ var result = number + " ";
+ switch (key) {
+ case 'm':
+ return withoutSuffix ? 'minuta' : 'minutÄ™';
+ case 'mm':
+ return result + (plural(number) ? 'minuty' : 'minut');
+ case 'h':
+ return withoutSuffix ? 'godzina' : 'godzinÄ™';
+ case 'hh':
+ return result + (plural(number) ? 'godziny' : 'godzin');
+ case 'MM':
+ return result + (plural(number) ? 'miesiące' : 'miesięcy');
+ case 'yy':
+ return result + (plural(number) ? 'lata' : 'lat');
+ }
+ }
+
+ return moment.lang('pl', {
+ months : function (momentToFormat, format) {
+ if (/D MMMM/.test(format)) {
+ return monthsSubjective[momentToFormat.month()];
+ } else {
+ return monthsNominative[momentToFormat.month()];
+ }
+ },
+ monthsShort : "sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),
+ weekdays : "niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),
+ weekdaysShort : "nie_pon_wt_śr_czw_pt_sb".split("_"),
+ weekdaysMin : "N_Pn_Wt_Åšr_Cz_Pt_So".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD.MM.YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd, D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: '[DziÅ› o] LT',
+ nextDay: '[Jutro o] LT',
+ nextWeek: '[W] dddd [o] LT',
+ lastDay: '[Wczoraj o] LT',
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[W zeszłą niedzielę o] LT';
+ case 3:
+ return '[W zeszłą środę o] LT';
+ case 6:
+ return '[W zeszłą sobotę o] LT';
+ default:
+ return '[W zeszły] dddd [o] LT';
+ }
+ },
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "za %s",
+ past : "%s temu",
+ s : "kilka sekund",
+ m : translate,
+ mm : translate,
+ h : translate,
+ hh : translate,
+ d : "1 dzień",
+ dd : '%d dni',
+ M : "miesiÄ…c",
+ MM : translate,
+ y : "rok",
+ yy : translate
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : brazilian portuguese (pt-br)
+// author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('pt-br', {
+ months : "Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),
+ monthsShort : "Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),
+ weekdays : "Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),
+ weekdaysShort : "Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),
+ weekdaysMin : "Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D [de] MMMM [de] YYYY",
+ LLL : "D [de] MMMM [de] YYYY LT",
+ LLLL : "dddd, D [de] MMMM [de] YYYY LT"
+ },
+ calendar : {
+ sameDay: '[Hoje às] LT',
+ nextDay: '[Amanhã às] LT',
+ nextWeek: 'dddd [às] LT',
+ lastDay: '[Ontem às] LT',
+ lastWeek: function () {
+ return (this.day() === 0 || this.day() === 6) ?
+ '[Último] dddd [às] LT' : // Saturday + Sunday
+ '[Última] dddd [às] LT'; // Monday - Friday
+ },
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "em %s",
+ past : "%s atrás",
+ s : "segundos",
+ m : "um minuto",
+ mm : "%d minutos",
+ h : "uma hora",
+ hh : "%d horas",
+ d : "um dia",
+ dd : "%d dias",
+ M : "um mês",
+ MM : "%d meses",
+ y : "um ano",
+ yy : "%d anos"
+ },
+ ordinal : '%dº'
+ });
+}));
+// moment.js language configuration
+// language : portuguese (pt)
+// author : Jefferson : https://github.com/jalex79
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('pt', {
+ months : "Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),
+ monthsShort : "Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),
+ weekdays : "Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),
+ weekdaysShort : "Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),
+ weekdaysMin : "Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D [de] MMMM [de] YYYY",
+ LLL : "D [de] MMMM [de] YYYY LT",
+ LLLL : "dddd, D [de] MMMM [de] YYYY LT"
+ },
+ calendar : {
+ sameDay: '[Hoje às] LT',
+ nextDay: '[Amanhã às] LT',
+ nextWeek: 'dddd [às] LT',
+ lastDay: '[Ontem às] LT',
+ lastWeek: function () {
+ return (this.day() === 0 || this.day() === 6) ?
+ '[Último] dddd [às] LT' : // Saturday + Sunday
+ '[Última] dddd [às] LT'; // Monday - Friday
+ },
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "em %s",
+ past : "%s atrás",
+ s : "segundos",
+ m : "um minuto",
+ mm : "%d minutos",
+ h : "uma hora",
+ hh : "%d horas",
+ d : "um dia",
+ dd : "%d dias",
+ M : "um mês",
+ MM : "%d meses",
+ y : "um ano",
+ yy : "%d anos"
+ },
+ ordinal : '%dº',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : romanian (ro)
+// author : Vlad Gurdiga : https://github.com/gurdiga
+// author : Valentin Agachi : https://github.com/avaly
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('ro', {
+ months : "Ianuarie_Februarie_Martie_Aprilie_Mai_Iunie_Iulie_August_Septembrie_Octombrie_Noiembrie_Decembrie".split("_"),
+ monthsShort : "Ian_Feb_Mar_Apr_Mai_Iun_Iul_Aug_Sep_Oct_Noi_Dec".split("_"),
+ weekdays : "Duminică_Luni_Marţi_Miercuri_Joi_Vineri_Sâmbătă".split("_"),
+ weekdaysShort : "Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),
+ weekdaysMin : "Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),
+ longDateFormat : {
+ LT : "H:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY H:mm",
+ LLLL : "dddd, D MMMM YYYY H:mm"
+ },
+ calendar : {
+ sameDay: "[azi la] LT",
+ nextDay: '[mâine la] LT',
+ nextWeek: 'dddd [la] LT',
+ lastDay: '[ieri la] LT',
+ lastWeek: '[fosta] dddd [la] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "peste %s",
+ past : "%s în urmă",
+ s : "câteva secunde",
+ m : "un minut",
+ mm : "%d minute",
+ h : "o oră",
+ hh : "%d ore",
+ d : "o zi",
+ dd : "%d zile",
+ M : "o lună",
+ MM : "%d luni",
+ y : "un an",
+ yy : "%d ani"
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : russian (ru)
+// author : Viktorminator : https://github.com/Viktorminator
+// Author : Menelion Elensúle : https://github.com/Oire
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ function plural(word, num) {
+ var forms = word.split('_');
+ return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+ }
+
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
+ var format = {
+ 'mm': 'минута_минуты_минут',
+ 'hh': 'чаÑ_чаÑа_чаÑов',
+ 'dd': 'день_днÑ_дней',
+ 'MM': 'меÑÑц_меÑÑца_меÑÑцев',
+ 'yy': 'год_года_лет'
+ };
+ if (key === 'm') {
+ return withoutSuffix ? 'минута' : 'минуту';
+ }
+ else {
+ return number + ' ' + plural(format[key], +number);
+ }
+ }
+
+ function monthsCaseReplace(m, format) {
+ var months = {
+ 'nominative': 'Ñнварь_февраль_март_апрель_май_июнь_июль_авгуÑÑ‚_ÑентÑбрь_октÑбрь_ноÑбрь_декабрь'.split('_'),
+ 'accusative': 'ÑнварÑ_февралÑ_марта_апрелÑ_маÑ_июнÑ_июлÑ_авгуÑта_ÑентÑбрÑ_октÑбрÑ_ноÑбрÑ_декабрÑ'.split('_')
+ },
+
+ nounCase = (/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/).test(format) ?
+ 'accusative' :
+ 'nominative';
+
+ return months[nounCase][m.month()];
+ }
+
+ function monthsShortCaseReplace(m, format) {
+ var monthsShort = {
+ 'nominative': 'Ñнв_фев_мар_апр_май_июнь_июль_авг_Ñен_окт_ноÑ_дек'.split('_'),
+ 'accusative': 'Ñнв_фев_мар_апр_маÑ_июнÑ_июлÑ_авг_Ñен_окт_ноÑ_дек'.split('_')
+ },
+
+ nounCase = (/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/).test(format) ?
+ 'accusative' :
+ 'nominative';
+
+ return monthsShort[nounCase][m.month()];
+ }
+
+ function weekdaysCaseReplace(m, format) {
+ var weekdays = {
+ 'nominative': 'воÑкреÑенье_понедельник_вторник_Ñреда_четверг_пÑтница_Ñуббота'.split('_'),
+ 'accusative': 'воÑкреÑенье_понедельник_вторник_Ñреду_четверг_пÑтницу_Ñубботу'.split('_')
+ },
+
+ nounCase = (/\[ ?[Вв] ?(?:прошлую|Ñледующую)? ?\] ?dddd/).test(format) ?
+ 'accusative' :
+ 'nominative';
+
+ return weekdays[nounCase][m.day()];
+ }
+
+ return moment.lang('ru', {
+ months : monthsCaseReplace,
+ monthsShort : monthsShortCaseReplace,
+ weekdays : weekdaysCaseReplace,
+ weekdaysShort : "вÑ_пн_вт_ÑÑ€_чт_пт_Ñб".split("_"),
+ weekdaysMin : "вÑ_пн_вт_ÑÑ€_чт_пт_Ñб".split("_"),
+ monthsParse : [/^Ñнв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[й|Ñ]/i, /^июн/i, /^июл/i, /^авг/i, /^Ñен/i, /^окт/i, /^ноÑ/i, /^дек/i],
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD.MM.YYYY",
+ LL : "D MMMM YYYY г.",
+ LLL : "D MMMM YYYY г., LT",
+ LLLL : "dddd, D MMMM YYYY г., LT"
+ },
+ calendar : {
+ sameDay: '[Ð¡ÐµÐ³Ð¾Ð´Ð½Ñ Ð²] LT',
+ nextDay: '[Завтра в] LT',
+ lastDay: '[Вчера в] LT',
+ nextWeek: function () {
+ return this.day() === 2 ? '[Во] dddd [в] LT' : '[В] dddd [в] LT';
+ },
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[В прошлое] dddd [в] LT';
+ case 1:
+ case 2:
+ case 4:
+ return '[В прошлый] dddd [в] LT';
+ case 3:
+ case 5:
+ case 6:
+ return '[В прошлую] dddd [в] LT';
+ }
+ },
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "через %s",
+ past : "%s назад",
+ s : "неÑколько Ñекунд",
+ m : relativeTimeWithPlural,
+ mm : relativeTimeWithPlural,
+ h : "чаÑ",
+ hh : relativeTimeWithPlural,
+ d : "день",
+ dd : relativeTimeWithPlural,
+ M : "меÑÑц",
+ MM : relativeTimeWithPlural,
+ y : "год",
+ yy : relativeTimeWithPlural
+ },
+
+ // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
+
+ meridiem : function (hour, minute, isLower) {
+ if (hour < 4) {
+ return "ночи";
+ } else if (hour < 12) {
+ return "утра";
+ } else if (hour < 17) {
+ return "днÑ";
+ } else {
+ return "вечера";
+ }
+ },
+
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'M':
+ case 'd':
+ case 'DDD':
+ return number + '-й';
+ case 'D':
+ return number + '-го';
+ case 'w':
+ case 'W':
+ return number + '-Ñ';
+ default:
+ return number;
+ }
+ },
+
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : slovak (sk)
+// author : Martin Minka : https://github.com/k2s
+// based on work of petrbela : https://github.com/petrbela
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ var months = "január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),
+ monthsShort = "jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");
+
+ function plural(n) {
+ return (n > 1) && (n < 5);
+ }
+
+ function translate(number, withoutSuffix, key, isFuture) {
+ var result = number + " ";
+ switch (key) {
+ case 's': // a few seconds / in a few seconds / a few seconds ago
+ return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';
+ case 'm': // a minute / in a minute / a minute ago
+ return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');
+ case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'minúty' : 'minút');
+ } else {
+ return result + 'minútami';
+ }
+ break;
+ case 'h': // an hour / in an hour / an hour ago
+ return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
+ case 'hh': // 9 hours / in 9 hours / 9 hours ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'hodiny' : 'hodín');
+ } else {
+ return result + 'hodinami';
+ }
+ break;
+ case 'd': // a day / in a day / a day ago
+ return (withoutSuffix || isFuture) ? 'deň' : 'dňom';
+ case 'dd': // 9 days / in 9 days / 9 days ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'dni' : 'dní');
+ } else {
+ return result + 'dňami';
+ }
+ break;
+ case 'M': // a month / in a month / a month ago
+ return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';
+ case 'MM': // 9 months / in 9 months / 9 months ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'mesiace' : 'mesiacov');
+ } else {
+ return result + 'mesiacmi';
+ }
+ break;
+ case 'y': // a year / in a year / a year ago
+ return (withoutSuffix || isFuture) ? 'rok' : 'rokom';
+ case 'yy': // 9 years / in 9 years / 9 years ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'roky' : 'rokov');
+ } else {
+ return result + 'rokmi';
+ }
+ break;
+ }
+ }
+
+ return moment.lang('sk', {
+ months : months,
+ monthsShort : monthsShort,
+ monthsParse : (function (months, monthsShort) {
+ var i, _monthsParse = [];
+ for (i = 0; i < 12; i++) {
+ // use custom parser to solve problem with July (Äervenec)
+ _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');
+ }
+ return _monthsParse;
+ }(months, monthsShort)),
+ weekdays : "nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),
+ weekdaysShort : "ne_po_ut_st_Å¡t_pi_so".split("_"),
+ weekdaysMin : "ne_po_ut_st_Å¡t_pi_so".split("_"),
+ longDateFormat : {
+ LT: "H:mm",
+ L : "DD.MM.YYYY",
+ LL : "D. MMMM YYYY",
+ LLL : "D. MMMM YYYY LT",
+ LLLL : "dddd D. MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: "[dnes o] LT",
+ nextDay: '[zajtra o] LT',
+ nextWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[v nedeľu o] LT';
+ case 1:
+ case 2:
+ return '[v] dddd [o] LT';
+ case 3:
+ return '[v stredu o] LT';
+ case 4:
+ return '[vo Å¡tvrtok o] LT';
+ case 5:
+ return '[v piatok o] LT';
+ case 6:
+ return '[v sobotu o] LT';
+ }
+ },
+ lastDay: '[vÄera o] LT',
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[minulú nedeľu o] LT';
+ case 1:
+ case 2:
+ return '[minulý] dddd [o] LT';
+ case 3:
+ return '[minulú stredu o] LT';
+ case 4:
+ case 5:
+ return '[minulý] dddd [o] LT';
+ case 6:
+ return '[minulú sobotu o] LT';
+ }
+ },
+ sameElse: "L"
+ },
+ relativeTime : {
+ future : "za %s",
+ past : "pred %s",
+ s : translate,
+ m : translate,
+ mm : translate,
+ h : translate,
+ hh : translate,
+ d : translate,
+ dd : translate,
+ M : translate,
+ MM : translate,
+ y : translate,
+ yy : translate
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : slovenian (sl)
+// author : Robert Sedovšek : https://github.com/sedovsek
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ function translate(number, withoutSuffix, key) {
+ var result = number + " ";
+ switch (key) {
+ case 'm':
+ return withoutSuffix ? 'ena minuta' : 'eno minuto';
+ case 'mm':
+ if (number === 1) {
+ result += 'minuta';
+ } else if (number === 2) {
+ result += 'minuti';
+ } else if (number === 3 || number === 4) {
+ result += 'minute';
+ } else {
+ result += 'minut';
+ }
+ return result;
+ case 'h':
+ return withoutSuffix ? 'ena ura' : 'eno uro';
+ case 'hh':
+ if (number === 1) {
+ result += 'ura';
+ } else if (number === 2) {
+ result += 'uri';
+ } else if (number === 3 || number === 4) {
+ result += 'ure';
+ } else {
+ result += 'ur';
+ }
+ return result;
+ case 'dd':
+ if (number === 1) {
+ result += 'dan';
+ } else {
+ result += 'dni';
+ }
+ return result;
+ case 'MM':
+ if (number === 1) {
+ result += 'mesec';
+ } else if (number === 2) {
+ result += 'meseca';
+ } else if (number === 3 || number === 4) {
+ result += 'mesece';
+ } else {
+ result += 'mesecev';
+ }
+ return result;
+ case 'yy':
+ if (number === 1) {
+ result += 'leto';
+ } else if (number === 2) {
+ result += 'leti';
+ } else if (number === 3 || number === 4) {
+ result += 'leta';
+ } else {
+ result += 'let';
+ }
+ return result;
+ }
+ }
+
+ return moment.lang('sl', {
+ months : "januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),
+ monthsShort : "jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),
+ weekdays : "nedelja_ponedeljek_torek_sreda_Äetrtek_petek_sobota".split("_"),
+ weekdaysShort : "ned._pon._tor._sre._Äet._pet._sob.".split("_"),
+ weekdaysMin : "ne_po_to_sr_Äe_pe_so".split("_"),
+ longDateFormat : {
+ LT : "H:mm",
+ L : "DD. MM. YYYY",
+ LL : "D. MMMM YYYY",
+ LLL : "D. MMMM YYYY LT",
+ LLLL : "dddd, D. MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay : '[danes ob] LT',
+ nextDay : '[jutri ob] LT',
+
+ nextWeek : function () {
+ switch (this.day()) {
+ case 0:
+ return '[v] [nedeljo] [ob] LT';
+ case 3:
+ return '[v] [sredo] [ob] LT';
+ case 6:
+ return '[v] [soboto] [ob] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[v] dddd [ob] LT';
+ }
+ },
+ lastDay : '[vÄeraj ob] LT',
+ lastWeek : function () {
+ switch (this.day()) {
+ case 0:
+ case 3:
+ case 6:
+ return '[prejšnja] dddd [ob] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[prejšnji] dddd [ob] LT';
+ }
+ },
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "Äez %s",
+ past : "%s nazaj",
+ s : "nekaj sekund",
+ m : translate,
+ mm : translate,
+ h : translate,
+ hh : translate,
+ d : "en dan",
+ dd : translate,
+ M : "en mesec",
+ MM : translate,
+ y : "eno leto",
+ yy : translate
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : Albanian (sq)
+// author : Flakërim Ismani : https://github.com/flakerimi
+// author: Menelion Elensúle: https://github.com/Oire (tests)
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('sq', {
+ months : "Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),
+ monthsShort : "Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),
+ weekdays : "E Diel_E Hënë_E Marte_E Mërkure_E Enjte_E Premte_E Shtunë".split("_"),
+ weekdaysShort : "Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),
+ weekdaysMin : "D_H_Ma_Më_E_P_Sh".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd, D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay : '[Sot në] LT',
+ nextDay : '[Neser në] LT',
+ nextWeek : 'dddd [në] LT',
+ lastDay : '[Dje në] LT',
+ lastWeek : 'dddd [e kaluar në] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "në %s",
+ past : "%s me parë",
+ s : "disa seconda",
+ m : "një minut",
+ mm : "%d minutea",
+ h : "një orë",
+ hh : "%d orë",
+ d : "një ditë",
+ dd : "%d ditë",
+ M : "një muaj",
+ MM : "%d muaj",
+ y : "një vit",
+ yy : "%d vite"
+ },
+ ordinal : '%d.',
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : swedish (sv)
+// author : Jens Alm : https://github.com/ulmus
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('sv', {
+ months : "januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),
+ monthsShort : "jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),
+ weekdays : "söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),
+ weekdaysShort : "sön_mån_tis_ons_tor_fre_lör".split("_"),
+ weekdaysMin : "sö_må_ti_on_to_fr_lö".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "YYYY-MM-DD",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: '[Idag] LT',
+ nextDay: '[Imorgon] LT',
+ lastDay: '[Igår] LT',
+ nextWeek: 'dddd LT',
+ lastWeek: '[Förra] dddd[en] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "om %s",
+ past : "för %s sedan",
+ s : "några sekunder",
+ m : "en minut",
+ mm : "%d minuter",
+ h : "en timme",
+ hh : "%d timmar",
+ d : "en dag",
+ dd : "%d dagar",
+ M : "en månad",
+ MM : "%d månader",
+ y : "ett år",
+ yy : "%d år"
+ },
+ ordinal : function (number) {
+ var b = number % 10,
+ output = (~~ (number % 100 / 10) === 1) ? 'e' :
+ (b === 1) ? 'a' :
+ (b === 2) ? 'a' :
+ (b === 3) ? 'e' : 'e';
+ return number + output;
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : thai (th)
+// author : Kridsada Thanabulpong : https://github.com/sirn
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('th', {
+ months : "มà¸à¸£à¸²à¸„ม_à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_à¸à¸£à¸à¸Žà¸²à¸„ม_สิงหาคม_à¸à¸±à¸™à¸¢à¸²à¸¢à¸™_ตุลาคม_พฤศจิà¸à¸²à¸¢à¸™_ธันวาคม".split("_"),
+ monthsShort : "มà¸à¸£à¸²_à¸à¸¸à¸¡à¸ à¸²_มีนา_เมษา_พฤษภา_มิถุนา_à¸à¸£à¸à¸Žà¸²_สิงหา_à¸à¸±à¸™à¸¢à¸²_ตุลา_พฤศจิà¸à¸²_ธันวา".split("_"),
+ weekdays : "อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุà¸à¸£à¹Œ_เสาร์".split("_"),
+ weekdaysShort : "อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุà¸à¸£à¹Œ_เสาร์".split("_"), // yes, three characters difference
+ weekdaysMin : "อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),
+ longDateFormat : {
+ LT : "H นาฬิà¸à¸² m นาที",
+ L : "YYYY/MM/DD",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY เวลา LT",
+ LLLL : "วันddddที่ D MMMM YYYY เวลา LT"
+ },
+ meridiem : function (hour, minute, isLower) {
+ if (hour < 12) {
+ return "à¸à¹ˆà¸­à¸™à¹€à¸—ี่ยง";
+ } else {
+ return "หลังเที่ยง";
+ }
+ },
+ calendar : {
+ sameDay : '[วันนี้ เวลา] LT',
+ nextDay : '[พรุ่งนี้ เวลา] LT',
+ nextWeek : 'dddd[หน้า เวลา] LT',
+ lastDay : '[เมื่อวานนี้ เวลา] LT',
+ lastWeek : '[วัน]dddd[ที่à¹à¸¥à¹‰à¸§ เวลา] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "อีภ%s",
+ past : "%sที่à¹à¸¥à¹‰à¸§",
+ s : "ไม่à¸à¸µà¹ˆà¸§à¸´à¸™à¸²à¸—ี",
+ m : "1 นาที",
+ mm : "%d นาที",
+ h : "1 ชั่วโมง",
+ hh : "%d ชั่วโมง",
+ d : "1 วัน",
+ dd : "%d วัน",
+ M : "1 เดือน",
+ MM : "%d เดือน",
+ y : "1 ปี",
+ yy : "%d ปี"
+ }
+ });
+}));
+// moment.js language configuration
+// language : Tagalog/Filipino (tl-ph)
+// author : Dan Hagman
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('tl-ph', {
+ months : "Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),
+ monthsShort : "Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),
+ weekdays : "Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),
+ weekdaysShort : "Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),
+ weekdaysMin : "Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "MM/D/YYYY",
+ LL : "MMMM D, YYYY",
+ LLL : "MMMM D, YYYY LT",
+ LLLL : "dddd, MMMM DD, YYYY LT"
+ },
+ calendar : {
+ sameDay: "[Ngayon sa] LT",
+ nextDay: '[Bukas sa] LT',
+ nextWeek: 'dddd [sa] LT',
+ lastDay: '[Kahapon sa] LT',
+ lastWeek: 'dddd [huling linggo] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "sa loob ng %s",
+ past : "%s ang nakalipas",
+ s : "ilang segundo",
+ m : "isang minuto",
+ mm : "%d minuto",
+ h : "isang oras",
+ hh : "%d oras",
+ d : "isang araw",
+ dd : "%d araw",
+ M : "isang buwan",
+ MM : "%d buwan",
+ y : "isang taon",
+ yy : "%d taon"
+ },
+ ordinal : function (number) {
+ return number;
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : turkish (tr)
+// authors : Erhan Gundogan : https://github.com/erhangundogan,
+// Burak YiÄŸit Kaya: https://github.com/BYK
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+
+ var suffixes = {
+ 1: "'inci",
+ 5: "'inci",
+ 8: "'inci",
+ 70: "'inci",
+ 80: "'inci",
+
+ 2: "'nci",
+ 7: "'nci",
+ 20: "'nci",
+ 50: "'nci",
+
+ 3: "'üncü",
+ 4: "'üncü",
+ 100: "'üncü",
+
+ 6: "'ncı",
+
+ 9: "'uncu",
+ 10: "'uncu",
+ 30: "'uncu",
+
+ 60: "'ıncı",
+ 90: "'ıncı"
+ };
+
+ return moment.lang('tr', {
+ months : "Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),
+ monthsShort : "Oca_Åžub_Mar_Nis_May_Haz_Tem_AÄŸu_Eyl_Eki_Kas_Ara".split("_"),
+ weekdays : "Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),
+ weekdaysShort : "Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),
+ weekdaysMin : "Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD.MM.YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd, D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay : '[bugün saat] LT',
+ nextDay : '[yarın saat] LT',
+ nextWeek : '[haftaya] dddd [saat] LT',
+ lastDay : '[dün] LT',
+ lastWeek : '[geçen hafta] dddd [saat] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "%s sonra",
+ past : "%s önce",
+ s : "birkaç saniye",
+ m : "bir dakika",
+ mm : "%d dakika",
+ h : "bir saat",
+ hh : "%d saat",
+ d : "bir gün",
+ dd : "%d gün",
+ M : "bir ay",
+ MM : "%d ay",
+ y : "bir yıl",
+ yy : "%d yıl"
+ },
+ ordinal : function (number) {
+ if (number === 0) { // special case for zero
+ return number + "'ıncı";
+ }
+ var a = number % 10,
+ b = number % 100 - a,
+ c = number >= 100 ? 100 : null;
+
+ return number + (suffixes[a] || suffixes[b] || suffixes[c]);
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : Morocco Central Atlas Tamaziɣt in Latin (tzm-la)
+// author : Abdel Said : https://github.com/abdelsaid
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('tzm-la', {
+ months : "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),
+ monthsShort : "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),
+ weekdays : "asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas".split("_"),
+ weekdaysShort : "asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas".split("_"),
+ weekdaysMin : "asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: "[asdkh g] LT",
+ nextDay: '[aska g] LT',
+ nextWeek: 'dddd [g] LT',
+ lastDay: '[assant g] LT',
+ lastWeek: 'dddd [g] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "dadkh s yan %s",
+ past : "yan %s",
+ s : "imik",
+ m : "minuá¸",
+ mm : "%d minuá¸",
+ h : "saɛa",
+ hh : "%d tassaɛin",
+ d : "ass",
+ dd : "%d ossan",
+ M : "ayowr",
+ MM : "%d iyyirn",
+ y : "asgas",
+ yy : "%d isgasn"
+ },
+ week : {
+ dow : 6, // Saturday is the first day of the week.
+ doy : 12 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : Morocco Central Atlas Tamaziɣt (tzm)
+// author : Abdel Said : https://github.com/abdelsaid
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('tzm', {
+ months : "ⵉâµâµâ´°âµ¢âµ”_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓâµâµ¢âµ“_ⵢⵓâµâµ¢âµ“âµ£_ⵖⵓⵛⵜ_ⵛⵓⵜⴰâµâ´±âµ‰âµ”_ⴽⵟⵓⴱⵕ_âµâµ“ⵡⴰâµâ´±âµ‰âµ”_ⴷⵓⵊâµâ´±âµ‰âµ”".split("_"),
+ monthsShort : "ⵉâµâµâ´°âµ¢âµ”_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓâµâµ¢âµ“_ⵢⵓâµâµ¢âµ“âµ£_ⵖⵓⵛⵜ_ⵛⵓⵜⴰâµâ´±âµ‰âµ”_ⴽⵟⵓⴱⵕ_âµâµ“ⵡⴰâµâ´±âµ‰âµ”_ⴷⵓⵊâµâ´±âµ‰âµ”".split("_"),
+ weekdays : "ⴰⵙⴰⵎⴰⵙ_â´°âµ¢âµâ´°âµ™_ⴰⵙⵉâµâ´°âµ™_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),
+ weekdaysShort : "ⴰⵙⴰⵎⴰⵙ_â´°âµ¢âµâ´°âµ™_ⴰⵙⵉâµâ´°âµ™_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),
+ weekdaysMin : "ⴰⵙⴰⵎⴰⵙ_â´°âµ¢âµâ´°âµ™_ⴰⵙⵉâµâ´°âµ™_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "dddd D MMMM YYYY LT"
+ },
+ calendar : {
+ sameDay: "[ⴰⵙⴷⵅ ⴴ] LT",
+ nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
+ nextWeek: 'dddd [â´´] LT',
+ lastDay: '[ⴰⵚⴰâµâµœ â´´] LT',
+ lastWeek: 'dddd [â´´] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "ⴷⴰⴷⵅ ⵙ ⵢⴰⵠ%s",
+ past : "ⵢⴰⵠ%s",
+ s : "ⵉⵎⵉⴽ",
+ m : "ⵎⵉâµâµ“â´º",
+ mm : "%d ⵎⵉâµâµ“â´º",
+ h : "ⵙⴰⵄⴰ",
+ hh : "%d ⵜⴰⵙⵙⴰⵄⵉâµ",
+ d : "ⴰⵙⵙ",
+ dd : "%d oⵙⵙⴰâµ",
+ M : "ⴰⵢoⵓⵔ",
+ MM : "%d ⵉⵢⵢⵉⵔâµ",
+ y : "ⴰⵙⴳⴰⵙ",
+ yy : "%d ⵉⵙⴳⴰⵙâµ"
+ },
+ week : {
+ dow : 6, // Saturday is the first day of the week.
+ doy : 12 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : ukrainian (uk)
+// author : zemlanin : https://github.com/zemlanin
+// Author : Menelion Elensúle : https://github.com/Oire
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ function plural(word, num) {
+ var forms = word.split('_');
+ return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+ }
+
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
+ var format = {
+ 'mm': 'хвилина_хвилини_хвилин',
+ 'hh': 'година_години_годин',
+ 'dd': 'день_дні_днів',
+ 'MM': 'міÑÑць_міÑÑці_міÑÑців',
+ 'yy': 'рік_роки_років'
+ };
+ if (key === 'm') {
+ return withoutSuffix ? 'хвилина' : 'хвилину';
+ }
+ else if (key === 'h') {
+ return withoutSuffix ? 'година' : 'годину';
+ }
+ else {
+ return number + ' ' + plural(format[key], +number);
+ }
+ }
+
+ function monthsCaseReplace(m, format) {
+ var months = {
+ 'nominative': 'Ñічень_лютий_березень_квітень_травень_червень_липень_Ñерпень_вереÑень_жовтень_лиÑтопад_грудень'.split('_'),
+ 'accusative': 'ÑічнÑ_лютого_березнÑ_квітнÑ_травнÑ_червнÑ_липнÑ_ÑерпнÑ_вереÑнÑ_жовтнÑ_лиÑтопада_груднÑ'.split('_')
+ },
+
+ nounCase = (/D[oD]? *MMMM?/).test(format) ?
+ 'accusative' :
+ 'nominative';
+
+ return months[nounCase][m.month()];
+ }
+
+ function weekdaysCaseReplace(m, format) {
+ var weekdays = {
+ 'nominative': 'неділÑ_понеділок_вівторок_Ñереда_четвер_п’ÑтницÑ_Ñубота'.split('_'),
+ 'accusative': 'неділю_понеділок_вівторок_Ñереду_четвер_п’Ñтницю_Ñуботу'.split('_'),
+ 'genitive': 'неділі_понеділка_вівторка_Ñереди_четверга_п’Ñтниці_Ñуботи'.split('_')
+ },
+
+ nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ?
+ 'accusative' :
+ ((/\[?(?:минулої|наÑтупної)? ?\] ?dddd/).test(format) ?
+ 'genitive' :
+ 'nominative');
+
+ return weekdays[nounCase][m.day()];
+ }
+
+ function processHoursFunction(str) {
+ return function () {
+ return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
+ };
+ }
+
+ return moment.lang('uk', {
+ months : monthsCaseReplace,
+ monthsShort : "Ñіч_лют_бер_квіт_трав_черв_лип_Ñерп_вер_жовт_лиÑÑ‚_груд".split("_"),
+ weekdays : weekdaysCaseReplace,
+ weekdaysShort : "нд_пн_вт_ÑÑ€_чт_пт_Ñб".split("_"),
+ weekdaysMin : "нд_пн_вт_ÑÑ€_чт_пт_Ñб".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD.MM.YYYY",
+ LL : "D MMMM YYYY р.",
+ LLL : "D MMMM YYYY р., LT",
+ LLLL : "dddd, D MMMM YYYY р., LT"
+ },
+ calendar : {
+ sameDay: processHoursFunction('[Сьогодні '),
+ nextDay: processHoursFunction('[Завтра '),
+ lastDay: processHoursFunction('[Вчора '),
+ nextWeek: processHoursFunction('[У] dddd ['),
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ case 3:
+ case 5:
+ case 6:
+ return processHoursFunction('[Минулої] dddd [').call(this);
+ case 1:
+ case 2:
+ case 4:
+ return processHoursFunction('[Минулого] dddd [').call(this);
+ }
+ },
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "за %s",
+ past : "%s тому",
+ s : "декілька Ñекунд",
+ m : relativeTimeWithPlural,
+ mm : relativeTimeWithPlural,
+ h : "годину",
+ hh : relativeTimeWithPlural,
+ d : "день",
+ dd : relativeTimeWithPlural,
+ M : "міÑÑць",
+ MM : relativeTimeWithPlural,
+ y : "рік",
+ yy : relativeTimeWithPlural
+ },
+
+ // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
+
+ meridiem : function (hour, minute, isLower) {
+ if (hour < 4) {
+ return "ночі";
+ } else if (hour < 12) {
+ return "ранку";
+ } else if (hour < 17) {
+ return "днÑ";
+ } else {
+ return "вечора";
+ }
+ },
+
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'M':
+ case 'd':
+ case 'DDD':
+ case 'w':
+ case 'W':
+ return number + '-й';
+ case 'D':
+ return number + '-го';
+ default:
+ return number;
+ }
+ },
+
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : uzbek
+// author : Sardor Muminov : https://github.com/muminoff
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('uz', {
+ months : "Ñнварь_февраль_март_апрель_май_июнь_июль_авгуÑÑ‚_ÑентÑбрь_октÑбрь_ноÑбрь_декабрь".split("_"),
+ monthsShort : "Ñнв_фев_мар_апр_май_июн_июл_авг_Ñен_окт_ноÑ_дек".split("_"),
+ weekdays : "Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),
+ weekdaysShort : "Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),
+ weekdaysMin : "Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM YYYY",
+ LLL : "D MMMM YYYY LT",
+ LLLL : "D MMMM YYYY, dddd LT"
+ },
+ calendar : {
+ sameDay : '[Бугун Ñоат] LT [да]',
+ nextDay : '[Эртага] LT [да]',
+ nextWeek : 'dddd [куни Ñоат] LT [да]',
+ lastDay : '[Кеча Ñоат] LT [да]',
+ lastWeek : '[Утган] dddd [куни Ñоат] LT [да]',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : "Якин %s ичида",
+ past : "Бир неча %s олдин",
+ s : "фурÑат",
+ m : "бир дакика",
+ mm : "%d дакика",
+ h : "бир Ñоат",
+ hh : "%d Ñоат",
+ d : "бир кун",
+ dd : "%d кун",
+ M : "бир ой",
+ MM : "%d ой",
+ y : "бир йил",
+ yy : "%d йил"
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 7 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : vietnamese (vn)
+// author : Bang Nguyen : https://github.com/bangnk
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('vn', {
+ months : "tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),
+ monthsShort : "Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),
+ weekdays : "chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),
+ weekdaysShort : "CN_T2_T3_T4_T5_T6_T7".split("_"),
+ weekdaysMin : "CN_T2_T3_T4_T5_T6_T7".split("_"),
+ longDateFormat : {
+ LT : "HH:mm",
+ L : "DD/MM/YYYY",
+ LL : "D MMMM [năm] YYYY",
+ LLL : "D MMMM [năm] YYYY LT",
+ LLLL : "dddd, D MMMM [năm] YYYY LT",
+ l : "DD/M/YYYY",
+ ll : "D MMM YYYY",
+ lll : "D MMM YYYY LT",
+ llll : "ddd, D MMM YYYY LT"
+ },
+ calendar : {
+ sameDay: "[Hôm nay lúc] LT",
+ nextDay: '[Ngày mai lúc] LT',
+ nextWeek: 'dddd [tuần tới lúc] LT',
+ lastDay: '[Hôm qua lúc] LT',
+ lastWeek: 'dddd [tuần rồi lúc] LT',
+ sameElse: 'L'
+ },
+ relativeTime : {
+ future : "%s tá»›i",
+ past : "%s trÆ°á»›c",
+ s : "vài giây",
+ m : "một phút",
+ mm : "%d phút",
+ h : "má»™t giá»",
+ hh : "%d giá»",
+ d : "một ngày",
+ dd : "%d ngày",
+ M : "một tháng",
+ MM : "%d tháng",
+ y : "một năm",
+ yy : "%d năm"
+ },
+ ordinal : function (number) {
+ return number;
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : chinese
+// author : suupic : https://github.com/suupic
+// author : Zeno Zeng : https://github.com/zenozeng
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('zh-cn', {
+ months : "一月_二月_三月_四月_五月_六月_七月_八月_ä¹æœˆ_å月_å一月_å二月".split("_"),
+ monthsShort : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
+ weekdays : "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
+ weekdaysShort : "周日_周一_周二_周三_周四_周五_周六".split("_"),
+ weekdaysMin : "日_一_二_三_四_五_六".split("_"),
+ longDateFormat : {
+ LT : "Ah点mm",
+ L : "YYYYå¹´MMMDæ—¥",
+ LL : "YYYYå¹´MMMDæ—¥",
+ LLL : "YYYYå¹´MMMDæ—¥LT",
+ LLLL : "YYYYå¹´MMMDæ—¥ddddLT",
+ l : "YYYYå¹´MMMDæ—¥",
+ ll : "YYYYå¹´MMMDæ—¥",
+ lll : "YYYYå¹´MMMDæ—¥LT",
+ llll : "YYYYå¹´MMMDæ—¥ddddLT"
+ },
+ meridiem : function (hour, minute, isLower) {
+ var hm = hour * 100 + minute;
+ if (hm < 600) {
+ return "凌晨";
+ } else if (hm < 900) {
+ return "早上";
+ } else if (hm < 1130) {
+ return "上åˆ";
+ } else if (hm < 1230) {
+ return "中åˆ";
+ } else if (hm < 1800) {
+ return "下åˆ";
+ } else {
+ return "晚上";
+ }
+ },
+ calendar : {
+ sameDay : function () {
+ return this.minutes() === 0 ? "[今天]Ah[点整]" : "[今天]LT";
+ },
+ nextDay : function () {
+ return this.minutes() === 0 ? "[明天]Ah[点整]" : "[明天]LT";
+ },
+ lastDay : function () {
+ return this.minutes() === 0 ? "[昨天]Ah[点整]" : "[昨天]LT";
+ },
+ nextWeek : function () {
+ var startOfWeek, prefix;
+ startOfWeek = moment().startOf('week');
+ prefix = this.unix() - startOfWeek.unix() >= 7 * 24 * 3600 ? '[下]' : '[本]';
+ return this.minutes() === 0 ? prefix + "dddAh点整" : prefix + "dddAh点mm";
+ },
+ lastWeek : function () {
+ var startOfWeek, prefix;
+ startOfWeek = moment().startOf('week');
+ prefix = this.unix() < startOfWeek.unix() ? '[上]' : '[本]';
+ return this.minutes() === 0 ? prefix + "dddAh点整" : prefix + "dddAh点mm";
+ },
+ sameElse : 'L'
+ },
+ ordinal : function (number, period) {
+ switch (period) {
+ case "d":
+ case "D":
+ case "DDD":
+ return number + "æ—¥";
+ case "M":
+ return number + "月";
+ case "w":
+ case "W":
+ return number + "周";
+ default:
+ return number;
+ }
+ },
+ relativeTime : {
+ future : "%s内",
+ past : "%så‰",
+ s : "几秒",
+ m : "1分钟",
+ mm : "%d分钟",
+ h : "1å°æ—¶",
+ hh : "%då°æ—¶",
+ d : "1天",
+ dd : "%d天",
+ M : "1个月",
+ MM : "%d个月",
+ y : "1å¹´",
+ yy : "%då¹´"
+ },
+ week : {
+ // GB/T 7408-1994《数æ®å…ƒå’Œäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ—¥æœŸå’Œæ—¶é—´è¡¨ç¤ºæ³•ã€‹ä¸ŽISO 8601:1988等效
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
+ }
+ });
+}));
+// moment.js language configuration
+// language : traditional chinese (zh-tw)
+// author : Ben : https://github.com/ben-lin
+
+(function (factory) {
+ factory(moment);
+}(function (moment) {
+ return moment.lang('zh-tw', {
+ months : "一月_二月_三月_四月_五月_六月_七月_八月_ä¹æœˆ_å月_å一月_å二月".split("_"),
+ monthsShort : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
+ weekdays : "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
+ weekdaysShort : "週日_週一_週二_週三_週四_週五_週六".split("_"),
+ weekdaysMin : "日_一_二_三_四_五_六".split("_"),
+ longDateFormat : {
+ LT : "Ah點mm",
+ L : "YYYYå¹´MMMDæ—¥",
+ LL : "YYYYå¹´MMMDæ—¥",
+ LLL : "YYYYå¹´MMMDæ—¥LT",
+ LLLL : "YYYYå¹´MMMDæ—¥ddddLT",
+ l : "YYYYå¹´MMMDæ—¥",
+ ll : "YYYYå¹´MMMDæ—¥",
+ lll : "YYYYå¹´MMMDæ—¥LT",
+ llll : "YYYYå¹´MMMDæ—¥ddddLT"
+ },
+ meridiem : function (hour, minute, isLower) {
+ var hm = hour * 100 + minute;
+ if (hm < 900) {
+ return "早上";
+ } else if (hm < 1130) {
+ return "上åˆ";
+ } else if (hm < 1230) {
+ return "中åˆ";
+ } else if (hm < 1800) {
+ return "下åˆ";
+ } else {
+ return "晚上";
+ }
+ },
+ calendar : {
+ sameDay : '[今天]LT',
+ nextDay : '[明天]LT',
+ nextWeek : '[下]ddddLT',
+ lastDay : '[昨天]LT',
+ lastWeek : '[上]ddddLT',
+ sameElse : 'L'
+ },
+ ordinal : function (number, period) {
+ switch (period) {
+ case "d" :
+ case "D" :
+ case "DDD" :
+ return number + "æ—¥";
+ case "M" :
+ return number + "月";
+ case "w" :
+ case "W" :
+ return number + "週";
+ default :
+ return number;
+ }
+ },
+ relativeTime : {
+ future : "%så…§",
+ past : "%så‰",
+ s : "幾秒",
+ m : "一分é˜",
+ mm : "%d分é˜",
+ h : "一å°æ™‚",
+ hh : "%då°æ™‚",
+ d : "一天",
+ dd : "%d天",
+ M : "一個月",
+ MM : "%d個月",
+ y : "一年",
+ yy : "%då¹´"
+ }
+ });
+}));
+
+ moment.lang('en');
+
+
+ /************************************
+ Exposing Moment
+ ************************************/
+
+ function makeGlobal(deprecate) {
+ var warned = false, local_moment = moment;
+ /*global ender:false */
+ if (typeof ender !== 'undefined') {
+ return;
+ }
+ // here, `this` means `window` in the browser, or `global` on the server
+ // add `moment` as a global object via a string identifier,
+ // for Closure Compiler "advanced" mode
+ if (deprecate) {
+ this.moment = function () {
+ if (!warned && console && console.warn) {
+ warned = true;
+ console.warn(
+ "Accessing Moment through the global scope is " +
+ "deprecated, and will be removed in an upcoming " +
+ "release.");
+ }
+ return local_moment.apply(null, arguments);
+ };
+ } else {
+ this['moment'] = moment;
+ }
+ }
+
+ // CommonJS module is defined
+ if (hasModule) {
+ module.exports = moment;
+ makeGlobal(true);
+ } else if (typeof define === "function" && define.amd) {
+ define("moment", function (require, exports, module) {
+ if (module.config().noGlobal !== true) {
+ // If user provided noGlobal, he is aware of global
+ makeGlobal(module.config().noGlobal === undefined);
+ }
+
+ return moment;
+ });
+ } else {
+ makeGlobal();
+ }
+}).call(this);
diff --git a/library/bootstrap/css/bootstrap.min.css b/library/bootstrap/css/bootstrap.min.css
index c547283bb..ec1cbd6fb 100644
--- a/library/bootstrap/css/bootstrap.min.css
+++ b/library/bootstrap/css/bootstrap.min.css
@@ -4,4 +4,4 @@
* Licensed under http://www.apache.org/licenses/LICENSE-2.0
*/
-/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a{background:transparent}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h1 small,h2 small,h3 small,h1 .small,h2 .small,h3 .small{font-size:65%}h4,h5,h6{margin-top:10px;margin-bottom:10px}h4 small,h5 small,h6 small,h4 .small,h5 .small,h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-primary:hover{color:#3071a9}.text-warning{color:#8a6d3b}.text-warning:hover{color:#66512c}.text-danger{color:#a94442}.text-danger:hover{color:#843534}.text-success{color:#3c763d}.text-success:hover{color:#2b542c}.text-info{color:#31708f}.text-info:hover{color:#245269}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.list-inline>li:first-child{padding-left:0}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small,blockquote .small{display:block;line-height:1.428571429;color:#999}blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small,blockquote.pull-right .small{text-align:right}blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}@media(min-width:768px){.container{width:750px}}@media(min-width:992px){.container{width:970px}}@media(min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666666666666%}.col-xs-10{width:83.33333333333334%}.col-xs-9{width:75%}.col-xs-8{width:66.66666666666666%}.col-xs-7{width:58.333333333333336%}.col-xs-6{width:50%}.col-xs-5{width:41.66666666666667%}.col-xs-4{width:33.33333333333333%}.col-xs-3{width:25%}.col-xs-2{width:16.666666666666664%}.col-xs-1{width:8.333333333333332%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666666666666%}.col-xs-pull-10{right:83.33333333333334%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666666666666%}.col-xs-pull-7{right:58.333333333333336%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666666666667%}.col-xs-pull-4{right:33.33333333333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.666666666666664%}.col-xs-pull-1{right:8.333333333333332%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666666666666%}.col-xs-push-10{left:83.33333333333334%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666666666666%}.col-xs-push-7{left:58.333333333333336%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666666666667%}.col-xs-push-4{left:33.33333333333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.666666666666664%}.col-xs-push-1{left:8.333333333333332%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666666666666%}.col-xs-offset-10{margin-left:83.33333333333334%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666666666666%}.col-xs-offset-7{margin-left:58.333333333333336%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666666666667%}.col-xs-offset-4{margin-left:33.33333333333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.666666666666664%}.col-xs-offset-1{margin-left:8.333333333333332%}.col-xs-offset-0{margin-left:0}@media(min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media(min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media(min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{display:table-cell;float:none}.table>thead>tr>.active,.table>tbody>tr>.active,.table>tfoot>tr>.active,.table>thead>.active>td,.table>tbody>.active>td,.table>tfoot>.active>td,.table>thead>.active>th,.table>tbody>.active>th,.table>tfoot>.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>.active:hover,.table-hover>tbody>.active:hover>td,.table-hover>tbody>.active:hover>th{background-color:#e8e8e8}.table>thead>tr>.success,.table>tbody>tr>.success,.table>tfoot>tr>.success,.table>thead>.success>td,.table>tbody>.success>td,.table>tfoot>.success>td,.table>thead>.success>th,.table>tbody>.success>th,.table>tfoot>.success>th{background-color:#dff0d8}.table-hover>tbody>tr>.success:hover,.table-hover>tbody>.success:hover>td,.table-hover>tbody>.success:hover>th{background-color:#d0e9c6}.table>thead>tr>.danger,.table>tbody>tr>.danger,.table>tfoot>tr>.danger,.table>thead>.danger>td,.table>tbody>.danger>td,.table>tfoot>.danger>td,.table>thead>.danger>th,.table>tbody>.danger>th,.table>tfoot>.danger>th{background-color:#f2dede}.table-hover>tbody>tr>.danger:hover,.table-hover>tbody>.danger:hover>td,.table-hover>tbody>.danger:hover>th{background-color:#ebcccc}.table>thead>tr>.warning,.table>tbody>tr>.warning,.table>tfoot>tr>.warning,.table>thead>.warning>td,.table>tbody>.warning>td,.table>tfoot>.warning>td,.table>thead>.warning>th,.table>tbody>.warning>th,.table>tfoot>.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>.warning:hover,.table-hover>tbody>.warning:hover>td,.table-hover>tbody>.warning:hover>th{background-color:#faf2cc}@media(max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}select[multiple],select[size]{height:auto}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .radio,.form-inline .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-control-static{padding-top:7px}@media(min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#fff}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-link{font-weight:normal;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;line-height:1;-moz-osx-font-smoothing:grayscale}.glyphicon:empty{width:1em}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn:first-child>.btn{margin-right:-1px}.input-group-btn:last-child>.btn{margin-left:-1px}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media(min-width:768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media(min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media(min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media(min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child th,.panel>.table>tbody:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:last-child>th,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:last-child>td,.panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;max-width:100%;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);opacity:.5;filter:alpha(opacity=50)}.carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.5) 0),color-stop(rgba(0,0,0,0.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.0001) 0),color-stop(rgba(0,0,0,0.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,tr.visible-xs,th.visible-xs,td.visible-xs{display:none!important}@media(max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}th.visible-xs.visible-sm,td.visible-xs.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}th.visible-xs.visible-md,td.visible-xs.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell!important}}.visible-sm,tr.visible-sm,th.visible-sm,td.visible-sm{display:none!important}@media(max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}th.visible-sm.visible-xs,td.visible-sm.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}th.visible-sm.visible-md,td.visible-sm.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell!important}}.visible-md,tr.visible-md,th.visible-md,td.visible-md{display:none!important}@media(max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}th.visible-md.visible-xs,td.visible-md.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}th.visible-md.visible-sm,td.visible-md.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell!important}}.visible-lg,tr.visible-lg,th.visible-lg,td.visible-lg{display:none!important}@media(max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}th.visible-lg.visible-xs,td.visible-lg.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}th.visible-lg.visible-sm,td.visible-lg.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}th.visible-lg.visible-md,td.visible-lg.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}table.hidden-xs{display:table}tr.hidden-xs{display:table-row!important}th.hidden-xs,td.hidden-xs{display:table-cell!important}@media(max-width:767px){.hidden-xs,tr.hidden-xs,th.hidden-xs,td.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,tr.hidden-xs.hidden-md,th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}table.hidden-sm{display:table}tr.hidden-sm{display:table-row!important}th.hidden-sm,td.hidden-sm{display:table-cell!important}@media(max-width:767px){.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-sm,tr.hidden-sm,th.hidden-sm,td.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,tr.hidden-sm.hidden-md,th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}table.hidden-md{display:table}tr.hidden-md{display:table-row!important}th.hidden-md,td.hidden-md{display:table-cell!important}@media(max-width:767px){.hidden-md.hidden-xs,tr.hidden-md.hidden-xs,th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,tr.hidden-md.hidden-sm,th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-md,tr.hidden-md,th.hidden-md,td.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-md.hidden-lg,tr.hidden-md.hidden-lg,th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}table.hidden-lg{display:table}tr.hidden-lg{display:table-row!important}th.hidden-lg,td.hidden-lg{display:table-cell!important}@media(max-width:767px){.hidden-lg.hidden-xs,tr.hidden-lg.hidden-xs,th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm,tr.hidden-lg.hidden-sm,th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md,tr.hidden-lg.hidden-md,th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-lg,tr.hidden-lg,th.hidden-lg,td.hidden-lg{display:none!important}}.visible-print,tr.visible-print,th.visible-print,td.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}.hidden-print,tr.hidden-print,th.hidden-print,td.hidden-print{display:none!important}} \ No newline at end of file
+/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a{background:transparent}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h1 small,h2 small,h3 small,h1 .small,h2 .small,h3 .small{font-size:65%}h4,h5,h6{margin-top:10px;margin-bottom:10px}h4 small,h5 small,h6 small,h4 .small,h5 .small,h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-primary:hover{color:#3071a9}.text-warning{color:#8a6d3b}.text-warning:hover{color:#66512c}.text-danger{color:#a94442}.text-danger:hover{color:#843534}.text-success{color:#3c763d}.text-success:hover{color:#2b542c}.text-info{color:#31708f}.text-info:hover{color:#245269}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.list-inline>li:first-child{padding-left:0}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small,blockquote .small{display:block;line-height:1.428571429;color:#999}blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small,blockquote.pull-right .small{text-align:right}blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}@media(min-width:768px){.container{width:750px}}@media(min-width:992px){.container{width:970px}}@media(min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666666666666%}.col-xs-10{width:83.33333333333334%}.col-xs-9{width:75%}.col-xs-8{width:66.66666666666666%}.col-xs-7{width:58.333333333333336%}.col-xs-6{width:50%}.col-xs-5{width:41.66666666666667%}.col-xs-4{width:33.33333333333333%}.col-xs-3{width:25%}.col-xs-2{width:16.666666666666664%}.col-xs-1{width:8.333333333333332%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666666666666%}.col-xs-pull-10{right:83.33333333333334%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666666666666%}.col-xs-pull-7{right:58.333333333333336%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666666666667%}.col-xs-pull-4{right:33.33333333333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.666666666666664%}.col-xs-pull-1{right:8.333333333333332%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666666666666%}.col-xs-push-10{left:83.33333333333334%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666666666666%}.col-xs-push-7{left:58.333333333333336%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666666666667%}.col-xs-push-4{left:33.33333333333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.666666666666664%}.col-xs-push-1{left:8.333333333333332%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666666666666%}.col-xs-offset-10{margin-left:83.33333333333334%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666666666666%}.col-xs-offset-7{margin-left:58.333333333333336%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666666666667%}.col-xs-offset-4{margin-left:33.33333333333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.666666666666664%}.col-xs-offset-1{margin-left:8.333333333333332%}.col-xs-offset-0{margin-left:0}@media(min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media(min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media(min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{display:table-cell;float:none}.table>thead>tr>.active,.table>tbody>tr>.active,.table>tfoot>tr>.active,.table>thead>.active>td,.table>tbody>.active>td,.table>tfoot>.active>td,.table>thead>.active>th,.table>tbody>.active>th,.table>tfoot>.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>.active:hover,.table-hover>tbody>.active:hover>td,.table-hover>tbody>.active:hover>th{background-color:#e8e8e8}.table>thead>tr>.success,.table>tbody>tr>.success,.table>tfoot>tr>.success,.table>thead>.success>td,.table>tbody>.success>td,.table>tfoot>.success>td,.table>thead>.success>th,.table>tbody>.success>th,.table>tfoot>.success>th{background-color:#dff0d8}.table-hover>tbody>tr>.success:hover,.table-hover>tbody>.success:hover>td,.table-hover>tbody>.success:hover>th{background-color:#d0e9c6}.table>thead>tr>.danger,.table>tbody>tr>.danger,.table>tfoot>tr>.danger,.table>thead>.danger>td,.table>tbody>.danger>td,.table>tfoot>.danger>td,.table>thead>.danger>th,.table>tbody>.danger>th,.table>tfoot>.danger>th{background-color:#f2dede}.table-hover>tbody>tr>.danger:hover,.table-hover>tbody>.danger:hover>td,.table-hover>tbody>.danger:hover>th{background-color:#ebcccc}.table>thead>tr>.warning,.table>tbody>tr>.warning,.table>tfoot>tr>.warning,.table>thead>.warning>td,.table>tbody>.warning>td,.table>tfoot>.warning>td,.table>thead>.warning>th,.table>tbody>.warning>th,.table>tfoot>.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>.warning:hover,.table-hover>tbody>.warning:hover>td,.table-hover>tbody>.warning:hover>th{background-color:#faf2cc}@media(max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}select[multiple],select[size]{height:auto}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .radio,.form-inline .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-control-static{padding-top:7px}@media(min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#fff}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-link{font-weight:normal;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;line-height:1;-moz-osx-font-smoothing:grayscale}.glyphicon:empty{width:1em}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn:first-child>.btn{margin-right:-1px}.input-group-btn:last-child>.btn{margin-left:-1px}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media(min-width:768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media(min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media(min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media(min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child th,.panel>.table>tbody:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:last-child>th,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:last-child>td,.panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;max-width:100%;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);opacity:.5;filter:alpha(opacity=50)}.carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.5) 0),color-stop(rgba(0,0,0,0.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.0001) 0),color-stop(rgba(0,0,0,0.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,tr.visible-xs,th.visible-xs,td.visible-xs{display:none!important}@media(max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}th.visible-xs.visible-sm,td.visible-xs.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}th.visible-xs.visible-md,td.visible-xs.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell!important}}.visible-sm,tr.visible-sm,th.visible-sm,td.visible-sm{display:none!important}@media(max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}th.visible-sm.visible-xs,td.visible-sm.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}th.visible-sm.visible-md,td.visible-sm.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell!important}}.visible-md,tr.visible-md,th.visible-md,td.visible-md{display:none!important}@media(max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}th.visible-md.visible-xs,td.visible-md.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}th.visible-md.visible-sm,td.visible-md.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell!important}}.visible-lg,tr.visible-lg,th.visible-lg,td.visible-lg{display:none!important}@media(max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}th.visible-lg.visible-xs,td.visible-lg.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}th.visible-lg.visible-sm,td.visible-lg.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}th.visible-lg.visible-md,td.visible-lg.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}table.hidden-xs{display:table}tr.hidden-xs{display:table-row!important}th.hidden-xs,td.hidden-xs{display:table-cell!important}@media(max-width:767px){.hidden-xs,tr.hidden-xs,th.hidden-xs,td.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,tr.hidden-xs.hidden-md,th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}table.hidden-sm{display:table}tr.hidden-sm{display:table-row!important}th.hidden-sm,td.hidden-sm{display:table-cell!important}@media(max-width:767px){.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-sm,tr.hidden-sm,th.hidden-sm,td.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,tr.hidden-sm.hidden-md,th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}table.hidden-md{display:table}tr.hidden-md{display:table-row!important}th.hidden-md,td.hidden-md{display:table-cell!important}@media(max-width:767px){.hidden-md.hidden-xs,tr.hidden-md.hidden-xs,th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,tr.hidden-md.hidden-sm,th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-md,tr.hidden-md,th.hidden-md,td.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-md.hidden-lg,tr.hidden-md.hidden-lg,th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}table.hidden-lg{display:table}tr.hidden-lg{display:table-row!important}th.hidden-lg,td.hidden-lg{display:table-cell!important}@media(max-width:767px){.hidden-lg.hidden-xs,tr.hidden-lg.hidden-xs,th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm,tr.hidden-lg.hidden-sm,th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md,tr.hidden-lg.hidden-md,th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-lg,tr.hidden-lg,th.hidden-lg,td.hidden-lg{display:none!important}}.visible-print,tr.visible-print,th.visible-print,td.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}.hidden-print,tr.hidden-print,th.hidden-print,td.hidden-print{display:none!important}} \ No newline at end of file
diff --git a/library/jqupload/.gitignore b/library/jqupload/.gitignore
new file mode 100644
index 000000000..29a41a8c4
--- /dev/null
+++ b/library/jqupload/.gitignore
@@ -0,0 +1,3 @@
+.DS_Store
+*.pyc
+node_modules
diff --git a/library/jqupload/.jshintrc b/library/jqupload/.jshintrc
new file mode 100644
index 000000000..4ad82e664
--- /dev/null
+++ b/library/jqupload/.jshintrc
@@ -0,0 +1,81 @@
+{
+ "bitwise" : true, // true: Prohibit bitwise operators (&, |, ^, etc.)
+ "camelcase" : true, // true: Identifiers must be in camelCase
+ "curly" : true, // true: Require {} for every new block or scope
+ "eqeqeq" : true, // true: Require triple equals (===) for comparison
+ "forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty()
+ "immed" : true, // true: Require immediate invocations to be wrapped in parens
+ // e.g. `(function () { } ());`
+ "indent" : 4, // {int} Number of spaces to use for indentation
+ "latedef" : true, // true: Require variables/functions to be defined before being used
+ "newcap" : true, // true: Require capitalization of all constructor functions e.g. `new F()`
+ "noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee`
+ "noempty" : true, // true: Prohibit use of empty blocks
+ "nonew" : true, // true: Prohibit use of constructors for side-effects (without assignment)
+ "plusplus" : false, // true: Prohibit use of `++` & `--`
+ "quotmark" : "single", // Quotation mark consistency:
+ // false : do nothing (default)
+ // true : ensure whatever is used is consistent
+ // "single" : require single quotes
+ // "double" : require double quotes
+ "undef" : true, // true: Require all non-global variables to be declared (prevents global leaks)
+ "unused" : true, // true: Require all defined variables be used
+ "strict" : true, // true: Requires all functions run in ES5 Strict Mode
+ "trailing" : true, // true: Prohibit trailing whitespaces
+ "maxparams" : false, // {int} Max number of formal params allowed per function
+ "maxdepth" : false, // {int} Max depth of nested blocks (within functions)
+ "maxstatements" : false, // {int} Max number statements per function
+ "maxcomplexity" : false, // {int} Max cyclomatic complexity per function
+ "maxlen" : false, // {int} Max number of characters per line
+
+ // Relaxing
+ "asi" : false, // true: Tolerate Automatic Semicolon Insertion (no semicolons)
+ "boss" : false, // true: Tolerate assignments where comparisons would be expected
+ "debug" : false, // true: Allow debugger statements e.g. browser breakpoints.
+ "eqnull" : false, // true: Tolerate use of `== null`
+ "es5" : false, // true: Allow ES5 syntax (ex: getters and setters)
+ "esnext" : false, // true: Allow ES.next (ES6) syntax (ex: `const`)
+ "moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features)
+ // (ex: `for each`, multiple try/catch, function expression…)
+ "evil" : false, // true: Tolerate use of `eval` and `new Function()`
+ "expr" : false, // true: Tolerate `ExpressionStatement` as Programs
+ "funcscope" : false, // true: Tolerate defining variables inside control statements"
+ "globalstrict" : false, // true: Allow global "use strict" (also enables 'strict')
+ "iterator" : false, // true: Tolerate using the `__iterator__` property
+ "lastsemic" : false, // true: Tolerate omitting a semicolon for the last statement of a 1-line block
+ "laxbreak" : false, // true: Tolerate possibly unsafe line breakings
+ "laxcomma" : false, // true: Tolerate comma-first style coding
+ "loopfunc" : false, // true: Tolerate functions being defined in loops
+ "multistr" : false, // true: Tolerate multi-line strings
+ "proto" : false, // true: Tolerate using the `__proto__` property
+ "scripturl" : false, // true: Tolerate script-targeted URLs
+ "smarttabs" : false, // true: Tolerate mixed tabs/spaces when used for alignment
+ "shadow" : false, // true: Allows re-define variables later in code e.g. `var x=1; x=2;`
+ "sub" : false, // true: Tolerate using `[]` notation when it can still be expressed in dot notation
+ "supernew" : false, // true: Tolerate `new function () { ... };` and `new Object;`
+ "validthis" : false, // true: Tolerate using this in a non-constructor function
+
+ // Environments
+ "browser" : false, // Web Browser (window, document, etc)
+ "couch" : false, // CouchDB
+ "devel" : false, // Development/debugging (alert, confirm, etc)
+ "dojo" : false, // Dojo Toolkit
+ "jquery" : false, // jQuery
+ "mootools" : false, // MooTools
+ "node" : false, // Node.js
+ "nonstandard" : false, // Widely adopted globals (escape, unescape, etc)
+ "prototypejs" : false, // Prototype and Scriptaculous
+ "rhino" : false, // Rhino
+ "worker" : false, // Web Workers
+ "wsh" : false, // Windows Scripting Host
+ "yui" : false, // Yahoo User Interface
+
+ // Legacy
+ "nomen" : true, // true: Prohibit dangling `_` in variables
+ "onevar" : true, // true: Allow only one `var` statement per function
+ "passfail" : false, // true: Stop on first error
+ "white" : true, // true: Check against strict whitespace and indentation rules
+
+ // Custom Globals
+ "globals" : {} // additional predefined global variables
+}
diff --git a/library/jqupload/CONTRIBUTING.md b/library/jqupload/CONTRIBUTING.md
new file mode 100644
index 000000000..2326ad031
--- /dev/null
+++ b/library/jqupload/CONTRIBUTING.md
@@ -0,0 +1,42 @@
+# Issue Guidelines
+
+The issues tracker should only be used for **bugs** or **feature requests**.
+
+Please post **support requests** and **general discussions** about this project to the [support forum](https://groups.google.com/d/forum/jquery-fileupload).
+
+## Bugs
+
+Please follow these guidelines before reporting a bug:
+
+1. **Update to the latest version** &mdash; Check if you can reproduce the issue with the latest version from the `master` branch.
+
+2. **Use the GitHub issue search** &mdash; check if the issue has already been reported. If it has been, please comment on the existing issue.
+
+3. **Isolate the demonstrable problem** &mdash; Try to reproduce the problem with the [Demo](http://blueimp.github.io/jQuery-File-Upload/) or with a reduced test case that includes the least amount of code necessary to reproduce the problem.
+
+4. **Provide a means to reproduce the problem** &mdash; Please provide as much details as possible, e.g. server information, browser and operating system versions, steps to reproduce the problem. If possible, provide a link to your reduced test case, e.g. via [JSFiddle](http://jsfiddle.net/).
+
+
+## Feature requests
+
+Please follow the bug guidelines above for feature requests, i.e. update to the latest version and search for exising issues before posting a new request.
+
+Generally, feature requests might be accepted if the implementation would benefit a broader use case or the project could be considered incomplete without that feature.
+
+If you need help integrating this project into another framework, please post your request to the [support forum](https://groups.google.com/d/forum/jquery-fileupload).
+
+## Pull requests
+
+[Pull requests](https://help.github.com/articles/using-pull-requests) are welcome and the preferred way of accepting code contributions.
+
+However, if you add a server-side upload handler implementation for another framework, please continue to maintain this version in your own fork without sending a pull request. You are welcome to add a link and possibly documentation about your implementation to the [Wiki](https://github.com/blueimp/jQuery-File-Upload/wiki).
+
+Please follow these guidelines before sending a pull request:
+
+1. Update your fork to the latest upstream version.
+
+2. Follow the coding conventions of the original repository. Changes to one of the JavaScript source files are required to pass the [JSLint](http://jslint.com/) validation tool.
+
+3. Keep your commits as atomar as possible, i.e. create a new commit for every single bug fix or feature added.
+
+4. Always add meaningfull commit messages.
diff --git a/library/jqupload/Gruntfile.js b/library/jqupload/Gruntfile.js
new file mode 100644
index 000000000..dcdb5d57a
--- /dev/null
+++ b/library/jqupload/Gruntfile.js
@@ -0,0 +1,37 @@
+/*
+ * jQuery File Upload Gruntfile
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/*global module */
+
+module.exports = function (grunt) {
+ 'use strict';
+
+ grunt.initConfig({
+ jshint: {
+ options: {
+ jshintrc: '.jshintrc'
+ },
+ all: [
+ 'Gruntfile.js',
+ 'js/cors/*.js',
+ 'js/*.js',
+ 'server/node/server.js',
+ 'test/test.js'
+ ]
+ }
+ });
+
+ grunt.loadNpmTasks('grunt-contrib-jshint');
+ grunt.loadNpmTasks('grunt-bump-build-git');
+ grunt.registerTask('test', ['jshint']);
+ grunt.registerTask('default', ['test']);
+
+};
diff --git a/library/jqupload/README.md b/library/jqupload/README.md
new file mode 100644
index 000000000..726e6b342
--- /dev/null
+++ b/library/jqupload/README.md
@@ -0,0 +1,123 @@
+# jQuery File Upload Plugin
+
+## Demo
+[Demo File Upload](http://blueimp.github.io/jQuery-File-Upload/)
+
+## Description
+File Upload widget with multiple file selection, drag&amp;drop support, progress bars, validation and preview images, audio and video for jQuery.
+Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.
+
+## Setup
+* [How to setup the plugin on your website](https://github.com/blueimp/jQuery-File-Upload/wiki/Setup)
+* [How to use only the basic plugin (minimal setup guide).](https://github.com/blueimp/jQuery-File-Upload/wiki/Basic-plugin)
+
+## Support
+
+* **[Support Forum](https://groups.google.com/d/forum/jquery-fileupload)**
+**Support requests** and **general discussions** about the File Upload plugin can be posted to the official
+[Support Forum](https://groups.google.com/d/forum/jquery-fileupload).
+If your question is not directly related to the File Upload plugin, you might have a better chance to get a reply by posting to [Stack Overflow](http://stackoverflow.com/questions/tagged/blueimp+jquery+file-upload).
+
+* Bugs and Feature requests
+**Bugs** and **Feature requests** can be reported using the [issues tracker](https://github.com/blueimp/jQuery-File-Upload/issues).
+Please read the [issue guidelines](https://github.com/blueimp/jQuery-File-Upload/blob/master/CONTRIBUTING.md) before posting.
+
+## Features
+* **Multiple file upload:**
+ Allows to select multiple files at once and upload them simultaneously.
+* **Drag & Drop support:**
+ Allows to upload files by dragging them from your desktop or filemanager and dropping them on your browser window.
+* **Upload progress bar:**
+ Shows a progress bar indicating the upload progress for individual files and for all uploads combined.
+* **Cancelable uploads:**
+ Individual file uploads can be canceled to stop the upload progress.
+* **Resumable uploads:**
+ Aborted uploads can be resumed with browsers supporting the Blob API.
+* **Chunked uploads:**
+ Large files can be uploaded in smaller chunks with browsers supporting the Blob API.
+* **Client-side image resizing:**
+ Images can be automatically resized on client-side with browsers supporting the required JS APIs.
+* **Preview images, audio and video:**
+ A preview of image, audio and video files can be displayed before uploading with browsers supporting the required APIs.
+* **No browser plugins (e.g. Adobe Flash) required:**
+ The implementation is based on open standards like HTML5 and JavaScript and requires no additional browser plugins.
+* **Graceful fallback for legacy browsers:**
+ Uploads files via XMLHttpRequests if supported and uses iframes as fallback for legacy browsers.
+* **HTML file upload form fallback:**
+ Allows progressive enhancement by using a standard HTML file upload form as widget element.
+* **Cross-site file uploads:**
+ Supports uploading files to a different domain with cross-site XMLHttpRequests or iframe redirects.
+* **Multiple plugin instances:**
+ Allows to use multiple plugin instances on the same webpage.
+* **Customizable and extensible:**
+ Provides an API to set individual options and define callBack methods for various upload events.
+* **Multipart and file contents stream uploads:**
+ Files can be uploaded as standard "multipart/form-data" or file contents stream (HTTP PUT file upload).
+* **Compatible with any server-side application platform:**
+ Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.
+
+## Requirements
+
+### Mandatory requirements
+* [jQuery](http://jquery.com/) v. 1.6+
+* [jQuery UI widget factory](http://api.jqueryui.com/jQuery.widget/) v. 1.9+ (included)
+* [jQuery Iframe Transport plugin](https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.iframe-transport.js) (included)
+
+The jQuery UI widget factory is a requirement for the basic File Upload plugin, but very lightweight without any other dependencies from the jQuery UI suite.
+
+The jQuery Iframe Transport is required for [browsers without XHR file upload support](https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support).
+
+### Optional requirements
+* [JavaScript Templates engine](https://github.com/blueimp/JavaScript-Templates) v. 2.5.3+
+* [JavaScript Load Image library](https://github.com/blueimp/JavaScript-Load-Image) v. 1.11.0+
+* [JavaScript Canvas to Blob polyfill](https://github.com/blueimp/JavaScript-Canvas-to-Blob) v. 2.1.0+
+* [blueimp Gallery](https://github.com/blueimp/Gallery) v. 2.12.0+
+* [Bootstrap CSS framework](http://getbootstrap.com/) v. 3.0.0+
+* [Glyphicons](http://glyphicons.com/)
+
+The JavaScript Templates engine is used to render the selected and uploaded files for the Basic Plus UI and jQuery UI versions.
+
+The JavaScript Load Image library and JavaScript Canvas to Blob polyfill are required for the image previews and resizing functionality.
+
+The blueimp Gallery is used to display the uploaded images in a lightbox.
+
+The user interface of all versions except the jQuery UI version is built with Twitter's [Bootstrap](http://getbootstrap.com/) framework and icons from [Glyphicons](http://glyphicons.com/).
+
+### Cross-domain requirements
+[Cross-domain File Uploads](https://github.com/blueimp/jQuery-File-Upload/wiki/Cross-domain-uploads) using the [Iframe Transport plugin](https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.iframe-transport.js) require a redirect back to the origin server to retrieve the upload results. The [example implementation](https://github.com/blueimp/jQuery-File-Upload/blob/master/js/main.js) makes use of [result.html](https://github.com/blueimp/jQuery-File-Upload/blob/master/cors/result.html) as a static redirect page for the origin server.
+
+The repository also includes the [jQuery XDomainRequest Transport plugin](https://github.com/blueimp/jQuery-File-Upload/blob/master/js/cors/jquery.xdr-transport.js), which enables limited cross-domain AJAX requests in Microsoft Internet Explorer 8 and 9 (IE 10 supports cross-domain XHR requests).
+The XDomainRequest object allows GET and POST requests only and doesn't support file uploads. It is used on the [Demo](http://blueimp.github.io/jQuery-File-Upload/) to delete uploaded files from the cross-domain demo file upload service.
+
+## Browsers
+
+### Desktop browsers
+The File Upload plugin is regularly tested with the latest browser versions and supports the following minimal versions:
+
+* Google Chrome
+* Apple Safari 4.0+
+* Mozilla Firefox 3.0+
+* Opera 11.0+
+* Microsoft Internet Explorer 6.0+
+
+### Mobile browsers
+The File Upload plugin has been tested with and supports the following mobile browsers:
+
+* Apple Safari on iOS 6.0+
+* Google Chrome on iOS 6.0+
+* Google Chrome on Android 4.0+
+* Default Browser on Android 2.3+
+* Opera Mobile 12.0+
+
+### Supported features
+For a detailed overview of the features supported by each browser version please have a look at the [Extended browser support information](https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support).
+
+## License
+Released under the [MIT license](http://www.opensource.org/licenses/MIT).
+
+## Donations
+jQuery File Upload is free software, but you can donate to support the developer, Sebastian Tschan:
+
+Flattr: [![Flattr](https://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/thing/286433/jQuery-File-Upload-Plugin)
+
+PayPal: [![PayPal](https://www.paypalobjects.com/WEBSCR-640-20110429-1/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=PYWYSYP77KL54)
diff --git a/library/jqupload/angularjs.html b/library/jqupload/angularjs.html
new file mode 100644
index 000000000..d578cfa57
--- /dev/null
+++ b/library/jqupload/angularjs.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML>
+<!--
+/*
+ * jQuery File Upload Plugin AngularJS Demo 2.1.2
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+-->
+<html lang="en">
+<head>
+<!-- Force latest IE rendering engine or ChromeFrame if installed -->
+<!--[if IE]>
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+<![endif]-->
+<meta charset="utf-8">
+<title>jQuery File Upload Demo - AngularJS version</title>
+<meta name="description" content="File Upload widget with multiple file selection, drag&amp;drop support, progress bars, validation and preview images, audio and video for AngularJS. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<!-- Bootstrap styles -->
+<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
+<!-- Generic page styles -->
+<link rel="stylesheet" href="css/style.css">
+<!-- blueimp Gallery styles -->
+<link rel="stylesheet" href="http://blueimp.github.io/Gallery/css/blueimp-gallery.min.css">
+<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
+<link rel="stylesheet" href="css/jquery.fileupload.css">
+<link rel="stylesheet" href="css/jquery.fileupload-ui.css">
+<!-- CSS adjustments for browsers with JavaScript disabled -->
+<noscript><link rel="stylesheet" href="css/jquery.fileupload-noscript.css"></noscript>
+<noscript><link rel="stylesheet" href="css/jquery.fileupload-ui-noscript.css"></noscript>
+<style>
+/* Hide Angular JS elements before initializing */
+.ng-cloak {
+ display: none;
+}
+</style>
+</head>
+<body>
+<div class="navbar navbar-default navbar-fixed-top">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-fixed-top .navbar-collapse">
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="https://github.com/blueimp/jQuery-File-Upload">jQuery File Upload</a>
+ </div>
+ <div class="navbar-collapse collapse">
+ <ul class="nav navbar-nav">
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload/tags">Download</a></li>
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload">Source Code</a></li>
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload/wiki">Documentation</a></li>
+ <li><a href="https://blueimp.net">&copy; Sebastian Tschan</a></li>
+ </ul>
+ </div>
+ </div>
+</div>
+<div class="container">
+ <h1>jQuery File Upload Demo</h1>
+ <h2 class="lead">AngularJS version</h2>
+ <ul class="nav nav-tabs">
+ <li><a href="basic.html">Basic</a></li>
+ <li><a href="basic-plus.html">Basic Plus</a></li>
+ <li><a href="index.html">Basic Plus UI</a></li>
+ <li class="active"><a href="angularjs.html">AngularJS</a></li>
+ <li><a href="jquery-ui.html">jQuery UI</a></li>
+ </ul>
+ <br>
+ <blockquote>
+ <p>File Upload widget with multiple file selection, drag&amp;drop support, progress bars, validation and preview images, audio and video for AngularJS.<br>
+ Supports cross-domain, chunked and resumable file uploads and client-side image resizing.<br>
+ Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.</p>
+ </blockquote>
+ <br>
+ <!-- The file upload form used as target for the file upload widget -->
+ <form id="fileupload" action="//jquery-file-upload.appspot.com/" method="POST" enctype="multipart/form-data" data-ng-app="demo" data-ng-controller="DemoFileUploadController" data-file-upload="options" data-ng-class="{'fileupload-processing': processing() || loadingFiles}">
+ <!-- Redirect browsers with JavaScript disabled to the origin page -->
+ <noscript><input type="hidden" name="redirect" value="http://blueimp.github.io/jQuery-File-Upload/"></noscript>
+ <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
+ <div class="row fileupload-buttonbar">
+ <div class="col-lg-7">
+ <!-- The fileinput-button span is used to style the file input field as button -->
+ <span class="btn btn-success fileinput-button" ng-class="{disabled: disabled}">
+ <i class="glyphicon glyphicon-plus"></i>
+ <span>Add files...</span>
+ <input type="file" name="files[]" multiple ng-disabled="disabled">
+ </span>
+ <button type="button" class="btn btn-primary start" data-ng-click="submit()">
+ <i class="glyphicon glyphicon-upload"></i>
+ <span>Start upload</span>
+ </button>
+ <button type="button" class="btn btn-warning cancel" data-ng-click="cancel()">
+ <i class="glyphicon glyphicon-ban-circle"></i>
+ <span>Cancel upload</span>
+ </button>
+ <!-- The global file processing state -->
+ <span class="fileupload-process"></span>
+ </div>
+ <!-- The global progress state -->
+ <div class="col-lg-5 fade" data-ng-class="{in: active()}">
+ <!-- The global progress bar -->
+ <div class="progress progress-striped active" data-file-upload-progress="progress()"><div class="progress-bar progress-bar-success" data-ng-style="{width: num + '%'}"></div></div>
+ <!-- The extended global progress state -->
+ <div class="progress-extended">&nbsp;</div>
+ </div>
+ </div>
+ <!-- The table listing the files available for upload/download -->
+ <table class="table table-striped files ng-cloak">
+ <tr data-ng-repeat="file in queue" data-ng-class="{'processing': file.$processing()}">
+ <td data-ng-switch data-on="!!file.thumbnailUrl">
+ <div class="preview" data-ng-switch-when="true">
+ <a data-ng-href="{{file.url}}" title="{{file.name}}" download="{{file.name}}" data-gallery><img data-ng-src="{{file.thumbnailUrl}}" alt=""></a>
+ </div>
+ <div class="preview" data-ng-switch-default data-file-upload-preview="file"></div>
+ </td>
+ <td>
+ <p class="name" data-ng-switch data-on="!!file.url">
+ <span data-ng-switch-when="true" data-ng-switch data-on="!!file.thumbnailUrl">
+ <a data-ng-switch-when="true" data-ng-href="{{file.url}}" title="{{file.name}}" download="{{file.name}}" data-gallery>{{file.name}}</a>
+ <a data-ng-switch-default data-ng-href="{{file.url}}" title="{{file.name}}" download="{{file.name}}">{{file.name}}</a>
+ </span>
+ <span data-ng-switch-default>{{file.name}}</span>
+ </p>
+ <strong data-ng-show="file.error" class="error text-danger">{{file.error}}</strong>
+ </td>
+ <td>
+ <p class="size">{{file.size | formatFileSize}}</p>
+ <div class="progress progress-striped active fade" data-ng-class="{pending: 'in'}[file.$state()]" data-file-upload-progress="file.$progress()"><div class="progress-bar progress-bar-success" data-ng-style="{width: num + '%'}"></div></div>
+ </td>
+ <td>
+ <button type="button" class="btn btn-primary start" data-ng-click="file.$submit()" data-ng-hide="!file.$submit || options.autoUpload" data-ng-disabled="file.$state() == 'pending' || file.$state() == 'rejected'">
+ <i class="glyphicon glyphicon-upload"></i>
+ <span>Start</span>
+ </button>
+ <button type="button" class="btn btn-warning cancel" data-ng-click="file.$cancel()" data-ng-hide="!file.$cancel">
+ <i class="glyphicon glyphicon-ban-circle"></i>
+ <span>Cancel</span>
+ </button>
+ <button data-ng-controller="FileDestroyController" type="button" class="btn btn-danger destroy" data-ng-click="file.$destroy()" data-ng-hide="!file.$destroy">
+ <i class="glyphicon glyphicon-trash"></i>
+ <span>Delete</span>
+ </button>
+ </td>
+ </tr>
+ </table>
+ </form>
+ <br>
+ <div class="panel panel-default">
+ <div class="panel-heading">
+ <h3 class="panel-title">Demo Notes</h3>
+ </div>
+ <div class="panel-body">
+ <ul>
+ <li>The maximum file size for uploads in this demo is <strong>5 MB</strong> (default file size is unlimited).</li>
+ <li>Only image files (<strong>JPG, GIF, PNG</strong>) are allowed in this demo (by default there is no file type restriction).</li>
+ <li>Uploaded files will be deleted automatically after <strong>5 minutes</strong> (demo setting).</li>
+ <li>You can <strong>drag &amp; drop</strong> files from your desktop on this webpage (see <a href="https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support">Browser support</a>).</li>
+ <li>Please refer to the <a href="https://github.com/blueimp/jQuery-File-Upload">project website</a> and <a href="https://github.com/blueimp/jQuery-File-Upload/wiki">documentation</a> for more information.</li>
+ <li>Built with Twitter's <a href="http://twitter.github.com/bootstrap/">Bootstrap</a> CSS framework and Icons from <a href="http://glyphicons.com/">Glyphicons</a>.</li>
+ </ul>
+ </div>
+ </div>
+</div>
+<!-- The blueimp Gallery widget -->
+<div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls" data-filter=":even">
+ <div class="slides"></div>
+ <h3 class="title"></h3>
+ <a class="prev">‹</a>
+ <a class="next">›</a>
+ <a class="close">×</a>
+ <a class="play-pause"></a>
+ <ol class="indicator"></ol>
+</div>
+<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
+<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js"></script>
+<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
+<script src="js/vendor/jquery.ui.widget.js"></script>
+<!-- The Load Image plugin is included for the preview images and image resizing functionality -->
+<script src="http://blueimp.github.io/JavaScript-Load-Image/js/load-image.min.js"></script>
+<!-- The Canvas to Blob plugin is included for image resizing functionality -->
+<script src="http://blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script>
+<!-- Bootstrap JS is not required, but included for the responsive demo navigation -->
+<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
+<!-- blueimp Gallery script -->
+<script src="http://blueimp.github.io/Gallery/js/jquery.blueimp-gallery.min.js"></script>
+<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
+<script src="js/jquery.iframe-transport.js"></script>
+<!-- The basic File Upload plugin -->
+<script src="js/jquery.fileupload.js"></script>
+<!-- The File Upload processing plugin -->
+<script src="js/jquery.fileupload-process.js"></script>
+<!-- The File Upload image preview & resize plugin -->
+<script src="js/jquery.fileupload-image.js"></script>
+<!-- The File Upload audio preview plugin -->
+<script src="js/jquery.fileupload-audio.js"></script>
+<!-- The File Upload video preview plugin -->
+<script src="js/jquery.fileupload-video.js"></script>
+<!-- The File Upload validation plugin -->
+<script src="js/jquery.fileupload-validate.js"></script>
+<!-- The File Upload Angular JS module -->
+<script src="js/jquery.fileupload-angular.js"></script>
+<!-- The main application script -->
+<script src="js/app.js"></script>
+</body>
+</html>
diff --git a/library/jqupload/basic-plus.html b/library/jqupload/basic-plus.html
new file mode 100644
index 000000000..dc90bd768
--- /dev/null
+++ b/library/jqupload/basic-plus.html
@@ -0,0 +1,226 @@
+<!DOCTYPE HTML>
+<!--
+/*
+ * jQuery File Upload Plugin Basic Plus Demo 1.3.5
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+-->
+<html lang="en">
+<head>
+<!-- Force latest IE rendering engine or ChromeFrame if installed -->
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]-->
+<meta charset="utf-8">
+<title>jQuery File Upload Demo - Basic Plus version</title>
+<meta name="description" content="File Upload widget with multiple file selection, drag&amp;drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads.">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<!-- Bootstrap styles -->
+<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
+<!-- Generic page styles -->
+<link rel="stylesheet" href="css/style.css">
+<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
+<link rel="stylesheet" href="css/jquery.fileupload.css">
+</head>
+<body>
+<div class="navbar navbar-default navbar-fixed-top">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-fixed-top .navbar-collapse">
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="https://github.com/blueimp/jQuery-File-Upload">jQuery File Upload</a>
+ </div>
+ <div class="navbar-collapse collapse">
+ <ul class="nav navbar-nav">
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload/tags">Download</a></li>
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload">Source Code</a></li>
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload/wiki">Documentation</a></li>
+ <li><a href="https://blueimp.net">&copy; Sebastian Tschan</a></li>
+ </ul>
+ </div>
+ </div>
+</div>
+<div class="container">
+ <h1>jQuery File Upload Demo</h1>
+ <h2 class="lead">Basic Plus version</h2>
+ <ul class="nav nav-tabs">
+ <li><a href="basic.html">Basic</a></li>
+ <li class="active"><a href="basic-plus.html">Basic Plus</a></li>
+ <li><a href="index.html">Basic Plus UI</a></li>
+ <li><a href="angularjs.html">AngularJS</a></li>
+ <li><a href="jquery-ui.html">jQuery UI</a></li>
+ </ul>
+ <br>
+ <blockquote>
+ <p>File Upload widget with multiple file selection, drag&amp;drop support, progress bar, validation and preview images, audio and video for jQuery.<br>
+ Supports cross-domain, chunked and resumable file uploads and client-side image resizing.<br>
+ Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.</p>
+ </blockquote>
+ <br>
+ <!-- The fileinput-button span is used to style the file input field as button -->
+ <span class="btn btn-success fileinput-button">
+ <i class="glyphicon glyphicon-plus"></i>
+ <span>Add files...</span>
+ <!-- The file input field used as target for the file upload widget -->
+ <input id="fileupload" type="file" name="files[]" multiple>
+ </span>
+ <br>
+ <br>
+ <!-- The global progress bar -->
+ <div id="progress" class="progress">
+ <div class="progress-bar progress-bar-success"></div>
+ </div>
+ <!-- The container for the uploaded files -->
+ <div id="files" class="files"></div>
+ <br>
+ <div class="panel panel-default">
+ <div class="panel-heading">
+ <h3 class="panel-title">Demo Notes</h3>
+ </div>
+ <div class="panel-body">
+ <ul>
+ <li>The maximum file size for uploads in this demo is <strong>5 MB</strong> (default file size is unlimited).</li>
+ <li>Only image files (<strong>JPG, GIF, PNG</strong>) are allowed in this demo (by default there is no file type restriction).</li>
+ <li>Uploaded files will be deleted automatically after <strong>5 minutes</strong> (demo setting).</li>
+ <li>You can <strong>drag &amp; drop</strong> files from your desktop on this webpage (see <a href="https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support">Browser support</a>).</li>
+ <li>Please refer to the <a href="https://github.com/blueimp/jQuery-File-Upload">project website</a> and <a href="https://github.com/blueimp/jQuery-File-Upload/wiki">documentation</a> for more information.</li>
+ <li>Built with Twitter's <a href="http://twitter.github.com/bootstrap/">Bootstrap</a> CSS framework and Icons from <a href="http://glyphicons.com/">Glyphicons</a>.</li>
+ </ul>
+ </div>
+ </div>
+</div>
+<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
+<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
+<script src="js/vendor/jquery.ui.widget.js"></script>
+<!-- The Load Image plugin is included for the preview images and image resizing functionality -->
+<script src="http://blueimp.github.io/JavaScript-Load-Image/js/load-image.min.js"></script>
+<!-- The Canvas to Blob plugin is included for image resizing functionality -->
+<script src="http://blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script>
+<!-- Bootstrap JS is not required, but included for the responsive demo navigation -->
+<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
+<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
+<script src="js/jquery.iframe-transport.js"></script>
+<!-- The basic File Upload plugin -->
+<script src="js/jquery.fileupload.js"></script>
+<!-- The File Upload processing plugin -->
+<script src="js/jquery.fileupload-process.js"></script>
+<!-- The File Upload image preview & resize plugin -->
+<script src="js/jquery.fileupload-image.js"></script>
+<!-- The File Upload audio preview plugin -->
+<script src="js/jquery.fileupload-audio.js"></script>
+<!-- The File Upload video preview plugin -->
+<script src="js/jquery.fileupload-video.js"></script>
+<!-- The File Upload validation plugin -->
+<script src="js/jquery.fileupload-validate.js"></script>
+<script>
+/*jslint unparam: true, regexp: true */
+/*global window, $ */
+$(function () {
+ 'use strict';
+ // Change this to the location of your server-side upload handler:
+ var url = window.location.hostname === 'blueimp.github.io' ?
+ '//jquery-file-upload.appspot.com/' : 'server/php/',
+ uploadButton = $('<button/>')
+ .addClass('btn btn-primary')
+ .prop('disabled', true)
+ .text('Processing...')
+ .on('click', function () {
+ var $this = $(this),
+ data = $this.data();
+ $this
+ .off('click')
+ .text('Abort')
+ .on('click', function () {
+ $this.remove();
+ data.abort();
+ });
+ data.submit().always(function () {
+ $this.remove();
+ });
+ });
+ $('#fileupload').fileupload({
+ url: url,
+ dataType: 'json',
+ autoUpload: false,
+ acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
+ maxFileSize: 5000000, // 5 MB
+ // Enable image resizing, except for Android and Opera,
+ // which actually support image resizing, but fail to
+ // send Blob objects via XHR requests:
+ disableImageResize: /Android(?!.*Chrome)|Opera/
+ .test(window.navigator.userAgent),
+ previewMaxWidth: 100,
+ previewMaxHeight: 100,
+ previewCrop: true
+ }).on('fileuploadadd', function (e, data) {
+ data.context = $('<div/>').appendTo('#files');
+ $.each(data.files, function (index, file) {
+ var node = $('<p/>')
+ .append($('<span/>').text(file.name));
+ if (!index) {
+ node
+ .append('<br>')
+ .append(uploadButton.clone(true).data(data));
+ }
+ node.appendTo(data.context);
+ });
+ }).on('fileuploadprocessalways', function (e, data) {
+ var index = data.index,
+ file = data.files[index],
+ node = $(data.context.children()[index]);
+ if (file.preview) {
+ node
+ .prepend('<br>')
+ .prepend(file.preview);
+ }
+ if (file.error) {
+ node
+ .append('<br>')
+ .append($('<span class="text-danger"/>').text(file.error));
+ }
+ if (index + 1 === data.files.length) {
+ data.context.find('button')
+ .text('Upload')
+ .prop('disabled', !!data.files.error);
+ }
+ }).on('fileuploadprogressall', function (e, data) {
+ var progress = parseInt(data.loaded / data.total * 100, 10);
+ $('#progress .progress-bar').css(
+ 'width',
+ progress + '%'
+ );
+ }).on('fileuploaddone', function (e, data) {
+ $.each(data.result.files, function (index, file) {
+ if (file.url) {
+ var link = $('<a>')
+ .attr('target', '_blank')
+ .prop('href', file.url);
+ $(data.context.children()[index])
+ .wrap(link);
+ } else if (file.error) {
+ var error = $('<span class="text-danger"/>').text(file.error);
+ $(data.context.children()[index])
+ .append('<br>')
+ .append(error);
+ }
+ });
+ }).on('fileuploadfail', function (e, data) {
+ $.each(data.files, function (index, file) {
+ var error = $('<span class="text-danger"/>').text('File upload failed.');
+ $(data.context.children()[index])
+ .append('<br>')
+ .append(error);
+ });
+ }).prop('disabled', !$.support.fileInput)
+ .parent().addClass($.support.fileInput ? undefined : 'disabled');
+});
+</script>
+</body>
+</html>
diff --git a/library/jqupload/basic.html b/library/jqupload/basic.html
new file mode 100644
index 000000000..ea5d0e66f
--- /dev/null
+++ b/library/jqupload/basic.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML>
+<!--
+/*
+ * jQuery File Upload Plugin Basic Demo 1.2.4
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+-->
+<html lang="en">
+<head>
+<!-- Force latest IE rendering engine or ChromeFrame if installed -->
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]-->
+<meta charset="utf-8">
+<title>jQuery File Upload Demo - Basic version</title>
+<meta name="description" content="File Upload widget with multiple file selection, drag&amp;drop support and progress bar for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<!-- Bootstrap styles -->
+<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
+<!-- Generic page styles -->
+<link rel="stylesheet" href="css/style.css">
+<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
+<link rel="stylesheet" href="css/jquery.fileupload.css">
+</head>
+<body>
+<div class="navbar navbar-default navbar-fixed-top">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-fixed-top .navbar-collapse">
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="https://github.com/blueimp/jQuery-File-Upload">jQuery File Upload</a>
+ </div>
+ <div class="navbar-collapse collapse">
+ <ul class="nav navbar-nav">
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload/tags">Download</a></li>
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload">Source Code</a></li>
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload/wiki">Documentation</a></li>
+ <li><a href="https://blueimp.net">&copy; Sebastian Tschan</a></li>
+ </ul>
+ </div>
+ </div>
+</div>
+<div class="container">
+ <h1>jQuery File Upload Demo</h1>
+ <h2 class="lead">Basic version</h2>
+ <ul class="nav nav-tabs">
+ <li class="active"><a href="basic.html">Basic</a></li>
+ <li><a href="basic-plus.html">Basic Plus</a></li>
+ <li><a href="index.html">Basic Plus UI</a></li>
+ <li><a href="angularjs.html">AngularJS</a></li>
+ <li><a href="jquery-ui.html">jQuery UI</a></li>
+ </ul>
+ <br>
+ <blockquote>
+ <p>File Upload widget with multiple file selection, drag&amp;drop support and progress bar for jQuery.<br>
+ Supports cross-domain, chunked and resumable file uploads.<br>
+ Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.</p>
+ </blockquote>
+ <br>
+ <!-- The fileinput-button span is used to style the file input field as button -->
+ <span class="btn btn-success fileinput-button">
+ <i class="glyphicon glyphicon-plus"></i>
+ <span>Select files...</span>
+ <!-- The file input field used as target for the file upload widget -->
+ <input id="fileupload" type="file" name="files[]" multiple>
+ </span>
+ <br>
+ <br>
+ <!-- The global progress bar -->
+ <div id="progress" class="progress">
+ <div class="progress-bar progress-bar-success"></div>
+ </div>
+ <!-- The container for the uploaded files -->
+ <div id="files" class="files"></div>
+ <br>
+ <div class="panel panel-default">
+ <div class="panel-heading">
+ <h3 class="panel-title">Demo Notes</h3>
+ </div>
+ <div class="panel-body">
+ <ul>
+ <li>The maximum file size for uploads in this demo is <strong>5 MB</strong> (default file size is unlimited).</li>
+ <li>Only image files (<strong>JPG, GIF, PNG</strong>) are allowed in this demo (by default there is no file type restriction).</li>
+ <li>Uploaded files will be deleted automatically after <strong>5 minutes</strong> (demo setting).</li>
+ <li>You can <strong>drag &amp; drop</strong> files from your desktop on this webpage (see <a href="https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support">Browser support</a>).</li>
+ <li>Please refer to the <a href="https://github.com/blueimp/jQuery-File-Upload">project website</a> and <a href="https://github.com/blueimp/jQuery-File-Upload/wiki">documentation</a> for more information.</li>
+ <li>Built with Twitter's <a href="http://twitter.github.com/bootstrap/">Bootstrap</a> CSS framework and Icons from <a href="http://glyphicons.com/">Glyphicons</a>.</li>
+ </ul>
+ </div>
+ </div>
+</div>
+<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
+<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
+<script src="js/vendor/jquery.ui.widget.js"></script>
+<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
+<script src="js/jquery.iframe-transport.js"></script>
+<!-- The basic File Upload plugin -->
+<script src="js/jquery.fileupload.js"></script>
+<!-- Bootstrap JS is not required, but included for the responsive demo navigation -->
+<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
+<script>
+/*jslint unparam: true */
+/*global window, $ */
+$(function () {
+ 'use strict';
+ // Change this to the location of your server-side upload handler:
+ var url = window.location.hostname === 'blueimp.github.io' ?
+ '//jquery-file-upload.appspot.com/' : 'server/php/';
+ $('#fileupload').fileupload({
+ url: url,
+ dataType: 'json',
+ done: function (e, data) {
+ $.each(data.result.files, function (index, file) {
+ $('<p/>').text(file.name).appendTo('#files');
+ });
+ },
+ progressall: function (e, data) {
+ var progress = parseInt(data.loaded / data.total * 100, 10);
+ $('#progress .progress-bar').css(
+ 'width',
+ progress + '%'
+ );
+ }
+ }).prop('disabled', !$.support.fileInput)
+ .parent().addClass($.support.fileInput ? undefined : 'disabled');
+});
+</script>
+</body>
+</html>
diff --git a/library/jqupload/blueimp-file-upload.jquery.json b/library/jqupload/blueimp-file-upload.jquery.json
new file mode 100644
index 000000000..8382fb4b9
--- /dev/null
+++ b/library/jqupload/blueimp-file-upload.jquery.json
@@ -0,0 +1,50 @@
+{
+ "name": "blueimp-file-upload",
+ "version": "9.5.2",
+ "title": "jQuery File Upload",
+ "author": {
+ "name": "Sebastian Tschan",
+ "url": "https://blueimp.net"
+ },
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "http://www.opensource.org/licenses/MIT"
+ }
+ ],
+ "dependencies": {
+ "jquery": ">=1.6"
+ },
+ "description": "File Upload widget with multiple file selection, drag&amp;drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads.",
+ "keywords": [
+ "jquery",
+ "file",
+ "upload",
+ "widget",
+ "multiple",
+ "selection",
+ "drag",
+ "drop",
+ "progress",
+ "preview",
+ "cross-domain",
+ "cross-site",
+ "chunk",
+ "resume",
+ "gae",
+ "go",
+ "python",
+ "php",
+ "bootstrap"
+ ],
+ "homepage": "https://github.com/blueimp/jQuery-File-Upload",
+ "docs": "https://github.com/blueimp/jQuery-File-Upload/wiki",
+ "demo": "http://blueimp.github.io/jQuery-File-Upload/",
+ "bugs": "https://github.com/blueimp/jQuery-File-Upload/issues",
+ "maintainers": [
+ {
+ "name": "Sebastian Tschan",
+ "url": "https://blueimp.net"
+ }
+ ]
+}
diff --git a/library/jqupload/bower.json b/library/jqupload/bower.json
new file mode 100644
index 000000000..54ba68f82
--- /dev/null
+++ b/library/jqupload/bower.json
@@ -0,0 +1,85 @@
+{
+ "name": "blueimp-file-upload",
+ "version": "9.5.2",
+ "title": "jQuery File Upload",
+ "description": "File Upload widget with multiple file selection, drag&amp;drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads.",
+ "keywords": [
+ "jquery",
+ "file",
+ "upload",
+ "widget",
+ "multiple",
+ "selection",
+ "drag",
+ "drop",
+ "progress",
+ "preview",
+ "cross-domain",
+ "cross-site",
+ "chunk",
+ "resume",
+ "gae",
+ "go",
+ "python",
+ "php",
+ "bootstrap"
+ ],
+ "homepage": "https://github.com/blueimp/jQuery-File-Upload",
+ "author": {
+ "name": "Sebastian Tschan",
+ "url": "https://blueimp.net"
+ },
+ "maintainers": [
+ {
+ "name": "Sebastian Tschan",
+ "url": "https://blueimp.net"
+ }
+ ],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/blueimp/jQuery-File-Upload.git"
+ },
+ "bugs": "https://github.com/blueimp/jQuery-File-Upload/issues",
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "http://www.opensource.org/licenses/MIT"
+ }
+ ],
+ "dependencies": {
+ "jquery": ">=1.6",
+ "blueimp-tmpl": ">=2.5.3",
+ "blueimp-load-image": ">=1.11.0",
+ "blueimp-canvas-to-blob": ">=2.1.0"
+ },
+ "main": [
+ "css/jquery.fileupload.css",
+ "css/jquery.fileupload-ui.css",
+ "css/jquery.fileupload-noscript.css",
+ "css/jquery.fileupload-ui-noscript.css",
+ "js/cors/jquery.postmessage-transport.js",
+ "js/cors/jquery.xdr-transport.js",
+ "js/vendor/jquery.ui.widget.js",
+ "js/jquery.fileupload.js",
+ "js/jquery.fileupload-process.js",
+ "js/jquery.fileupload-validate.js",
+ "js/jquery.fileupload-image.js",
+ "js/jquery.fileupload-audio.js",
+ "js/jquery.fileupload-video.js",
+ "js/jquery.fileupload-ui.js",
+ "js/jquery.fileupload-jquery-ui.js",
+ "js/jquery.fileupload-angular.js",
+ "js/jquery.iframe-transport.js"
+ ],
+ "ignore": [
+ "/*.*",
+ "/cors",
+ "css/demo-ie8.css",
+ "css/demo.css",
+ "css/style.css",
+ "js/app.js",
+ "js/main.js",
+ "server",
+ "test"
+ ]
+}
diff --git a/library/jqupload/cors/postmessage.html b/library/jqupload/cors/postmessage.html
new file mode 100644
index 000000000..3d1448f08
--- /dev/null
+++ b/library/jqupload/cors/postmessage.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML>
+<!--
+/*
+ * jQuery File Upload Plugin postMessage API 1.2.1
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2011, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+-->
+<html lang="en">
+<head>
+<meta charset="utf-8">
+<title>jQuery File Upload Plugin postMessage API</title>
+<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
+</head>
+<body>
+<script>
+/*jslint unparam: true, regexp: true */
+/*global $, Blob, FormData, location */
+'use strict';
+var origin = /^http:\/\/example.org/,
+ target = new RegExp('^(http(s)?:)?\\/\\/' + location.host + '\\/');
+$(window).on('message', function (e) {
+ e = e.originalEvent;
+ var s = e.data,
+ xhr = $.ajaxSettings.xhr(),
+ f;
+ if (!origin.test(e.origin)) {
+ throw new Error('Origin "' + e.origin + '" does not match ' + origin);
+ }
+ if (!target.test(e.data.url)) {
+ throw new Error('Target "' + e.data.url + '" does not match ' + target);
+ }
+ $(xhr.upload).on('progress', function (ev) {
+ ev = ev.originalEvent;
+ e.source.postMessage({
+ id: s.id,
+ type: ev.type,
+ timeStamp: ev.timeStamp,
+ lengthComputable: ev.lengthComputable,
+ loaded: ev.loaded,
+ total: ev.total
+ }, e.origin);
+ });
+ s.xhr = function () {
+ return xhr;
+ };
+ if (!(s.data instanceof Blob)) {
+ f = new FormData();
+ $.each(s.data, function (i, v) {
+ f.append(v.name, v.value);
+ });
+ s.data = f;
+ }
+ $.ajax(s).always(function (result, statusText, jqXHR) {
+ if (!jqXHR.done) {
+ jqXHR = result;
+ result = null;
+ }
+ e.source.postMessage({
+ id: s.id,
+ status: jqXHR.status,
+ statusText: statusText,
+ result: result,
+ headers: jqXHR.getAllResponseHeaders()
+ }, e.origin);
+ });
+});
+</script>
+</body>
+</html> \ No newline at end of file
diff --git a/library/jqupload/cors/result.html b/library/jqupload/cors/result.html
new file mode 100644
index 000000000..225131495
--- /dev/null
+++ b/library/jqupload/cors/result.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML>
+<!--
+/*
+ * jQuery Iframe Transport Plugin Redirect Page 2.0.1
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2010, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+-->
+<html lang="en">
+<head>
+<meta charset="utf-8">
+<title>jQuery Iframe Transport Plugin Redirect Page</title>
+</head>
+<body>
+<script>
+document.body.innerText=document.body.textContent=decodeURIComponent(window.location.search.slice(1));
+</script>
+</body>
+</html>
diff --git a/library/jqupload/css/demo-ie8.css b/library/jqupload/css/demo-ie8.css
new file mode 100644
index 000000000..262493d08
--- /dev/null
+++ b/library/jqupload/css/demo-ie8.css
@@ -0,0 +1,21 @@
+@charset "UTF-8";
+/*
+ * jQuery File Upload Demo CSS Fixes for IE<9 1.0.0
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+.navigation {
+ list-style: none;
+ padding: 0;
+ margin: 1em 0;
+}
+.navigation li {
+ display: inline;
+ margin-right: 10px;
+}
diff --git a/library/jqupload/css/demo.css b/library/jqupload/css/demo.css
new file mode 100644
index 000000000..2b4d43934
--- /dev/null
+++ b/library/jqupload/css/demo.css
@@ -0,0 +1,67 @@
+@charset "UTF-8";
+/*
+ * jQuery File Upload Demo CSS 1.1.0
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+body {
+ max-width: 750px;
+ margin: 0 auto;
+ padding: 1em;
+ font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, sans-serif;
+ font-size: 1em;
+ line-height: 1.4em;
+ background: #222;
+ color: #fff;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+}
+a {
+ color: orange;
+ text-decoration: none;
+}
+img {
+ border: 0;
+ vertical-align: middle;
+}
+h1 {
+ line-height: 1em;
+}
+blockquote {
+ padding: 0 0 0 15px;
+ margin: 0 0 20px;
+ border-left: 5px solid #eee;
+}
+table {
+ width: 100%;
+ margin: 10px 0;
+}
+
+.fileupload-progress {
+ margin: 10px 0;
+}
+.fileupload-progress .progress-extended {
+ margin-top: 5px;
+}
+.error {
+ color: red;
+}
+
+@media (min-width: 481px) {
+ .navigation {
+ list-style: none;
+ padding: 0;
+ }
+ .navigation li {
+ display: inline-block;
+ }
+ .navigation li:not(:first-child):before {
+ content: "| ";
+ }
+}
diff --git a/library/jqupload/css/jquery.fileupload-noscript.css b/library/jqupload/css/jquery.fileupload-noscript.css
new file mode 100644
index 000000000..64d728fc3
--- /dev/null
+++ b/library/jqupload/css/jquery.fileupload-noscript.css
@@ -0,0 +1,22 @@
+@charset "UTF-8";
+/*
+ * jQuery File Upload Plugin NoScript CSS 1.2.0
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+.fileinput-button input {
+ position: static;
+ opacity: 1;
+ filter: none;
+ font-size: inherit;
+ direction: inherit;
+}
+.fileinput-button span {
+ display: none;
+}
diff --git a/library/jqupload/css/jquery.fileupload-ui-noscript.css b/library/jqupload/css/jquery.fileupload-ui-noscript.css
new file mode 100644
index 000000000..87f110cdb
--- /dev/null
+++ b/library/jqupload/css/jquery.fileupload-ui-noscript.css
@@ -0,0 +1,17 @@
+@charset "UTF-8";
+/*
+ * jQuery File Upload UI Plugin NoScript CSS 8.8.5
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2012, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+.fileinput-button i,
+.fileupload-buttonbar .delete,
+.fileupload-buttonbar .toggle {
+ display: none;
+}
diff --git a/library/jqupload/css/jquery.fileupload-ui.css b/library/jqupload/css/jquery.fileupload-ui.css
new file mode 100644
index 000000000..76fb376de
--- /dev/null
+++ b/library/jqupload/css/jquery.fileupload-ui.css
@@ -0,0 +1,57 @@
+@charset "UTF-8";
+/*
+ * jQuery File Upload UI Plugin CSS 9.0.0
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2010, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+.fileupload-buttonbar .btn,
+.fileupload-buttonbar .toggle {
+ margin-bottom: 5px;
+}
+.progress-animated .progress-bar,
+.progress-animated .bar {
+ background: url("../img/progressbar.gif") !important;
+ filter: none;
+}
+.fileupload-process {
+ float: right;
+ display: none;
+}
+.fileupload-processing .fileupload-process,
+.files .processing .preview {
+ display: block;
+ width: 32px;
+ height: 32px;
+ background: url("../img/loading.gif") center no-repeat;
+ background-size: contain;
+}
+.files audio,
+.files video {
+ max-width: 300px;
+}
+
+@media (max-width: 767px) {
+ .fileupload-buttonbar .toggle,
+ .files .toggle,
+ .files .btn span {
+ display: none;
+ }
+ .files .name {
+ width: 80px;
+ word-wrap: break-word;
+ }
+ .files audio,
+ .files video {
+ max-width: 80px;
+ }
+ .files img,
+ .files canvas {
+ max-width: 100%;
+ }
+}
diff --git a/library/jqupload/css/jquery.fileupload.css b/library/jqupload/css/jquery.fileupload.css
new file mode 100644
index 000000000..fb6044d34
--- /dev/null
+++ b/library/jqupload/css/jquery.fileupload.css
@@ -0,0 +1,36 @@
+@charset "UTF-8";
+/*
+ * jQuery File Upload Plugin CSS 1.3.0
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+.fileinput-button {
+ position: relative;
+ overflow: hidden;
+}
+.fileinput-button input {
+ position: absolute;
+ top: 0;
+ right: 0;
+ margin: 0;
+ opacity: 0;
+ -ms-filter: 'alpha(opacity=0)';
+ font-size: 200px;
+ direction: ltr;
+ cursor: pointer;
+}
+
+/* Fixes for IE < 8 */
+@media screen\9 {
+ .fileinput-button input {
+ filter: alpha(opacity=0);
+ font-size: 100%;
+ height: 100%;
+ }
+}
diff --git a/library/jqupload/css/style.css b/library/jqupload/css/style.css
new file mode 100644
index 000000000..b2c60a6f1
--- /dev/null
+++ b/library/jqupload/css/style.css
@@ -0,0 +1,15 @@
+@charset "UTF-8";
+/*
+ * jQuery File Upload Plugin CSS Example 8.8.2
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+body {
+ padding-top: 60px;
+}
diff --git a/library/jqupload/img/loading.gif b/library/jqupload/img/loading.gif
new file mode 100644
index 000000000..90f28cbdb
--- /dev/null
+++ b/library/jqupload/img/loading.gif
Binary files differ
diff --git a/library/jqupload/img/progressbar.gif b/library/jqupload/img/progressbar.gif
new file mode 100644
index 000000000..fbcce6bc9
--- /dev/null
+++ b/library/jqupload/img/progressbar.gif
Binary files differ
diff --git a/library/jqupload/index.html b/library/jqupload/index.html
new file mode 100644
index 000000000..a3a06aa9b
--- /dev/null
+++ b/library/jqupload/index.html
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML>
+<!--
+/*
+ * jQuery File Upload Plugin Demo 9.0.1
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2010, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+-->
+<html lang="en">
+<head>
+<!-- Force latest IE rendering engine or ChromeFrame if installed -->
+<!--[if IE]>
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+<![endif]-->
+<meta charset="utf-8">
+<title>jQuery File Upload Demo</title>
+<meta name="description" content="File Upload widget with multiple file selection, drag&amp;drop support, progress bars, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<!-- Bootstrap styles -->
+<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
+<!-- Generic page styles -->
+<link rel="stylesheet" href="css/style.css">
+<!-- blueimp Gallery styles -->
+<link rel="stylesheet" href="http://blueimp.github.io/Gallery/css/blueimp-gallery.min.css">
+<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
+<link rel="stylesheet" href="css/jquery.fileupload.css">
+<link rel="stylesheet" href="css/jquery.fileupload-ui.css">
+<!-- CSS adjustments for browsers with JavaScript disabled -->
+<noscript><link rel="stylesheet" href="css/jquery.fileupload-noscript.css"></noscript>
+<noscript><link rel="stylesheet" href="css/jquery.fileupload-ui-noscript.css"></noscript>
+</head>
+<body>
+<div class="navbar navbar-default navbar-fixed-top">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-fixed-top .navbar-collapse">
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="https://github.com/blueimp/jQuery-File-Upload">jQuery File Upload</a>
+ </div>
+ <div class="navbar-collapse collapse">
+ <ul class="nav navbar-nav">
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload/tags">Download</a></li>
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload">Source Code</a></li>
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload/wiki">Documentation</a></li>
+ <li><a href="https://blueimp.net">&copy; Sebastian Tschan</a></li>
+ </ul>
+ </div>
+ </div>
+</div>
+<div class="container">
+ <h1>jQuery File Upload Demo</h1>
+ <h2 class="lead">Basic Plus UI version</h2>
+ <ul class="nav nav-tabs">
+ <li><a href="basic.html">Basic</a></li>
+ <li><a href="basic-plus.html">Basic Plus</a></li>
+ <li class="active"><a href="index.html">Basic Plus UI</a></li>
+ <li><a href="angularjs.html">AngularJS</a></li>
+ <li><a href="jquery-ui.html">jQuery UI</a></li>
+ </ul>
+ <br>
+ <blockquote>
+ <p>File Upload widget with multiple file selection, drag&amp;drop support, progress bars, validation and preview images, audio and video for jQuery.<br>
+ Supports cross-domain, chunked and resumable file uploads and client-side image resizing.<br>
+ Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.</p>
+ </blockquote>
+ <br>
+ <!-- The file upload form used as target for the file upload widget -->
+ <form id="fileupload" action="//jquery-file-upload.appspot.com/" method="POST" enctype="multipart/form-data">
+ <!-- Redirect browsers with JavaScript disabled to the origin page -->
+ <noscript><input type="hidden" name="redirect" value="http://blueimp.github.io/jQuery-File-Upload/"></noscript>
+ <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
+ <div class="row fileupload-buttonbar">
+ <div class="col-lg-7">
+ <!-- The fileinput-button span is used to style the file input field as button -->
+ <span class="btn btn-success fileinput-button">
+ <i class="glyphicon glyphicon-plus"></i>
+ <span>Add files...</span>
+ <input type="file" name="files[]" multiple>
+ </span>
+ <button type="submit" class="btn btn-primary start">
+ <i class="glyphicon glyphicon-upload"></i>
+ <span>Start upload</span>
+ </button>
+ <button type="reset" class="btn btn-warning cancel">
+ <i class="glyphicon glyphicon-ban-circle"></i>
+ <span>Cancel upload</span>
+ </button>
+ <button type="button" class="btn btn-danger delete">
+ <i class="glyphicon glyphicon-trash"></i>
+ <span>Delete</span>
+ </button>
+ <input type="checkbox" class="toggle">
+ <!-- The global file processing state -->
+ <span class="fileupload-process"></span>
+ </div>
+ <!-- The global progress state -->
+ <div class="col-lg-5 fileupload-progress fade">
+ <!-- The global progress bar -->
+ <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
+ <div class="progress-bar progress-bar-success" style="width:0%;"></div>
+ </div>
+ <!-- The extended global progress state -->
+ <div class="progress-extended">&nbsp;</div>
+ </div>
+ </div>
+ <!-- The table listing the files available for upload/download -->
+ <table role="presentation" class="table table-striped"><tbody class="files"></tbody></table>
+ </form>
+ <br>
+ <div class="panel panel-default">
+ <div class="panel-heading">
+ <h3 class="panel-title">Demo Notes</h3>
+ </div>
+ <div class="panel-body">
+ <ul>
+ <li>The maximum file size for uploads in this demo is <strong>5 MB</strong> (default file size is unlimited).</li>
+ <li>Only image files (<strong>JPG, GIF, PNG</strong>) are allowed in this demo (by default there is no file type restriction).</li>
+ <li>Uploaded files will be deleted automatically after <strong>5 minutes</strong> (demo setting).</li>
+ <li>You can <strong>drag &amp; drop</strong> files from your desktop on this webpage (see <a href="https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support">Browser support</a>).</li>
+ <li>Please refer to the <a href="https://github.com/blueimp/jQuery-File-Upload">project website</a> and <a href="https://github.com/blueimp/jQuery-File-Upload/wiki">documentation</a> for more information.</li>
+ <li>Built with Twitter's <a href="http://twitter.github.com/bootstrap/">Bootstrap</a> CSS framework and Icons from <a href="http://glyphicons.com/">Glyphicons</a>.</li>
+ </ul>
+ </div>
+ </div>
+</div>
+<!-- The blueimp Gallery widget -->
+<div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls" data-filter=":even">
+ <div class="slides"></div>
+ <h3 class="title"></h3>
+ <a class="prev">‹</a>
+ <a class="next">›</a>
+ <a class="close">×</a>
+ <a class="play-pause"></a>
+ <ol class="indicator"></ol>
+</div>
+<!-- The template to display files available for upload -->
+<script id="template-upload" type="text/x-tmpl">
+{% for (var i=0, file; file=o.files[i]; i++) { %}
+ <tr class="template-upload fade">
+ <td>
+ <span class="preview"></span>
+ </td>
+ <td>
+ <p class="name">{%=file.name%}</p>
+ <strong class="error text-danger"></strong>
+ </td>
+ <td>
+ <p class="size">Processing...</p>
+ <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="progress-bar progress-bar-success" style="width:0%;"></div></div>
+ </td>
+ <td>
+ {% if (!i && !o.options.autoUpload) { %}
+ <button class="btn btn-primary start" disabled>
+ <i class="glyphicon glyphicon-upload"></i>
+ <span>Start</span>
+ </button>
+ {% } %}
+ {% if (!i) { %}
+ <button class="btn btn-warning cancel">
+ <i class="glyphicon glyphicon-ban-circle"></i>
+ <span>Cancel</span>
+ </button>
+ {% } %}
+ </td>
+ </tr>
+{% } %}
+</script>
+<!-- The template to display files available for download -->
+<script id="template-download" type="text/x-tmpl">
+{% for (var i=0, file; file=o.files[i]; i++) { %}
+ <tr class="template-download fade">
+ <td>
+ <span class="preview">
+ {% if (file.thumbnailUrl) { %}
+ <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" data-gallery><img src="{%=file.thumbnailUrl%}"></a>
+ {% } %}
+ </span>
+ </td>
+ <td>
+ <p class="name">
+ {% if (file.url) { %}
+ <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=file.name%}</a>
+ {% } else { %}
+ <span>{%=file.name%}</span>
+ {% } %}
+ </p>
+ {% if (file.error) { %}
+ <div><span class="label label-danger">Error</span> {%=file.error%}</div>
+ {% } %}
+ </td>
+ <td>
+ <span class="size">{%=o.formatFileSize(file.size)%}</span>
+ </td>
+ <td>
+ {% if (file.deleteUrl) { %}
+ <button class="btn btn-danger delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
+ <i class="glyphicon glyphicon-trash"></i>
+ <span>Delete</span>
+ </button>
+ <input type="checkbox" name="delete" value="1" class="toggle">
+ {% } else { %}
+ <button class="btn btn-warning cancel">
+ <i class="glyphicon glyphicon-ban-circle"></i>
+ <span>Cancel</span>
+ </button>
+ {% } %}
+ </td>
+ </tr>
+{% } %}
+</script>
+<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
+<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
+<script src="js/vendor/jquery.ui.widget.js"></script>
+<!-- The Templates plugin is included to render the upload/download listings -->
+<script src="http://blueimp.github.io/JavaScript-Templates/js/tmpl.min.js"></script>
+<!-- The Load Image plugin is included for the preview images and image resizing functionality -->
+<script src="http://blueimp.github.io/JavaScript-Load-Image/js/load-image.min.js"></script>
+<!-- The Canvas to Blob plugin is included for image resizing functionality -->
+<script src="http://blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script>
+<!-- Bootstrap JS is not required, but included for the responsive demo navigation -->
+<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
+<!-- blueimp Gallery script -->
+<script src="http://blueimp.github.io/Gallery/js/jquery.blueimp-gallery.min.js"></script>
+<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
+<script src="js/jquery.iframe-transport.js"></script>
+<!-- The basic File Upload plugin -->
+<script src="js/jquery.fileupload.js"></script>
+<!-- The File Upload processing plugin -->
+<script src="js/jquery.fileupload-process.js"></script>
+<!-- The File Upload image preview & resize plugin -->
+<script src="js/jquery.fileupload-image.js"></script>
+<!-- The File Upload audio preview plugin -->
+<script src="js/jquery.fileupload-audio.js"></script>
+<!-- The File Upload video preview plugin -->
+<script src="js/jquery.fileupload-video.js"></script>
+<!-- The File Upload validation plugin -->
+<script src="js/jquery.fileupload-validate.js"></script>
+<!-- The File Upload user interface plugin -->
+<script src="js/jquery.fileupload-ui.js"></script>
+<!-- The main application script -->
+<script src="js/main.js"></script>
+<!-- The XDomainRequest Transport is included for cross-domain file deletion for IE 8 and IE 9 -->
+<!--[if (gte IE 8)&(lt IE 10)]>
+<script src="js/cors/jquery.xdr-transport.js"></script>
+<![endif]-->
+</body>
+</html>
diff --git a/library/jqupload/jquery-ui.html b/library/jqupload/jquery-ui.html
new file mode 100644
index 000000000..993a4c815
--- /dev/null
+++ b/library/jqupload/jquery-ui.html
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML>
+<!--
+/*
+ * jQuery File Upload Plugin jQuery UI Demo 9.0.0
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+-->
+<html lang="en">
+<head>
+<!-- Force latest IE rendering engine or ChromeFrame if installed -->
+<!--[if IE]>
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+<![endif]-->
+<meta charset="utf-8">
+<title>jQuery File Upload Demo - jQuery UI version</title>
+<meta name="description" content="File Upload widget with multiple file selection, drag&amp;drop support, progress bars, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<!-- jQuery UI styles -->
+<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/dark-hive/jquery-ui.css" id="theme">
+<!-- Demo styles -->
+<link rel="stylesheet" href="css/demo.css">
+<!--[if lte IE 8]>
+<link rel="stylesheet" href="css/demo-ie8.css">
+<![endif]-->
+<style>
+/* Adjust the jQuery UI widget font-size: */
+.ui-widget {
+ font-size: 0.95em;
+}
+</style>
+<!-- blueimp Gallery styles -->
+<link rel="stylesheet" href="http://blueimp.github.io/Gallery/css/blueimp-gallery.min.css">
+<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
+<link rel="stylesheet" href="css/jquery.fileupload.css">
+<link rel="stylesheet" href="css/jquery.fileupload-ui.css">
+<!-- CSS adjustments for browsers with JavaScript disabled -->
+<noscript><link rel="stylesheet" href="css/jquery.fileupload-noscript.css"></noscript>
+<noscript><link rel="stylesheet" href="css/jquery.fileupload-ui-noscript.css"></noscript>
+</head>
+<body>
+<ul class="navigation">
+ <li><h3><a href="https://github.com/blueimp/jQuery-File-Upload">jQuery File Upload</a></h3></li>
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload/tags">Download</a></li>
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload">Source Code</a></li>
+ <li><a href="https://github.com/blueimp/jQuery-File-Upload/wiki">Documentation</a></li>
+ <li><a href="https://blueimp.net">&copy; blueimp.net</a></li>
+</ul>
+<h1>jQuery File Upload Demo</h1>
+<h2>jQuery UI version</h2>
+<form>
+ <label for="theme-switcher">Theme:</label>
+ <select id="theme-switcher" class="pull-right">
+ <option value="black-tie">Black Tie</option>
+ <option value="blitzer">Blitzer</option>
+ <option value="cupertino">Cupertino</option>
+ <option value="dark-hive" selected>Dark Hive</option>
+ <option value="dot-luv">Dot Luv</option>
+ <option value="eggplant">Eggplant</option>
+ <option value="excite-bike">Excite Bike</option>
+ <option value="flick">Flick</option>
+ <option value="hot-sneaks">Hot sneaks</option>
+ <option value="humanity">Humanity</option>
+ <option value="le-frog">Le Frog</option>
+ <option value="mint-choc">Mint Choc</option>
+ <option value="overcast">Overcast</option>
+ <option value="pepper-grinder">Pepper Grinder</option>
+ <option value="redmond">Redmond</option>
+ <option value="smoothness">Smoothness</option>
+ <option value="south-street">South Street</option>
+ <option value="start">Start</option>
+ <option value="sunny">Sunny</option>
+ <option value="swanky-purse">Swanky Purse</option>
+ <option value="trontastic">Trontastic</option>
+ <option value="ui-darkness">UI Darkness</option>
+ <option value="ui-lightness">UI Lightness</option>
+ <option value="vader">Vader</option>
+ </select>
+</form>
+<ul class="navigation">
+ <li><a href="basic.html">Basic</a></li>
+ <li><a href="basic-plus.html">Basic Plus</a></li>
+ <li><a href="index.html">Basic Plus UI</a></li>
+ <li><a href="angularjs.html">AngularJS</a></li>
+ <li class="active"><a href="jquery-ui.html">jQuery UI</a></li>
+</ul>
+<blockquote>
+ <p>File Upload widget with multiple file selection, drag&amp;drop support, progress bars, validation and preview images, audio and video for jQuery UI.<br>
+ Supports cross-domain, chunked and resumable file uploads and client-side image resizing.<br>
+ Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.</p>
+</blockquote>
+<!-- The file upload form used as target for the file upload widget -->
+<form id="fileupload" action="//jquery-file-upload.appspot.com/" method="POST" enctype="multipart/form-data">
+ <!-- Redirect browsers with JavaScript disabled to the origin page -->
+ <noscript><input type="hidden" name="redirect" value="http://blueimp.github.io/jQuery-File-Upload/"></noscript>
+ <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
+ <div class="fileupload-buttonbar">
+ <div class="fileupload-buttons">
+ <!-- The fileinput-button span is used to style the file input field as button -->
+ <span class="fileinput-button">
+ <span>Add files...</span>
+ <input type="file" name="files[]" multiple>
+ </span>
+ <button type="submit" class="start">Start upload</button>
+ <button type="reset" class="cancel">Cancel upload</button>
+ <button type="button" class="delete">Delete</button>
+ <input type="checkbox" class="toggle">
+ <!-- The global file processing state -->
+ <span class="fileupload-process"></span>
+ </div>
+ <!-- The global progress state -->
+ <div class="fileupload-progress fade" style="display:none">
+ <!-- The global progress bar -->
+ <div class="progress" role="progressbar" aria-valuemin="0" aria-valuemax="100"></div>
+ <!-- The extended global progress state -->
+ <div class="progress-extended">&nbsp;</div>
+ </div>
+ </div>
+ <!-- The table listing the files available for upload/download -->
+ <table role="presentation"><tbody class="files"></tbody></table>
+</form>
+<br>
+<h3>Demo Notes</h3>
+<ul>
+ <li>The maximum file size for uploads in this demo is <strong>5 MB</strong> (default file size is unlimited).</li>
+ <li>Only image files (<strong>JPG, GIF, PNG</strong>) are allowed in this demo (by default there is no file type restriction).</li>
+ <li>Uploaded files will be deleted automatically after <strong>5 minutes</strong> (demo setting).</li>
+ <li>You can <strong>drag &amp; drop</strong> files from your desktop on this webpage (see <a href="https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support">Browser support</a>).</li>
+ <li>Please refer to the <a href="https://github.com/blueimp/jQuery-File-Upload">project website</a> and <a href="https://github.com/blueimp/jQuery-File-Upload/wiki">documentation</a> for more information.</li>
+ <li>Built with <a href="http://jqueryui.com">jQuery UI</a>.</li>
+</ul>
+<!-- The blueimp Gallery widget -->
+<div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls" data-filter=":even">
+ <div class="slides"></div>
+ <h3 class="title"></h3>
+ <a class="prev">‹</a>
+ <a class="next">›</a>
+ <a class="close">×</a>
+ <a class="play-pause"></a>
+ <ol class="indicator"></ol>
+</div>
+<!-- The template to display files available for upload -->
+<script id="template-upload" type="text/x-tmpl">
+{% for (var i=0, file; file=o.files[i]; i++) { %}
+ <tr class="template-upload fade">
+ <td>
+ <span class="preview"></span>
+ </td>
+ <td>
+ <p class="name">{%=file.name%}</p>
+ <strong class="error"></strong>
+ </td>
+ <td>
+ <p class="size">Processing...</p>
+ <div class="progress"></div>
+ </td>
+ <td>
+ {% if (!i && !o.options.autoUpload) { %}
+ <button class="start">Start</button>
+ {% } %}
+ {% if (!i) { %}
+ <button class="cancel">Cancel</button>
+ {% } %}
+ </td>
+ </tr>
+{% } %}
+</script>
+<!-- The template to display files available for download -->
+<script id="template-download" type="text/x-tmpl">
+{% for (var i=0, file; file=o.files[i]; i++) { %}
+ <tr class="template-download fade">
+ <td>
+ <span class="preview">
+ {% if (file.thumbnailUrl) { %}
+ <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" data-gallery><img src="{%=file.thumbnailUrl%}"></a>
+ {% } %}
+ </span>
+ </td>
+ <td>
+ <p class="name">
+ <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=file.name%}</a>
+ </p>
+ {% if (file.error) { %}
+ <div><span class="error">Error</span> {%=file.error%}</div>
+ {% } %}
+ </td>
+ <td>
+ <span class="size">{%=o.formatFileSize(file.size)%}</span>
+ </td>
+ <td>
+ <button class="delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>Delete</button>
+ <input type="checkbox" name="delete" value="1" class="toggle">
+ </td>
+ </tr>
+{% } %}
+</script>
+<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
+<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
+<!-- The Templates plugin is included to render the upload/download listings -->
+<script src="http://blueimp.github.io/JavaScript-Templates/js/tmpl.min.js"></script>
+<!-- The Load Image plugin is included for the preview images and image resizing functionality -->
+<script src="http://blueimp.github.io/JavaScript-Load-Image/js/load-image.min.js"></script>
+<!-- The Canvas to Blob plugin is included for image resizing functionality -->
+<script src="http://blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script>
+<!-- blueimp Gallery script -->
+<script src="http://blueimp.github.io/Gallery/js/jquery.blueimp-gallery.min.js"></script>
+<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
+<script src="js/jquery.iframe-transport.js"></script>
+<!-- The basic File Upload plugin -->
+<script src="js/jquery.fileupload.js"></script>
+<!-- The File Upload processing plugin -->
+<script src="js/jquery.fileupload-process.js"></script>
+<!-- The File Upload image preview & resize plugin -->
+<script src="js/jquery.fileupload-image.js"></script>
+<!-- The File Upload audio preview plugin -->
+<script src="js/jquery.fileupload-audio.js"></script>
+<!-- The File Upload video preview plugin -->
+<script src="js/jquery.fileupload-video.js"></script>
+<!-- The File Upload validation plugin -->
+<script src="js/jquery.fileupload-validate.js"></script>
+<!-- The File Upload user interface plugin -->
+<script src="js/jquery.fileupload-ui.js"></script>
+<!-- The File Upload jQuery UI plugin -->
+<script src="js/jquery.fileupload-jquery-ui.js"></script>
+<!-- The main application script -->
+<script src="js/main.js"></script>
+<script>
+// Initialize the jQuery UI theme switcher:
+$('#theme-switcher').change(function () {
+ var theme = $('#theme');
+ theme.prop(
+ 'href',
+ theme.prop('href').replace(
+ /[\w\-]+\/jquery-ui.css/,
+ $(this).val() + '/jquery-ui.css'
+ )
+ );
+});
+</script>
+<!-- The XDomainRequest Transport is included for cross-domain file deletion for IE 8 and IE 9 -->
+<!--[if (gte IE 8)&(lt IE 10)]>
+<script src="js/cors/jquery.xdr-transport.js"></script>
+<![endif]-->
+</body>
+</html>
diff --git a/library/jqupload/js/app.js b/library/jqupload/js/app.js
new file mode 100644
index 000000000..47b4f923b
--- /dev/null
+++ b/library/jqupload/js/app.js
@@ -0,0 +1,101 @@
+/*
+ * jQuery File Upload Plugin Angular JS Example 1.2.1
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* jshint nomen:false */
+/* global window, angular */
+
+(function () {
+ 'use strict';
+
+ var isOnGitHub = window.location.hostname === 'blueimp.github.io',
+ url = isOnGitHub ? '//jquery-file-upload.appspot.com/' : 'server/php/';
+
+ angular.module('demo', [
+ 'blueimp.fileupload'
+ ])
+ .config([
+ '$httpProvider', 'fileUploadProvider',
+ function ($httpProvider, fileUploadProvider) {
+ delete $httpProvider.defaults.headers.common['X-Requested-With'];
+ fileUploadProvider.defaults.redirect = window.location.href.replace(
+ /\/[^\/]*$/,
+ '/cors/result.html?%s'
+ );
+ if (isOnGitHub) {
+ // Demo settings:
+ angular.extend(fileUploadProvider.defaults, {
+ // Enable image resizing, except for Android and Opera,
+ // which actually support image resizing, but fail to
+ // send Blob objects via XHR requests:
+ disableImageResize: /Android(?!.*Chrome)|Opera/
+ .test(window.navigator.userAgent),
+ maxFileSize: 5000000,
+ acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i
+ });
+ }
+ }
+ ])
+
+ .controller('DemoFileUploadController', [
+ '$scope', '$http', '$filter', '$window',
+ function ($scope, $http) {
+ $scope.options = {
+ url: url
+ };
+ if (!isOnGitHub) {
+ $scope.loadingFiles = true;
+ $http.get(url)
+ .then(
+ function (response) {
+ $scope.loadingFiles = false;
+ $scope.queue = response.data.files || [];
+ },
+ function () {
+ $scope.loadingFiles = false;
+ }
+ );
+ }
+ }
+ ])
+
+ .controller('FileDestroyController', [
+ '$scope', '$http',
+ function ($scope, $http) {
+ var file = $scope.file,
+ state;
+ if (file.url) {
+ file.$state = function () {
+ return state;
+ };
+ file.$destroy = function () {
+ state = 'pending';
+ return $http({
+ url: file.deleteUrl,
+ method: file.deleteType
+ }).then(
+ function () {
+ state = 'resolved';
+ $scope.clear(file);
+ },
+ function () {
+ state = 'rejected';
+ }
+ );
+ };
+ } else if (!file.$cancel && !file._index) {
+ file.$cancel = function () {
+ $scope.clear(file);
+ };
+ }
+ }
+ ]);
+
+}());
diff --git a/library/jqupload/js/cors/jquery.postmessage-transport.js b/library/jqupload/js/cors/jquery.postmessage-transport.js
new file mode 100644
index 000000000..2b4851e67
--- /dev/null
+++ b/library/jqupload/js/cors/jquery.postmessage-transport.js
@@ -0,0 +1,117 @@
+/*
+ * jQuery postMessage Transport Plugin 1.1.1
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2011, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* global define, window, document */
+
+(function (factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ // Register as an anonymous AMD module:
+ define(['jquery'], factory);
+ } else {
+ // Browser globals:
+ factory(window.jQuery);
+ }
+}(function ($) {
+ 'use strict';
+
+ var counter = 0,
+ names = [
+ 'accepts',
+ 'cache',
+ 'contents',
+ 'contentType',
+ 'crossDomain',
+ 'data',
+ 'dataType',
+ 'headers',
+ 'ifModified',
+ 'mimeType',
+ 'password',
+ 'processData',
+ 'timeout',
+ 'traditional',
+ 'type',
+ 'url',
+ 'username'
+ ],
+ convert = function (p) {
+ return p;
+ };
+
+ $.ajaxSetup({
+ converters: {
+ 'postmessage text': convert,
+ 'postmessage json': convert,
+ 'postmessage html': convert
+ }
+ });
+
+ $.ajaxTransport('postmessage', function (options) {
+ if (options.postMessage && window.postMessage) {
+ var iframe,
+ loc = $('<a>').prop('href', options.postMessage)[0],
+ target = loc.protocol + '//' + loc.host,
+ xhrUpload = options.xhr().upload;
+ return {
+ send: function (_, completeCallback) {
+ counter += 1;
+ var message = {
+ id: 'postmessage-transport-' + counter
+ },
+ eventName = 'message.' + message.id;
+ iframe = $(
+ '<iframe style="display:none;" src="' +
+ options.postMessage + '" name="' +
+ message.id + '"></iframe>'
+ ).bind('load', function () {
+ $.each(names, function (i, name) {
+ message[name] = options[name];
+ });
+ message.dataType = message.dataType.replace('postmessage ', '');
+ $(window).bind(eventName, function (e) {
+ e = e.originalEvent;
+ var data = e.data,
+ ev;
+ if (e.origin === target && data.id === message.id) {
+ if (data.type === 'progress') {
+ ev = document.createEvent('Event');
+ ev.initEvent(data.type, false, true);
+ $.extend(ev, data);
+ xhrUpload.dispatchEvent(ev);
+ } else {
+ completeCallback(
+ data.status,
+ data.statusText,
+ {postmessage: data.result},
+ data.headers
+ );
+ iframe.remove();
+ $(window).unbind(eventName);
+ }
+ }
+ });
+ iframe[0].contentWindow.postMessage(
+ message,
+ target
+ );
+ }).appendTo(document.body);
+ },
+ abort: function () {
+ if (iframe) {
+ iframe.remove();
+ }
+ }
+ };
+ }
+ });
+
+}));
diff --git a/library/jqupload/js/cors/jquery.xdr-transport.js b/library/jqupload/js/cors/jquery.xdr-transport.js
new file mode 100644
index 000000000..0044cc2d5
--- /dev/null
+++ b/library/jqupload/js/cors/jquery.xdr-transport.js
@@ -0,0 +1,86 @@
+/*
+ * jQuery XDomainRequest Transport Plugin 1.1.3
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2011, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ *
+ * Based on Julian Aubourg's ajaxHooks xdr.js:
+ * https://github.com/jaubourg/ajaxHooks/
+ */
+
+/* global define, window, XDomainRequest */
+
+(function (factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ // Register as an anonymous AMD module:
+ define(['jquery'], factory);
+ } else {
+ // Browser globals:
+ factory(window.jQuery);
+ }
+}(function ($) {
+ 'use strict';
+ if (window.XDomainRequest && !$.support.cors) {
+ $.ajaxTransport(function (s) {
+ if (s.crossDomain && s.async) {
+ if (s.timeout) {
+ s.xdrTimeout = s.timeout;
+ delete s.timeout;
+ }
+ var xdr;
+ return {
+ send: function (headers, completeCallback) {
+ var addParamChar = /\?/.test(s.url) ? '&' : '?';
+ function callback(status, statusText, responses, responseHeaders) {
+ xdr.onload = xdr.onerror = xdr.ontimeout = $.noop;
+ xdr = null;
+ completeCallback(status, statusText, responses, responseHeaders);
+ }
+ xdr = new XDomainRequest();
+ // XDomainRequest only supports GET and POST:
+ if (s.type === 'DELETE') {
+ s.url = s.url + addParamChar + '_method=DELETE';
+ s.type = 'POST';
+ } else if (s.type === 'PUT') {
+ s.url = s.url + addParamChar + '_method=PUT';
+ s.type = 'POST';
+ } else if (s.type === 'PATCH') {
+ s.url = s.url + addParamChar + '_method=PATCH';
+ s.type = 'POST';
+ }
+ xdr.open(s.type, s.url);
+ xdr.onload = function () {
+ callback(
+ 200,
+ 'OK',
+ {text: xdr.responseText},
+ 'Content-Type: ' + xdr.contentType
+ );
+ };
+ xdr.onerror = function () {
+ callback(404, 'Not Found');
+ };
+ if (s.xdrTimeout) {
+ xdr.ontimeout = function () {
+ callback(0, 'timeout');
+ };
+ xdr.timeout = s.xdrTimeout;
+ }
+ xdr.send((s.hasContent && s.data) || null);
+ },
+ abort: function () {
+ if (xdr) {
+ xdr.onerror = $.noop();
+ xdr.abort();
+ }
+ }
+ };
+ }
+ });
+ }
+}));
diff --git a/library/jqupload/js/jquery.fileupload-angular.js b/library/jqupload/js/jquery.fileupload-angular.js
new file mode 100644
index 000000000..666f51429
--- /dev/null
+++ b/library/jqupload/js/jquery.fileupload-angular.js
@@ -0,0 +1,428 @@
+/*
+ * jQuery File Upload AngularJS Plugin 2.1.3
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* jshint nomen:false */
+/* global define, angular */
+
+(function (factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ // Register as an anonymous AMD module:
+ define([
+ 'jquery',
+ 'angular',
+ './jquery.fileupload-image',
+ './jquery.fileupload-audio',
+ './jquery.fileupload-video',
+ './jquery.fileupload-validate'
+ ], factory);
+ } else {
+ factory();
+ }
+}(function () {
+ 'use strict';
+
+ angular.module('blueimp.fileupload', [])
+
+ // The fileUpload service provides configuration options
+ // for the fileUpload directive and default handlers for
+ // File Upload events:
+ .provider('fileUpload', function () {
+ var scopeEvalAsync = function (expression) {
+ var scope = angular.element(this)
+ .fileupload('option', 'scope')();
+ // Schedule a new $digest cycle if not already inside of one
+ // and evaluate the given expression:
+ scope.$evalAsync(expression);
+ },
+ addFileMethods = function (scope, data) {
+ var files = data.files,
+ file = files[0];
+ angular.forEach(files, function (file, index) {
+ file._index = index;
+ file.$state = function () {
+ return data.state();
+ };
+ file.$processing = function () {
+ return data.processing();
+ };
+ file.$progress = function () {
+ return data.progress();
+ };
+ file.$response = function () {
+ return data.response();
+ };
+ });
+ file.$submit = function () {
+ if (!file.error) {
+ return data.submit();
+ }
+ };
+ file.$cancel = function () {
+ return data.abort();
+ };
+ },
+ $config;
+ $config = this.defaults = {
+ handleResponse: function (e, data) {
+ var files = data.result && data.result.files;
+ if (files) {
+ data.scope().replace(data.files, files);
+ } else if (data.errorThrown ||
+ data.textStatus === 'error') {
+ data.files[0].error = data.errorThrown ||
+ data.textStatus;
+ }
+ },
+ add: function (e, data) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ var scope = data.scope(),
+ filesCopy = [];
+ angular.forEach(data.files, function (file) {
+ filesCopy.push(file);
+ });
+ scope.$apply(function () {
+ addFileMethods(scope, data);
+ var method = scope.option('prependFiles') ?
+ 'unshift' : 'push';
+ Array.prototype[method].apply(scope.queue, data.files);
+ });
+ data.process(function () {
+ return scope.process(data);
+ }).always(function () {
+ scope.$apply(function () {
+ addFileMethods(scope, data);
+ scope.replace(filesCopy, data.files);
+ });
+ }).then(function () {
+ if ((scope.option('autoUpload') ||
+ data.autoUpload) &&
+ data.autoUpload !== false) {
+ data.submit();
+ }
+ });
+ },
+ progress: function (e, data) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ data.scope().$apply();
+ },
+ done: function (e, data) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ var that = this;
+ data.scope().$apply(function () {
+ data.handleResponse.call(that, e, data);
+ });
+ },
+ fail: function (e, data) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ var that = this,
+ scope = data.scope();
+ if (data.errorThrown === 'abort') {
+ scope.clear(data.files);
+ return;
+ }
+ scope.$apply(function () {
+ data.handleResponse.call(that, e, data);
+ });
+ },
+ stop: scopeEvalAsync,
+ processstart: scopeEvalAsync,
+ processstop: scopeEvalAsync,
+ getNumberOfFiles: function () {
+ var scope = this.scope();
+ return scope.queue.length - scope.processing();
+ },
+ dataType: 'json',
+ autoUpload: false
+ };
+ this.$get = [
+ function () {
+ return {
+ defaults: $config
+ };
+ }
+ ];
+ })
+
+ // Format byte numbers to readable presentations:
+ .provider('formatFileSizeFilter', function () {
+ var $config = {
+ // Byte units following the IEC format
+ // http://en.wikipedia.org/wiki/Kilobyte
+ units: [
+ {size: 1000000000, suffix: ' GB'},
+ {size: 1000000, suffix: ' MB'},
+ {size: 1000, suffix: ' KB'}
+ ]
+ };
+ this.defaults = $config;
+ this.$get = function () {
+ return function (bytes) {
+ if (!angular.isNumber(bytes)) {
+ return '';
+ }
+ var unit = true,
+ i = 0,
+ prefix,
+ suffix;
+ while (unit) {
+ unit = $config.units[i];
+ prefix = unit.prefix || '';
+ suffix = unit.suffix || '';
+ if (i === $config.units.length - 1 || bytes >= unit.size) {
+ return prefix + (bytes / unit.size).toFixed(2) + suffix;
+ }
+ i += 1;
+ }
+ };
+ };
+ })
+
+ // The FileUploadController initializes the fileupload widget and
+ // provides scope methods to control the File Upload functionality:
+ .controller('FileUploadController', [
+ '$scope', '$element', '$attrs', '$window', 'fileUpload',
+ function ($scope, $element, $attrs, $window, fileUpload) {
+ var uploadMethods = {
+ progress: function () {
+ return $element.fileupload('progress');
+ },
+ active: function () {
+ return $element.fileupload('active');
+ },
+ option: function (option, data) {
+ return $element.fileupload('option', option, data);
+ },
+ add: function (data) {
+ return $element.fileupload('add', data);
+ },
+ send: function (data) {
+ return $element.fileupload('send', data);
+ },
+ process: function (data) {
+ return $element.fileupload('process', data);
+ },
+ processing: function (data) {
+ return $element.fileupload('processing', data);
+ }
+ };
+ $scope.disabled = !$window.jQuery.support.fileInput;
+ $scope.queue = $scope.queue || [];
+ $scope.clear = function (files) {
+ var queue = this.queue,
+ i = queue.length,
+ file = files,
+ length = 1;
+ if (angular.isArray(files)) {
+ file = files[0];
+ length = files.length;
+ }
+ while (i) {
+ i -= 1;
+ if (queue[i] === file) {
+ return queue.splice(i, length);
+ }
+ }
+ };
+ $scope.replace = function (oldFiles, newFiles) {
+ var queue = this.queue,
+ file = oldFiles[0],
+ i,
+ j;
+ for (i = 0; i < queue.length; i += 1) {
+ if (queue[i] === file) {
+ for (j = 0; j < newFiles.length; j += 1) {
+ queue[i + j] = newFiles[j];
+ }
+ return;
+ }
+ }
+ };
+ $scope.applyOnQueue = function (method) {
+ var list = this.queue.slice(0),
+ i,
+ file;
+ for (i = 0; i < list.length; i += 1) {
+ file = list[i];
+ if (file[method]) {
+ file[method]();
+ }
+ }
+ };
+ $scope.submit = function () {
+ this.applyOnQueue('$submit');
+ };
+ $scope.cancel = function () {
+ this.applyOnQueue('$cancel');
+ };
+ // Add upload methods to the scope:
+ angular.extend($scope, uploadMethods);
+ // The fileupload widget will initialize with
+ // the options provided via "data-"-parameters,
+ // as well as those given via options object:
+ $element.fileupload(angular.extend(
+ {scope: function () {
+ return $scope;
+ }},
+ fileUpload.defaults
+ )).on('fileuploadadd', function (e, data) {
+ data.scope = $scope.option('scope');
+ }).on('fileuploadfail', function (e, data) {
+ if (data.errorThrown === 'abort') {
+ return;
+ }
+ if (data.dataType &&
+ data.dataType.indexOf('json') === data.dataType.length - 4) {
+ try {
+ data.result = angular.fromJson(data.jqXHR.responseText);
+ } catch (ignore) {}
+ }
+ }).on([
+ 'fileuploadadd',
+ 'fileuploadsubmit',
+ 'fileuploadsend',
+ 'fileuploaddone',
+ 'fileuploadfail',
+ 'fileuploadalways',
+ 'fileuploadprogress',
+ 'fileuploadprogressall',
+ 'fileuploadstart',
+ 'fileuploadstop',
+ 'fileuploadchange',
+ 'fileuploadpaste',
+ 'fileuploaddrop',
+ 'fileuploaddragover',
+ 'fileuploadchunksend',
+ 'fileuploadchunkdone',
+ 'fileuploadchunkfail',
+ 'fileuploadchunkalways',
+ 'fileuploadprocessstart',
+ 'fileuploadprocess',
+ 'fileuploadprocessdone',
+ 'fileuploadprocessfail',
+ 'fileuploadprocessalways',
+ 'fileuploadprocessstop'
+ ].join(' '), function (e, data) {
+ if ($scope.$emit(e.type, data).defaultPrevented) {
+ e.preventDefault();
+ }
+ }).on('remove', function () {
+ // Remove upload methods from the scope,
+ // when the widget is removed:
+ var method;
+ for (method in uploadMethods) {
+ if (uploadMethods.hasOwnProperty(method)) {
+ delete $scope[method];
+ }
+ }
+ });
+ // Observe option changes:
+ $scope.$watch(
+ $attrs.fileUpload,
+ function (newOptions) {
+ if (newOptions) {
+ $element.fileupload('option', newOptions);
+ }
+ }
+ );
+ }
+ ])
+
+ // Provide File Upload progress feedback:
+ .controller('FileUploadProgressController', [
+ '$scope', '$attrs', '$parse',
+ function ($scope, $attrs, $parse) {
+ var fn = $parse($attrs.fileUploadProgress),
+ update = function () {
+ var progress = fn($scope);
+ if (!progress || !progress.total) {
+ return;
+ }
+ $scope.num = Math.floor(
+ progress.loaded / progress.total * 100
+ );
+ };
+ update();
+ $scope.$watch(
+ $attrs.fileUploadProgress + '.loaded',
+ function (newValue, oldValue) {
+ if (newValue !== oldValue) {
+ update();
+ }
+ }
+ );
+ }
+ ])
+
+ // Display File Upload previews:
+ .controller('FileUploadPreviewController', [
+ '$scope', '$element', '$attrs',
+ function ($scope, $element, $attrs) {
+ $scope.$watch(
+ $attrs.fileUploadPreview + '.preview',
+ function (preview) {
+ $element.empty();
+ if (preview) {
+ $element.append(preview);
+ }
+ }
+ );
+ }
+ ])
+
+ .directive('fileUpload', function () {
+ return {
+ controller: 'FileUploadController',
+ scope: true
+ };
+ })
+
+ .directive('fileUploadProgress', function () {
+ return {
+ controller: 'FileUploadProgressController',
+ scope: true
+ };
+ })
+
+ .directive('fileUploadPreview', function () {
+ return {
+ controller: 'FileUploadPreviewController'
+ };
+ })
+
+ // Enhance the HTML5 download attribute to
+ // allow drag&drop of files to the desktop:
+ .directive('download', function () {
+ return function (scope, elm) {
+ elm.on('dragstart', function (e) {
+ try {
+ e.originalEvent.dataTransfer.setData(
+ 'DownloadURL',
+ [
+ 'application/octet-stream',
+ elm.prop('download'),
+ elm.prop('href')
+ ].join(':')
+ );
+ } catch (ignore) {}
+ });
+ };
+ });
+
+}));
diff --git a/library/jqupload/js/jquery.fileupload-audio.js b/library/jqupload/js/jquery.fileupload-audio.js
new file mode 100644
index 000000000..575800e82
--- /dev/null
+++ b/library/jqupload/js/jquery.fileupload-audio.js
@@ -0,0 +1,106 @@
+/*
+ * jQuery File Upload Audio Preview Plugin 1.0.3
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* jshint nomen:false */
+/* global define, window, document */
+
+(function (factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ // Register as an anonymous AMD module:
+ define([
+ 'jquery',
+ 'load-image',
+ './jquery.fileupload-process'
+ ], factory);
+ } else {
+ // Browser globals:
+ factory(
+ window.jQuery,
+ window.loadImage
+ );
+ }
+}(function ($, loadImage) {
+ 'use strict';
+
+ // Prepend to the default processQueue:
+ $.blueimp.fileupload.prototype.options.processQueue.unshift(
+ {
+ action: 'loadAudio',
+ // Use the action as prefix for the "@" options:
+ prefix: true,
+ fileTypes: '@',
+ maxFileSize: '@',
+ disabled: '@disableAudioPreview'
+ },
+ {
+ action: 'setAudio',
+ name: '@audioPreviewName',
+ disabled: '@disableAudioPreview'
+ }
+ );
+
+ // The File Upload Audio Preview plugin extends the fileupload widget
+ // with audio preview functionality:
+ $.widget('blueimp.fileupload', $.blueimp.fileupload, {
+
+ options: {
+ // The regular expression for the types of audio files to load,
+ // matched against the file type:
+ loadAudioFileTypes: /^audio\/.*$/
+ },
+
+ _audioElement: document.createElement('audio'),
+
+ processActions: {
+
+ // Loads the audio file given via data.files and data.index
+ // as audio element if the browser supports playing it.
+ // Accepts the options fileTypes (regular expression)
+ // and maxFileSize (integer) to limit the files to load:
+ loadAudio: function (data, options) {
+ if (options.disabled) {
+ return data;
+ }
+ var file = data.files[data.index],
+ url,
+ audio;
+ if (this._audioElement.canPlayType &&
+ this._audioElement.canPlayType(file.type) &&
+ ($.type(options.maxFileSize) !== 'number' ||
+ file.size <= options.maxFileSize) &&
+ (!options.fileTypes ||
+ options.fileTypes.test(file.type))) {
+ url = loadImage.createObjectURL(file);
+ if (url) {
+ audio = this._audioElement.cloneNode(false);
+ audio.src = url;
+ audio.controls = true;
+ data.audio = audio;
+ return data;
+ }
+ }
+ return data;
+ },
+
+ // Sets the audio element as a property of the file object:
+ setAudio: function (data, options) {
+ if (data.audio && !options.disabled) {
+ data.files[data.index][options.name || 'preview'] = data.audio;
+ }
+ return data;
+ }
+
+ }
+
+ });
+
+}));
diff --git a/library/jqupload/js/jquery.fileupload-image.js b/library/jqupload/js/jquery.fileupload-image.js
new file mode 100644
index 000000000..8fbf7d42c
--- /dev/null
+++ b/library/jqupload/js/jquery.fileupload-image.js
@@ -0,0 +1,309 @@
+/*
+ * jQuery File Upload Image Preview & Resize Plugin 1.7.0
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* jshint nomen:false */
+/* global define, window, Blob */
+
+(function (factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ // Register as an anonymous AMD module:
+ define([
+ 'jquery',
+ 'load-image',
+ 'load-image-meta',
+ 'load-image-exif',
+ 'load-image-ios',
+ 'canvas-to-blob',
+ './jquery.fileupload-process'
+ ], factory);
+ } else {
+ // Browser globals:
+ factory(
+ window.jQuery,
+ window.loadImage
+ );
+ }
+}(function ($, loadImage) {
+ 'use strict';
+
+ // Prepend to the default processQueue:
+ $.blueimp.fileupload.prototype.options.processQueue.unshift(
+ {
+ action: 'loadImageMetaData',
+ disableImageHead: '@',
+ disableExif: '@',
+ disableExifThumbnail: '@',
+ disableExifSub: '@',
+ disableExifGps: '@',
+ disabled: '@disableImageMetaDataLoad'
+ },
+ {
+ action: 'loadImage',
+ // Use the action as prefix for the "@" options:
+ prefix: true,
+ fileTypes: '@',
+ maxFileSize: '@',
+ noRevoke: '@',
+ disabled: '@disableImageLoad'
+ },
+ {
+ action: 'resizeImage',
+ // Use "image" as prefix for the "@" options:
+ prefix: 'image',
+ maxWidth: '@',
+ maxHeight: '@',
+ minWidth: '@',
+ minHeight: '@',
+ crop: '@',
+ orientation: '@',
+ forceResize: '@',
+ disabled: '@disableImageResize'
+ },
+ {
+ action: 'saveImage',
+ quality: '@imageQuality',
+ type: '@imageType',
+ disabled: '@disableImageResize'
+ },
+ {
+ action: 'saveImageMetaData',
+ disabled: '@disableImageMetaDataSave'
+ },
+ {
+ action: 'resizeImage',
+ // Use "preview" as prefix for the "@" options:
+ prefix: 'preview',
+ maxWidth: '@',
+ maxHeight: '@',
+ minWidth: '@',
+ minHeight: '@',
+ crop: '@',
+ orientation: '@',
+ thumbnail: '@',
+ canvas: '@',
+ disabled: '@disableImagePreview'
+ },
+ {
+ action: 'setImage',
+ name: '@imagePreviewName',
+ disabled: '@disableImagePreview'
+ },
+ {
+ action: 'deleteImageReferences',
+ disabled: '@disableImageReferencesDeletion'
+ }
+ );
+
+ // The File Upload Resize plugin extends the fileupload widget
+ // with image resize functionality:
+ $.widget('blueimp.fileupload', $.blueimp.fileupload, {
+
+ options: {
+ // The regular expression for the types of images to load:
+ // matched against the file type:
+ loadImageFileTypes: /^image\/(gif|jpeg|png)$/,
+ // The maximum file size of images to load:
+ loadImageMaxFileSize: 10000000, // 10MB
+ // The maximum width of resized images:
+ imageMaxWidth: 1920,
+ // The maximum height of resized images:
+ imageMaxHeight: 1080,
+ // Defines the image orientation (1-8) or takes the orientation
+ // value from Exif data if set to true:
+ imageOrientation: false,
+ // Define if resized images should be cropped or only scaled:
+ imageCrop: false,
+ // Disable the resize image functionality by default:
+ disableImageResize: true,
+ // The maximum width of the preview images:
+ previewMaxWidth: 80,
+ // The maximum height of the preview images:
+ previewMaxHeight: 80,
+ // Defines the preview orientation (1-8) or takes the orientation
+ // value from Exif data if set to true:
+ previewOrientation: true,
+ // Create the preview using the Exif data thumbnail:
+ previewThumbnail: true,
+ // Define if preview images should be cropped or only scaled:
+ previewCrop: false,
+ // Define if preview images should be resized as canvas elements:
+ previewCanvas: true
+ },
+
+ processActions: {
+
+ // Loads the image given via data.files and data.index
+ // as img element, if the browser supports the File API.
+ // Accepts the options fileTypes (regular expression)
+ // and maxFileSize (integer) to limit the files to load:
+ loadImage: function (data, options) {
+ if (options.disabled) {
+ return data;
+ }
+ var that = this,
+ file = data.files[data.index],
+ dfd = $.Deferred();
+ if (($.type(options.maxFileSize) === 'number' &&
+ file.size > options.maxFileSize) ||
+ (options.fileTypes &&
+ !options.fileTypes.test(file.type)) ||
+ !loadImage(
+ file,
+ function (img) {
+ if (img.src) {
+ data.img = img;
+ }
+ dfd.resolveWith(that, [data]);
+ },
+ options
+ )) {
+ return data;
+ }
+ return dfd.promise();
+ },
+
+ // Resizes the image given as data.canvas or data.img
+ // and updates data.canvas or data.img with the resized image.
+ // Also stores the resized image as preview property.
+ // Accepts the options maxWidth, maxHeight, minWidth,
+ // minHeight, canvas and crop:
+ resizeImage: function (data, options) {
+ if (options.disabled || !(data.canvas || data.img)) {
+ return data;
+ }
+ options = $.extend({canvas: true}, options);
+ var that = this,
+ dfd = $.Deferred(),
+ img = (options.canvas && data.canvas) || data.img,
+ resolve = function (newImg) {
+ if (newImg && (newImg.width !== img.width ||
+ newImg.height !== img.height ||
+ options.forceResize)) {
+ data[newImg.getContext ? 'canvas' : 'img'] = newImg;
+ }
+ data.preview = newImg;
+ dfd.resolveWith(that, [data]);
+ },
+ thumbnail;
+ if (data.exif) {
+ if (options.orientation === true) {
+ options.orientation = data.exif.get('Orientation');
+ }
+ if (options.thumbnail) {
+ thumbnail = data.exif.get('Thumbnail');
+ if (thumbnail) {
+ loadImage(thumbnail, resolve, options);
+ return dfd.promise();
+ }
+ }
+ }
+ if (img) {
+ resolve(loadImage.scale(img, options));
+ return dfd.promise();
+ }
+ return data;
+ },
+
+ // Saves the processed image given as data.canvas
+ // inplace at data.index of data.files:
+ saveImage: function (data, options) {
+ if (!data.canvas || options.disabled) {
+ return data;
+ }
+ var that = this,
+ file = data.files[data.index],
+ dfd = $.Deferred();
+ if (data.canvas.toBlob) {
+ data.canvas.toBlob(
+ function (blob) {
+ if (!blob.name) {
+ if (file.type === blob.type) {
+ blob.name = file.name;
+ } else if (file.name) {
+ blob.name = file.name.replace(
+ /\..+$/,
+ '.' + blob.type.substr(6)
+ );
+ }
+ }
+ // Don't restore invalid meta data:
+ if (file.type !== blob.type) {
+ delete data.imageHead;
+ }
+ // Store the created blob at the position
+ // of the original file in the files list:
+ data.files[data.index] = blob;
+ dfd.resolveWith(that, [data]);
+ },
+ options.type || file.type,
+ options.quality
+ );
+ } else {
+ return data;
+ }
+ return dfd.promise();
+ },
+
+ loadImageMetaData: function (data, options) {
+ if (options.disabled) {
+ return data;
+ }
+ var that = this,
+ dfd = $.Deferred();
+ loadImage.parseMetaData(data.files[data.index], function (result) {
+ $.extend(data, result);
+ dfd.resolveWith(that, [data]);
+ }, options);
+ return dfd.promise();
+ },
+
+ saveImageMetaData: function (data, options) {
+ if (!(data.imageHead && data.canvas &&
+ data.canvas.toBlob && !options.disabled)) {
+ return data;
+ }
+ var file = data.files[data.index],
+ blob = new Blob([
+ data.imageHead,
+ // Resized images always have a head size of 20 bytes,
+ // including the JPEG marker and a minimal JFIF header:
+ this._blobSlice.call(file, 20)
+ ], {type: file.type});
+ blob.name = file.name;
+ data.files[data.index] = blob;
+ return data;
+ },
+
+ // Sets the resized version of the image as a property of the
+ // file object, must be called after "saveImage":
+ setImage: function (data, options) {
+ if (data.preview && !options.disabled) {
+ data.files[data.index][options.name || 'preview'] = data.preview;
+ }
+ return data;
+ },
+
+ deleteImageReferences: function (data, options) {
+ if (!options.disabled) {
+ delete data.img;
+ delete data.canvas;
+ delete data.preview;
+ delete data.imageHead;
+ }
+ return data;
+ }
+
+ }
+
+ });
+
+}));
diff --git a/library/jqupload/js/jquery.fileupload-jquery-ui.js b/library/jqupload/js/jquery.fileupload-jquery-ui.js
new file mode 100755
index 000000000..7b4ffdf05
--- /dev/null
+++ b/library/jqupload/js/jquery.fileupload-jquery-ui.js
@@ -0,0 +1,144 @@
+/*
+ * jQuery File Upload jQuery UI Plugin 8.7.0
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* jshint nomen:false */
+/* global define, window */
+
+(function (factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ // Register as an anonymous AMD module:
+ define(['jquery', './jquery.fileupload-ui'], factory);
+ } else {
+ // Browser globals:
+ factory(window.jQuery);
+ }
+}(function ($) {
+ 'use strict';
+
+ $.widget('blueimp.fileupload', $.blueimp.fileupload, {
+
+ options: {
+ progress: function (e, data) {
+ if (data.context) {
+ data.context.find('.progress').progressbar(
+ 'option',
+ 'value',
+ parseInt(data.loaded / data.total * 100, 10)
+ );
+ }
+ },
+ progressall: function (e, data) {
+ var $this = $(this);
+ $this.find('.fileupload-progress')
+ .find('.progress').progressbar(
+ 'option',
+ 'value',
+ parseInt(data.loaded / data.total * 100, 10)
+ ).end()
+ .find('.progress-extended').each(function () {
+ $(this).html(
+ ($this.data('blueimp-fileupload') ||
+ $this.data('fileupload'))
+ ._renderExtendedProgress(data)
+ );
+ });
+ }
+ },
+
+ _renderUpload: function (func, files) {
+ var node = this._super(func, files),
+ showIconText = $(window).width() > 480;
+ node.find('.progress').empty().progressbar();
+ node.find('.start').button({
+ icons: {primary: 'ui-icon-circle-arrow-e'},
+ text: showIconText
+ });
+ node.find('.cancel').button({
+ icons: {primary: 'ui-icon-cancel'},
+ text: showIconText
+ });
+ if (node.hasClass('fade')) {
+ node.hide();
+ }
+ return node;
+ },
+
+ _renderDownload: function (func, files) {
+ var node = this._super(func, files),
+ showIconText = $(window).width() > 480;
+ node.find('.delete').button({
+ icons: {primary: 'ui-icon-trash'},
+ text: showIconText
+ });
+ if (node.hasClass('fade')) {
+ node.hide();
+ }
+ return node;
+ },
+
+ _transition: function (node) {
+ var deferred = $.Deferred();
+ if (node.hasClass('fade')) {
+ node.fadeToggle(
+ this.options.transitionDuration,
+ this.options.transitionEasing,
+ function () {
+ deferred.resolveWith(node);
+ }
+ );
+ } else {
+ deferred.resolveWith(node);
+ }
+ return deferred;
+ },
+
+ _create: function () {
+ this._super();
+ this.element
+ .find('.fileupload-buttonbar')
+ .find('.fileinput-button').each(function () {
+ var input = $(this).find('input:file').detach();
+ $(this)
+ .button({icons: {primary: 'ui-icon-plusthick'}})
+ .append(input);
+ })
+ .end().find('.start')
+ .button({icons: {primary: 'ui-icon-circle-arrow-e'}})
+ .end().find('.cancel')
+ .button({icons: {primary: 'ui-icon-cancel'}})
+ .end().find('.delete')
+ .button({icons: {primary: 'ui-icon-trash'}})
+ .end().find('.progress').progressbar();
+ },
+
+ _destroy: function () {
+ this.element
+ .find('.fileupload-buttonbar')
+ .find('.fileinput-button').each(function () {
+ var input = $(this).find('input:file').detach();
+ $(this)
+ .button('destroy')
+ .append(input);
+ })
+ .end().find('.start')
+ .button('destroy')
+ .end().find('.cancel')
+ .button('destroy')
+ .end().find('.delete')
+ .button('destroy')
+ .end().find('.progress').progressbar('destroy');
+ this._super();
+ }
+
+ });
+
+}));
diff --git a/library/jqupload/js/jquery.fileupload-process.js b/library/jqupload/js/jquery.fileupload-process.js
new file mode 100644
index 000000000..8a6b929a6
--- /dev/null
+++ b/library/jqupload/js/jquery.fileupload-process.js
@@ -0,0 +1,172 @@
+/*
+ * jQuery File Upload Processing Plugin 1.3.0
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2012, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* jshint nomen:false */
+/* global define, window */
+
+(function (factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ // Register as an anonymous AMD module:
+ define([
+ 'jquery',
+ './jquery.fileupload'
+ ], factory);
+ } else {
+ // Browser globals:
+ factory(
+ window.jQuery
+ );
+ }
+}(function ($) {
+ 'use strict';
+
+ var originalAdd = $.blueimp.fileupload.prototype.options.add;
+
+ // The File Upload Processing plugin extends the fileupload widget
+ // with file processing functionality:
+ $.widget('blueimp.fileupload', $.blueimp.fileupload, {
+
+ options: {
+ // The list of processing actions:
+ processQueue: [
+ /*
+ {
+ action: 'log',
+ type: 'debug'
+ }
+ */
+ ],
+ add: function (e, data) {
+ var $this = $(this);
+ data.process(function () {
+ return $this.fileupload('process', data);
+ });
+ originalAdd.call(this, e, data);
+ }
+ },
+
+ processActions: {
+ /*
+ log: function (data, options) {
+ console[options.type](
+ 'Processing "' + data.files[data.index].name + '"'
+ );
+ }
+ */
+ },
+
+ _processFile: function (data, originalData) {
+ var that = this,
+ dfd = $.Deferred().resolveWith(that, [data]),
+ chain = dfd.promise();
+ this._trigger('process', null, data);
+ $.each(data.processQueue, function (i, settings) {
+ var func = function (data) {
+ if (originalData.errorThrown) {
+ return $.Deferred()
+ .rejectWith(that, [originalData]).promise();
+ }
+ return that.processActions[settings.action].call(
+ that,
+ data,
+ settings
+ );
+ };
+ chain = chain.pipe(func, settings.always && func);
+ });
+ chain
+ .done(function () {
+ that._trigger('processdone', null, data);
+ that._trigger('processalways', null, data);
+ })
+ .fail(function () {
+ that._trigger('processfail', null, data);
+ that._trigger('processalways', null, data);
+ });
+ return chain;
+ },
+
+ // Replaces the settings of each processQueue item that
+ // are strings starting with an "@", using the remaining
+ // substring as key for the option map,
+ // e.g. "@autoUpload" is replaced with options.autoUpload:
+ _transformProcessQueue: function (options) {
+ var processQueue = [];
+ $.each(options.processQueue, function () {
+ var settings = {},
+ action = this.action,
+ prefix = this.prefix === true ? action : this.prefix;
+ $.each(this, function (key, value) {
+ if ($.type(value) === 'string' &&
+ value.charAt(0) === '@') {
+ settings[key] = options[
+ value.slice(1) || (prefix ? prefix +
+ key.charAt(0).toUpperCase() + key.slice(1) : key)
+ ];
+ } else {
+ settings[key] = value;
+ }
+
+ });
+ processQueue.push(settings);
+ });
+ options.processQueue = processQueue;
+ },
+
+ // Returns the number of files currently in the processsing queue:
+ processing: function () {
+ return this._processing;
+ },
+
+ // Processes the files given as files property of the data parameter,
+ // returns a Promise object that allows to bind callbacks:
+ process: function (data) {
+ var that = this,
+ options = $.extend({}, this.options, data);
+ if (options.processQueue && options.processQueue.length) {
+ this._transformProcessQueue(options);
+ if (this._processing === 0) {
+ this._trigger('processstart');
+ }
+ $.each(data.files, function (index) {
+ var opts = index ? $.extend({}, options) : options,
+ func = function () {
+ if (data.errorThrown) {
+ return $.Deferred()
+ .rejectWith(that, [data]).promise();
+ }
+ return that._processFile(opts, data);
+ };
+ opts.index = index;
+ that._processing += 1;
+ that._processingQueue = that._processingQueue.pipe(func, func)
+ .always(function () {
+ that._processing -= 1;
+ if (that._processing === 0) {
+ that._trigger('processstop');
+ }
+ });
+ });
+ }
+ return this._processingQueue;
+ },
+
+ _create: function () {
+ this._super();
+ this._processing = 0;
+ this._processingQueue = $.Deferred().resolveWith(this)
+ .promise();
+ }
+
+ });
+
+}));
diff --git a/library/jqupload/js/jquery.fileupload-ui.js b/library/jqupload/js/jquery.fileupload-ui.js
new file mode 100644
index 000000000..417edb73f
--- /dev/null
+++ b/library/jqupload/js/jquery.fileupload-ui.js
@@ -0,0 +1,701 @@
+/*
+ * jQuery File Upload User Interface Plugin 9.5.1
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2010, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* jshint nomen:false */
+/* global define, window */
+
+(function (factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ // Register as an anonymous AMD module:
+ define([
+ 'jquery',
+ 'tmpl',
+ './jquery.fileupload-image',
+ './jquery.fileupload-audio',
+ './jquery.fileupload-video',
+ './jquery.fileupload-validate'
+ ], factory);
+ } else {
+ // Browser globals:
+ factory(
+ window.jQuery,
+ window.tmpl
+ );
+ }
+}(function ($, tmpl) {
+ 'use strict';
+
+ $.blueimp.fileupload.prototype._specialOptions.push(
+ 'filesContainer',
+ 'uploadTemplateId',
+ 'downloadTemplateId'
+ );
+
+ // The UI version extends the file upload widget
+ // and adds complete user interface interaction:
+ $.widget('blueimp.fileupload', $.blueimp.fileupload, {
+
+ options: {
+ // By default, files added to the widget are uploaded as soon
+ // as the user clicks on the start buttons. To enable automatic
+ // uploads, set the following option to true:
+ autoUpload: false,
+ // The ID of the upload template:
+ uploadTemplateId: 'template-upload',
+ // The ID of the download template:
+ downloadTemplateId: 'template-download',
+ // The container for the list of files. If undefined, it is set to
+ // an element with class "files" inside of the widget element:
+ filesContainer: undefined,
+ // By default, files are appended to the files container.
+ // Set the following option to true, to prepend files instead:
+ prependFiles: false,
+ // The expected data type of the upload response, sets the dataType
+ // option of the $.ajax upload requests:
+ dataType: 'json',
+
+ // Function returning the current number of files,
+ // used by the maxNumberOfFiles validation:
+ getNumberOfFiles: function () {
+ return this.filesContainer.children()
+ .not('.processing').length;
+ },
+
+ // Callback to retrieve the list of files from the server response:
+ getFilesFromResponse: function (data) {
+ if (data.result && $.isArray(data.result.files)) {
+ return data.result.files;
+ }
+ return [];
+ },
+
+ // The add callback is invoked as soon as files are added to the fileupload
+ // widget (via file input selection, drag & drop or add API call).
+ // See the basic file upload widget for more information:
+ add: function (e, data) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ var $this = $(this),
+ that = $this.data('blueimp-fileupload') ||
+ $this.data('fileupload'),
+ options = that.options;
+ data.context = that._renderUpload(data.files)
+ .data('data', data)
+ .addClass('processing');
+ options.filesContainer[
+ options.prependFiles ? 'prepend' : 'append'
+ ](data.context);
+ that._forceReflow(data.context);
+ $.when(
+ that._transition(data.context),
+ data.process(function () {
+ return $this.fileupload('process', data);
+ })
+ ).always(function () {
+ data.context.each(function (index) {
+ $(this).find('.size').text(
+ that._formatFileSize(data.files[index].size)
+ );
+ }).removeClass('processing');
+ that._renderPreviews(data);
+ }).done(function () {
+ data.context.find('.start').prop('disabled', false);
+ if ((that._trigger('added', e, data) !== false) &&
+ (options.autoUpload || data.autoUpload) &&
+ data.autoUpload !== false) {
+ data.submit();
+ }
+ }).fail(function () {
+ if (data.files.error) {
+ data.context.each(function (index) {
+ var error = data.files[index].error;
+ if (error) {
+ $(this).find('.error').text(error);
+ }
+ });
+ }
+ });
+ },
+ // Callback for the start of each file upload request:
+ send: function (e, data) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ var that = $(this).data('blueimp-fileupload') ||
+ $(this).data('fileupload');
+ if (data.context && data.dataType &&
+ data.dataType.substr(0, 6) === 'iframe') {
+ // Iframe Transport does not support progress events.
+ // In lack of an indeterminate progress bar, we set
+ // the progress to 100%, showing the full animated bar:
+ data.context
+ .find('.progress').addClass(
+ !$.support.transition && 'progress-animated'
+ )
+ .attr('aria-valuenow', 100)
+ .children().first().css(
+ 'width',
+ '100%'
+ );
+ }
+ return that._trigger('sent', e, data);
+ },
+ // Callback for successful uploads:
+ done: function (e, data) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ var that = $(this).data('blueimp-fileupload') ||
+ $(this).data('fileupload'),
+ getFilesFromResponse = data.getFilesFromResponse ||
+ that.options.getFilesFromResponse,
+ files = getFilesFromResponse(data),
+ template,
+ deferred;
+ if (data.context) {
+ data.context.each(function (index) {
+ var file = files[index] ||
+ {error: 'Empty file upload result'};
+ deferred = that._addFinishedDeferreds();
+ that._transition($(this)).done(
+ function () {
+ var node = $(this);
+ template = that._renderDownload([file])
+ .replaceAll(node);
+ that._forceReflow(template);
+ that._transition(template).done(
+ function () {
+ data.context = $(this);
+ that._trigger('completed', e, data);
+ that._trigger('finished', e, data);
+ deferred.resolve();
+ }
+ );
+ }
+ );
+ });
+ } else {
+ template = that._renderDownload(files)[
+ that.options.prependFiles ? 'prependTo' : 'appendTo'
+ ](that.options.filesContainer);
+ that._forceReflow(template);
+ deferred = that._addFinishedDeferreds();
+ that._transition(template).done(
+ function () {
+ data.context = $(this);
+ that._trigger('completed', e, data);
+ that._trigger('finished', e, data);
+ deferred.resolve();
+ }
+ );
+ }
+ },
+ // Callback for failed (abort or error) uploads:
+ fail: function (e, data) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ var that = $(this).data('blueimp-fileupload') ||
+ $(this).data('fileupload'),
+ template,
+ deferred;
+ if (data.context) {
+ data.context.each(function (index) {
+ if (data.errorThrown !== 'abort') {
+ var file = data.files[index];
+ file.error = file.error || data.errorThrown ||
+ true;
+ deferred = that._addFinishedDeferreds();
+ that._transition($(this)).done(
+ function () {
+ var node = $(this);
+ template = that._renderDownload([file])
+ .replaceAll(node);
+ that._forceReflow(template);
+ that._transition(template).done(
+ function () {
+ data.context = $(this);
+ that._trigger('failed', e, data);
+ that._trigger('finished', e, data);
+ deferred.resolve();
+ }
+ );
+ }
+ );
+ } else {
+ deferred = that._addFinishedDeferreds();
+ that._transition($(this)).done(
+ function () {
+ $(this).remove();
+ that._trigger('failed', e, data);
+ that._trigger('finished', e, data);
+ deferred.resolve();
+ }
+ );
+ }
+ });
+ } else if (data.errorThrown !== 'abort') {
+ data.context = that._renderUpload(data.files)[
+ that.options.prependFiles ? 'prependTo' : 'appendTo'
+ ](that.options.filesContainer)
+ .data('data', data);
+ that._forceReflow(data.context);
+ deferred = that._addFinishedDeferreds();
+ that._transition(data.context).done(
+ function () {
+ data.context = $(this);
+ that._trigger('failed', e, data);
+ that._trigger('finished', e, data);
+ deferred.resolve();
+ }
+ );
+ } else {
+ that._trigger('failed', e, data);
+ that._trigger('finished', e, data);
+ that._addFinishedDeferreds().resolve();
+ }
+ },
+ // Callback for upload progress events:
+ progress: function (e, data) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ var progress = Math.floor(data.loaded / data.total * 100);
+ if (data.context) {
+ data.context.each(function () {
+ $(this).find('.progress')
+ .attr('aria-valuenow', progress)
+ .children().first().css(
+ 'width',
+ progress + '%'
+ );
+ });
+ }
+ },
+ // Callback for global upload progress events:
+ progressall: function (e, data) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ var $this = $(this),
+ progress = Math.floor(data.loaded / data.total * 100),
+ globalProgressNode = $this.find('.fileupload-progress'),
+ extendedProgressNode = globalProgressNode
+ .find('.progress-extended');
+ if (extendedProgressNode.length) {
+ extendedProgressNode.html(
+ ($this.data('blueimp-fileupload') || $this.data('fileupload'))
+ ._renderExtendedProgress(data)
+ );
+ }
+ globalProgressNode
+ .find('.progress')
+ .attr('aria-valuenow', progress)
+ .children().first().css(
+ 'width',
+ progress + '%'
+ );
+ },
+ // Callback for uploads start, equivalent to the global ajaxStart event:
+ start: function (e) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ var that = $(this).data('blueimp-fileupload') ||
+ $(this).data('fileupload');
+ that._resetFinishedDeferreds();
+ that._transition($(this).find('.fileupload-progress')).done(
+ function () {
+ that._trigger('started', e);
+ }
+ );
+ },
+ // Callback for uploads stop, equivalent to the global ajaxStop event:
+ stop: function (e) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ var that = $(this).data('blueimp-fileupload') ||
+ $(this).data('fileupload'),
+ deferred = that._addFinishedDeferreds();
+ $.when.apply($, that._getFinishedDeferreds())
+ .done(function () {
+ that._trigger('stopped', e);
+ });
+ that._transition($(this).find('.fileupload-progress')).done(
+ function () {
+ $(this).find('.progress')
+ .attr('aria-valuenow', '0')
+ .children().first().css('width', '0%');
+ $(this).find('.progress-extended').html('&nbsp;');
+ deferred.resolve();
+ }
+ );
+ },
+ processstart: function (e) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ $(this).addClass('fileupload-processing');
+ },
+ processstop: function (e) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ $(this).removeClass('fileupload-processing');
+ },
+ // Callback for file deletion:
+ destroy: function (e, data) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ var that = $(this).data('blueimp-fileupload') ||
+ $(this).data('fileupload'),
+ removeNode = function () {
+ that._transition(data.context).done(
+ function () {
+ $(this).remove();
+ that._trigger('destroyed', e, data);
+ }
+ );
+ };
+ if (data.url) {
+ data.dataType = data.dataType || that.options.dataType;
+ $.ajax(data).done(removeNode).fail(function () {
+ that._trigger('destroyfailed', e, data);
+ });
+ } else {
+ removeNode();
+ }
+ }
+ },
+
+ _resetFinishedDeferreds: function () {
+ this._finishedUploads = [];
+ },
+
+ _addFinishedDeferreds: function (deferred) {
+ if (!deferred) {
+ deferred = $.Deferred();
+ }
+ this._finishedUploads.push(deferred);
+ return deferred;
+ },
+
+ _getFinishedDeferreds: function () {
+ return this._finishedUploads;
+ },
+
+ // Link handler, that allows to download files
+ // by drag & drop of the links to the desktop:
+ _enableDragToDesktop: function () {
+ var link = $(this),
+ url = link.prop('href'),
+ name = link.prop('download'),
+ type = 'application/octet-stream';
+ link.bind('dragstart', function (e) {
+ try {
+ e.originalEvent.dataTransfer.setData(
+ 'DownloadURL',
+ [type, name, url].join(':')
+ );
+ } catch (ignore) {}
+ });
+ },
+
+ _formatFileSize: function (bytes) {
+ if (typeof bytes !== 'number') {
+ return '';
+ }
+ if (bytes >= 1000000000) {
+ return (bytes / 1000000000).toFixed(2) + ' GB';
+ }
+ if (bytes >= 1000000) {
+ return (bytes / 1000000).toFixed(2) + ' MB';
+ }
+ return (bytes / 1000).toFixed(2) + ' KB';
+ },
+
+ _formatBitrate: function (bits) {
+ if (typeof bits !== 'number') {
+ return '';
+ }
+ if (bits >= 1000000000) {
+ return (bits / 1000000000).toFixed(2) + ' Gbit/s';
+ }
+ if (bits >= 1000000) {
+ return (bits / 1000000).toFixed(2) + ' Mbit/s';
+ }
+ if (bits >= 1000) {
+ return (bits / 1000).toFixed(2) + ' kbit/s';
+ }
+ return bits.toFixed(2) + ' bit/s';
+ },
+
+ _formatTime: function (seconds) {
+ var date = new Date(seconds * 1000),
+ days = Math.floor(seconds / 86400);
+ days = days ? days + 'd ' : '';
+ return days +
+ ('0' + date.getUTCHours()).slice(-2) + ':' +
+ ('0' + date.getUTCMinutes()).slice(-2) + ':' +
+ ('0' + date.getUTCSeconds()).slice(-2);
+ },
+
+ _formatPercentage: function (floatValue) {
+ return (floatValue * 100).toFixed(2) + ' %';
+ },
+
+ _renderExtendedProgress: function (data) {
+ return this._formatBitrate(data.bitrate) + ' | ' +
+ this._formatTime(
+ (data.total - data.loaded) * 8 / data.bitrate
+ ) + ' | ' +
+ this._formatPercentage(
+ data.loaded / data.total
+ ) + ' | ' +
+ this._formatFileSize(data.loaded) + ' / ' +
+ this._formatFileSize(data.total);
+ },
+
+ _renderTemplate: function (func, files) {
+ if (!func) {
+ return $();
+ }
+ var result = func({
+ files: files,
+ formatFileSize: this._formatFileSize,
+ options: this.options
+ });
+ if (result instanceof $) {
+ return result;
+ }
+ return $(this.options.templatesContainer).html(result).children();
+ },
+
+ _renderPreviews: function (data) {
+ data.context.find('.preview').each(function (index, elm) {
+ $(elm).append(data.files[index].preview);
+ });
+ },
+
+ _renderUpload: function (files) {
+ return this._renderTemplate(
+ this.options.uploadTemplate,
+ files
+ );
+ },
+
+ _renderDownload: function (files) {
+ return this._renderTemplate(
+ this.options.downloadTemplate,
+ files
+ ).find('a[download]').each(this._enableDragToDesktop).end();
+ },
+
+ _startHandler: function (e) {
+ e.preventDefault();
+ var button = $(e.currentTarget),
+ template = button.closest('.template-upload'),
+ data = template.data('data');
+ button.prop('disabled', true);
+ if (data && data.submit) {
+ data.submit();
+ }
+ },
+
+ _cancelHandler: function (e) {
+ e.preventDefault();
+ var template = $(e.currentTarget)
+ .closest('.template-upload,.template-download'),
+ data = template.data('data') || {};
+ data.context = data.context || template;
+ if (data.abort) {
+ data.abort();
+ } else {
+ data.errorThrown = 'abort';
+ this._trigger('fail', e, data);
+ }
+ },
+
+ _deleteHandler: function (e) {
+ e.preventDefault();
+ var button = $(e.currentTarget);
+ this._trigger('destroy', e, $.extend({
+ context: button.closest('.template-download'),
+ type: 'DELETE'
+ }, button.data()));
+ },
+
+ _forceReflow: function (node) {
+ return $.support.transition && node.length &&
+ node[0].offsetWidth;
+ },
+
+ _transition: function (node) {
+ var dfd = $.Deferred();
+ if ($.support.transition && node.hasClass('fade') && node.is(':visible')) {
+ node.bind(
+ $.support.transition.end,
+ function (e) {
+ // Make sure we don't respond to other transitions events
+ // in the container element, e.g. from button elements:
+ if (e.target === node[0]) {
+ node.unbind($.support.transition.end);
+ dfd.resolveWith(node);
+ }
+ }
+ ).toggleClass('in');
+ } else {
+ node.toggleClass('in');
+ dfd.resolveWith(node);
+ }
+ return dfd;
+ },
+
+ _initButtonBarEventHandlers: function () {
+ var fileUploadButtonBar = this.element.find('.fileupload-buttonbar'),
+ filesList = this.options.filesContainer;
+ this._on(fileUploadButtonBar.find('.start'), {
+ click: function (e) {
+ e.preventDefault();
+ filesList.find('.start').click();
+ }
+ });
+ this._on(fileUploadButtonBar.find('.cancel'), {
+ click: function (e) {
+ e.preventDefault();
+ filesList.find('.cancel').click();
+ }
+ });
+ this._on(fileUploadButtonBar.find('.delete'), {
+ click: function (e) {
+ e.preventDefault();
+ filesList.find('.toggle:checked')
+ .closest('.template-download')
+ .find('.delete').click();
+ fileUploadButtonBar.find('.toggle')
+ .prop('checked', false);
+ }
+ });
+ this._on(fileUploadButtonBar.find('.toggle'), {
+ change: function (e) {
+ filesList.find('.toggle').prop(
+ 'checked',
+ $(e.currentTarget).is(':checked')
+ );
+ }
+ });
+ },
+
+ _destroyButtonBarEventHandlers: function () {
+ this._off(
+ this.element.find('.fileupload-buttonbar')
+ .find('.start, .cancel, .delete'),
+ 'click'
+ );
+ this._off(
+ this.element.find('.fileupload-buttonbar .toggle'),
+ 'change.'
+ );
+ },
+
+ _initEventHandlers: function () {
+ this._super();
+ this._on(this.options.filesContainer, {
+ 'click .start': this._startHandler,
+ 'click .cancel': this._cancelHandler,
+ 'click .delete': this._deleteHandler
+ });
+ this._initButtonBarEventHandlers();
+ },
+
+ _destroyEventHandlers: function () {
+ this._destroyButtonBarEventHandlers();
+ this._off(this.options.filesContainer, 'click');
+ this._super();
+ },
+
+ _enableFileInputButton: function () {
+ this.element.find('.fileinput-button input')
+ .prop('disabled', false)
+ .parent().removeClass('disabled');
+ },
+
+ _disableFileInputButton: function () {
+ this.element.find('.fileinput-button input')
+ .prop('disabled', true)
+ .parent().addClass('disabled');
+ },
+
+ _initTemplates: function () {
+ var options = this.options;
+ options.templatesContainer = this.document[0].createElement(
+ options.filesContainer.prop('nodeName')
+ );
+ if (tmpl) {
+ if (options.uploadTemplateId) {
+ options.uploadTemplate = tmpl(options.uploadTemplateId);
+ }
+ if (options.downloadTemplateId) {
+ options.downloadTemplate = tmpl(options.downloadTemplateId);
+ }
+ }
+ },
+
+ _initFilesContainer: function () {
+ var options = this.options;
+ if (options.filesContainer === undefined) {
+ options.filesContainer = this.element.find('.files');
+ } else if (!(options.filesContainer instanceof $)) {
+ options.filesContainer = $(options.filesContainer);
+ }
+ },
+
+ _initSpecialOptions: function () {
+ this._super();
+ this._initFilesContainer();
+ this._initTemplates();
+ },
+
+ _create: function () {
+ this._super();
+ this._resetFinishedDeferreds();
+ if (!$.support.fileInput) {
+ this._disableFileInputButton();
+ }
+ },
+
+ enable: function () {
+ var wasDisabled = false;
+ if (this.options.disabled) {
+ wasDisabled = true;
+ }
+ this._super();
+ if (wasDisabled) {
+ this.element.find('input, button').prop('disabled', false);
+ this._enableFileInputButton();
+ }
+ },
+
+ disable: function () {
+ if (!this.options.disabled) {
+ this.element.find('input, button').prop('disabled', true);
+ this._disableFileInputButton();
+ }
+ this._super();
+ }
+
+ });
+
+}));
diff --git a/library/jqupload/js/jquery.fileupload-validate.js b/library/jqupload/js/jquery.fileupload-validate.js
new file mode 100644
index 000000000..f93a18fa2
--- /dev/null
+++ b/library/jqupload/js/jquery.fileupload-validate.js
@@ -0,0 +1,119 @@
+/*
+ * jQuery File Upload Validation Plugin 1.1.2
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* global define, window */
+
+(function (factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ // Register as an anonymous AMD module:
+ define([
+ 'jquery',
+ './jquery.fileupload-process'
+ ], factory);
+ } else {
+ // Browser globals:
+ factory(
+ window.jQuery
+ );
+ }
+}(function ($) {
+ 'use strict';
+
+ // Append to the default processQueue:
+ $.blueimp.fileupload.prototype.options.processQueue.push(
+ {
+ action: 'validate',
+ // Always trigger this action,
+ // even if the previous action was rejected:
+ always: true,
+ // Options taken from the global options map:
+ acceptFileTypes: '@',
+ maxFileSize: '@',
+ minFileSize: '@',
+ maxNumberOfFiles: '@',
+ disabled: '@disableValidation'
+ }
+ );
+
+ // The File Upload Validation plugin extends the fileupload widget
+ // with file validation functionality:
+ $.widget('blueimp.fileupload', $.blueimp.fileupload, {
+
+ options: {
+ /*
+ // The regular expression for allowed file types, matches
+ // against either file type or file name:
+ acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
+ // The maximum allowed file size in bytes:
+ maxFileSize: 10000000, // 10 MB
+ // The minimum allowed file size in bytes:
+ minFileSize: undefined, // No minimal file size
+ // The limit of files to be uploaded:
+ maxNumberOfFiles: 10,
+ */
+
+ // Function returning the current number of files,
+ // has to be overriden for maxNumberOfFiles validation:
+ getNumberOfFiles: $.noop,
+
+ // Error and info messages:
+ messages: {
+ maxNumberOfFiles: 'Maximum number of files exceeded',
+ acceptFileTypes: 'File type not allowed',
+ maxFileSize: 'File is too large',
+ minFileSize: 'File is too small'
+ }
+ },
+
+ processActions: {
+
+ validate: function (data, options) {
+ if (options.disabled) {
+ return data;
+ }
+ var dfd = $.Deferred(),
+ settings = this.options,
+ file = data.files[data.index],
+ fileSize;
+ if (options.minFileSize || options.maxFileSize) {
+ fileSize = file.size;
+ }
+ if ($.type(options.maxNumberOfFiles) === 'number' &&
+ (settings.getNumberOfFiles() || 0) + data.files.length >
+ options.maxNumberOfFiles) {
+ file.error = settings.i18n('maxNumberOfFiles');
+ } else if (options.acceptFileTypes &&
+ !(options.acceptFileTypes.test(file.type) ||
+ options.acceptFileTypes.test(file.name))) {
+ file.error = settings.i18n('acceptFileTypes');
+ } else if (fileSize > options.maxFileSize) {
+ file.error = settings.i18n('maxFileSize');
+ } else if ($.type(fileSize) === 'number' &&
+ fileSize < options.minFileSize) {
+ file.error = settings.i18n('minFileSize');
+ } else {
+ delete file.error;
+ }
+ if (file.error || data.files.error) {
+ data.files.error = true;
+ dfd.rejectWith(this, [data]);
+ } else {
+ dfd.resolveWith(this, [data]);
+ }
+ return dfd.promise();
+ }
+
+ }
+
+ });
+
+}));
diff --git a/library/jqupload/js/jquery.fileupload-video.js b/library/jqupload/js/jquery.fileupload-video.js
new file mode 100644
index 000000000..3764b27a2
--- /dev/null
+++ b/library/jqupload/js/jquery.fileupload-video.js
@@ -0,0 +1,106 @@
+/*
+ * jQuery File Upload Video Preview Plugin 1.0.3
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* jshint nomen:false */
+/* global define, window, document */
+
+(function (factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ // Register as an anonymous AMD module:
+ define([
+ 'jquery',
+ 'load-image',
+ './jquery.fileupload-process'
+ ], factory);
+ } else {
+ // Browser globals:
+ factory(
+ window.jQuery,
+ window.loadImage
+ );
+ }
+}(function ($, loadImage) {
+ 'use strict';
+
+ // Prepend to the default processQueue:
+ $.blueimp.fileupload.prototype.options.processQueue.unshift(
+ {
+ action: 'loadVideo',
+ // Use the action as prefix for the "@" options:
+ prefix: true,
+ fileTypes: '@',
+ maxFileSize: '@',
+ disabled: '@disableVideoPreview'
+ },
+ {
+ action: 'setVideo',
+ name: '@videoPreviewName',
+ disabled: '@disableVideoPreview'
+ }
+ );
+
+ // The File Upload Video Preview plugin extends the fileupload widget
+ // with video preview functionality:
+ $.widget('blueimp.fileupload', $.blueimp.fileupload, {
+
+ options: {
+ // The regular expression for the types of video files to load,
+ // matched against the file type:
+ loadVideoFileTypes: /^video\/.*$/
+ },
+
+ _videoElement: document.createElement('video'),
+
+ processActions: {
+
+ // Loads the video file given via data.files and data.index
+ // as video element if the browser supports playing it.
+ // Accepts the options fileTypes (regular expression)
+ // and maxFileSize (integer) to limit the files to load:
+ loadVideo: function (data, options) {
+ if (options.disabled) {
+ return data;
+ }
+ var file = data.files[data.index],
+ url,
+ video;
+ if (this._videoElement.canPlayType &&
+ this._videoElement.canPlayType(file.type) &&
+ ($.type(options.maxFileSize) !== 'number' ||
+ file.size <= options.maxFileSize) &&
+ (!options.fileTypes ||
+ options.fileTypes.test(file.type))) {
+ url = loadImage.createObjectURL(file);
+ if (url) {
+ video = this._videoElement.cloneNode(false);
+ video.src = url;
+ video.controls = true;
+ data.video = video;
+ return data;
+ }
+ }
+ return data;
+ },
+
+ // Sets the video element as a property of the file object:
+ setVideo: function (data, options) {
+ if (data.video && !options.disabled) {
+ data.files[data.index][options.name || 'preview'] = data.video;
+ }
+ return data;
+ }
+
+ }
+
+ });
+
+}));
diff --git a/library/jqupload/js/jquery.fileupload.js b/library/jqupload/js/jquery.fileupload.js
new file mode 100644
index 000000000..b52af0654
--- /dev/null
+++ b/library/jqupload/js/jquery.fileupload.js
@@ -0,0 +1,1420 @@
+/*
+ * jQuery File Upload Plugin 5.40.0
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2010, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* jshint nomen:false */
+/* global define, window, document, location, Blob, FormData */
+
+(function (factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ // Register as an anonymous AMD module:
+ define([
+ 'jquery',
+ 'jquery.ui.widget'
+ ], factory);
+ } else {
+ // Browser globals:
+ factory(window.jQuery);
+ }
+}(function ($) {
+ 'use strict';
+
+ // Detect file input support, based on
+ // http://viljamis.com/blog/2012/file-upload-support-on-mobile/
+ $.support.fileInput = !(new RegExp(
+ // Handle devices which give false positives for the feature detection:
+ '(Android (1\\.[0156]|2\\.[01]))' +
+ '|(Windows Phone (OS 7|8\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)' +
+ '|(w(eb)?OSBrowser)|(webOS)' +
+ '|(Kindle/(1\\.0|2\\.[05]|3\\.0))'
+ ).test(window.navigator.userAgent) ||
+ // Feature detection for all other devices:
+ $('<input type="file">').prop('disabled'));
+
+ // The FileReader API is not actually used, but works as feature detection,
+ // as some Safari versions (5?) support XHR file uploads via the FormData API,
+ // but not non-multipart XHR file uploads.
+ // window.XMLHttpRequestUpload is not available on IE10, so we check for
+ // window.ProgressEvent instead to detect XHR2 file upload capability:
+ $.support.xhrFileUpload = !!(window.ProgressEvent && window.FileReader);
+ $.support.xhrFormDataFileUpload = !!window.FormData;
+
+ // Detect support for Blob slicing (required for chunked uploads):
+ $.support.blobSlice = window.Blob && (Blob.prototype.slice ||
+ Blob.prototype.webkitSlice || Blob.prototype.mozSlice);
+
+ // The fileupload widget listens for change events on file input fields defined
+ // via fileInput setting and paste or drop events of the given dropZone.
+ // In addition to the default jQuery Widget methods, the fileupload widget
+ // exposes the "add" and "send" methods, to add or directly send files using
+ // the fileupload API.
+ // By default, files added via file input selection, paste, drag & drop or
+ // "add" method are uploaded immediately, but it is possible to override
+ // the "add" callback option to queue file uploads.
+ $.widget('blueimp.fileupload', {
+
+ options: {
+ // The drop target element(s), by the default the complete document.
+ // Set to null to disable drag & drop support:
+ dropZone: $(document),
+ // The paste target element(s), by the default the complete document.
+ // Set to null to disable paste support:
+ pasteZone: $(document),
+ // The file input field(s), that are listened to for change events.
+ // If undefined, it is set to the file input fields inside
+ // of the widget element on plugin initialization.
+ // Set to null to disable the change listener.
+ fileInput: undefined,
+ // By default, the file input field is replaced with a clone after
+ // each input field change event. This is required for iframe transport
+ // queues and allows change events to be fired for the same file
+ // selection, but can be disabled by setting the following option to false:
+ replaceFileInput: true,
+ // The parameter name for the file form data (the request argument name).
+ // If undefined or empty, the name property of the file input field is
+ // used, or "files[]" if the file input name property is also empty,
+ // can be a string or an array of strings:
+ paramName: undefined,
+ // By default, each file of a selection is uploaded using an individual
+ // request for XHR type uploads. Set to false to upload file
+ // selections in one request each:
+ singleFileUploads: true,
+ // To limit the number of files uploaded with one XHR request,
+ // set the following option to an integer greater than 0:
+ limitMultiFileUploads: undefined,
+ // The following option limits the number of files uploaded with one
+ // XHR request to keep the request size under or equal to the defined
+ // limit in bytes:
+ limitMultiFileUploadSize: undefined,
+ // Multipart file uploads add a number of bytes to each uploaded file,
+ // therefore the following option adds an overhead for each file used
+ // in the limitMultiFileUploadSize configuration:
+ limitMultiFileUploadSizeOverhead: 512,
+ // Set the following option to true to issue all file upload requests
+ // in a sequential order:
+ sequentialUploads: false,
+ // To limit the number of concurrent uploads,
+ // set the following option to an integer greater than 0:
+ limitConcurrentUploads: undefined,
+ // Set the following option to true to force iframe transport uploads:
+ forceIframeTransport: false,
+ // Set the following option to the location of a redirect url on the
+ // origin server, for cross-domain iframe transport uploads:
+ redirect: undefined,
+ // The parameter name for the redirect url, sent as part of the form
+ // data and set to 'redirect' if this option is empty:
+ redirectParamName: undefined,
+ // Set the following option to the location of a postMessage window,
+ // to enable postMessage transport uploads:
+ postMessage: undefined,
+ // By default, XHR file uploads are sent as multipart/form-data.
+ // The iframe transport is always using multipart/form-data.
+ // Set to false to enable non-multipart XHR uploads:
+ multipart: true,
+ // To upload large files in smaller chunks, set the following option
+ // to a preferred maximum chunk size. If set to 0, null or undefined,
+ // or the browser does not support the required Blob API, files will
+ // be uploaded as a whole.
+ maxChunkSize: undefined,
+ // When a non-multipart upload or a chunked multipart upload has been
+ // aborted, this option can be used to resume the upload by setting
+ // it to the size of the already uploaded bytes. This option is most
+ // useful when modifying the options object inside of the "add" or
+ // "send" callbacks, as the options are cloned for each file upload.
+ uploadedBytes: undefined,
+ // By default, failed (abort or error) file uploads are removed from the
+ // global progress calculation. Set the following option to false to
+ // prevent recalculating the global progress data:
+ recalculateProgress: true,
+ // Interval in milliseconds to calculate and trigger progress events:
+ progressInterval: 100,
+ // Interval in milliseconds to calculate progress bitrate:
+ bitrateInterval: 500,
+ // By default, uploads are started automatically when adding files:
+ autoUpload: true,
+
+ // Error and info messages:
+ messages: {
+ uploadedBytes: 'Uploaded bytes exceed file size'
+ },
+
+ // Translation function, gets the message key to be translated
+ // and an object with context specific data as arguments:
+ i18n: function (message, context) {
+ message = this.messages[message] || message.toString();
+ if (context) {
+ $.each(context, function (key, value) {
+ message = message.replace('{' + key + '}', value);
+ });
+ }
+ return message;
+ },
+
+ // Additional form data to be sent along with the file uploads can be set
+ // using this option, which accepts an array of objects with name and
+ // value properties, a function returning such an array, a FormData
+ // object (for XHR file uploads), or a simple object.
+ // The form of the first fileInput is given as parameter to the function:
+ formData: function (form) {
+ return form.serializeArray();
+ },
+
+ // The add callback is invoked as soon as files are added to the fileupload
+ // widget (via file input selection, drag & drop, paste or add API call).
+ // If the singleFileUploads option is enabled, this callback will be
+ // called once for each file in the selection for XHR file uploads, else
+ // once for each file selection.
+ //
+ // The upload starts when the submit method is invoked on the data parameter.
+ // The data object contains a files property holding the added files
+ // and allows you to override plugin options as well as define ajax settings.
+ //
+ // Listeners for this callback can also be bound the following way:
+ // .bind('fileuploadadd', func);
+ //
+ // data.submit() returns a Promise object and allows to attach additional
+ // handlers using jQuery's Deferred callbacks:
+ // data.submit().done(func).fail(func).always(func);
+ add: function (e, data) {
+ if (e.isDefaultPrevented()) {
+ return false;
+ }
+ if (data.autoUpload || (data.autoUpload !== false &&
+ $(this).fileupload('option', 'autoUpload'))) {
+ data.process().done(function () {
+ data.submit();
+ });
+ }
+ },
+
+ // Other callbacks:
+
+ // Callback for the submit event of each file upload:
+ // submit: function (e, data) {}, // .bind('fileuploadsubmit', func);
+
+ // Callback for the start of each file upload request:
+ // send: function (e, data) {}, // .bind('fileuploadsend', func);
+
+ // Callback for successful uploads:
+ // done: function (e, data) {}, // .bind('fileuploaddone', func);
+
+ // Callback for failed (abort or error) uploads:
+ // fail: function (e, data) {}, // .bind('fileuploadfail', func);
+
+ // Callback for completed (success, abort or error) requests:
+ // always: function (e, data) {}, // .bind('fileuploadalways', func);
+
+ // Callback for upload progress events:
+ // progress: function (e, data) {}, // .bind('fileuploadprogress', func);
+
+ // Callback for global upload progress events:
+ // progressall: function (e, data) {}, // .bind('fileuploadprogressall', func);
+
+ // Callback for uploads start, equivalent to the global ajaxStart event:
+ // start: function (e) {}, // .bind('fileuploadstart', func);
+
+ // Callback for uploads stop, equivalent to the global ajaxStop event:
+ // stop: function (e) {}, // .bind('fileuploadstop', func);
+
+ // Callback for change events of the fileInput(s):
+ // change: function (e, data) {}, // .bind('fileuploadchange', func);
+
+ // Callback for paste events to the pasteZone(s):
+ // paste: function (e, data) {}, // .bind('fileuploadpaste', func);
+
+ // Callback for drop events of the dropZone(s):
+ // drop: function (e, data) {}, // .bind('fileuploaddrop', func);
+
+ // Callback for dragover events of the dropZone(s):
+ // dragover: function (e) {}, // .bind('fileuploaddragover', func);
+
+ // Callback for the start of each chunk upload request:
+ // chunksend: function (e, data) {}, // .bind('fileuploadchunksend', func);
+
+ // Callback for successful chunk uploads:
+ // chunkdone: function (e, data) {}, // .bind('fileuploadchunkdone', func);
+
+ // Callback for failed (abort or error) chunk uploads:
+ // chunkfail: function (e, data) {}, // .bind('fileuploadchunkfail', func);
+
+ // Callback for completed (success, abort or error) chunk upload requests:
+ // chunkalways: function (e, data) {}, // .bind('fileuploadchunkalways', func);
+
+ // The plugin options are used as settings object for the ajax calls.
+ // The following are jQuery ajax settings required for the file uploads:
+ processData: false,
+ contentType: false,
+ cache: false
+ },
+
+ // A list of options that require reinitializing event listeners and/or
+ // special initialization code:
+ _specialOptions: [
+ 'fileInput',
+ 'dropZone',
+ 'pasteZone',
+ 'multipart',
+ 'forceIframeTransport'
+ ],
+
+ _blobSlice: $.support.blobSlice && function () {
+ var slice = this.slice || this.webkitSlice || this.mozSlice;
+ return slice.apply(this, arguments);
+ },
+
+ _BitrateTimer: function () {
+ this.timestamp = ((Date.now) ? Date.now() : (new Date()).getTime());
+ this.loaded = 0;
+ this.bitrate = 0;
+ this.getBitrate = function (now, loaded, interval) {
+ var timeDiff = now - this.timestamp;
+ if (!this.bitrate || !interval || timeDiff > interval) {
+ this.bitrate = (loaded - this.loaded) * (1000 / timeDiff) * 8;
+ this.loaded = loaded;
+ this.timestamp = now;
+ }
+ return this.bitrate;
+ };
+ },
+
+ _isXHRUpload: function (options) {
+ return !options.forceIframeTransport &&
+ ((!options.multipart && $.support.xhrFileUpload) ||
+ $.support.xhrFormDataFileUpload);
+ },
+
+ _getFormData: function (options) {
+ var formData;
+ if ($.type(options.formData) === 'function') {
+ return options.formData(options.form);
+ }
+ if ($.isArray(options.formData)) {
+ return options.formData;
+ }
+ if ($.type(options.formData) === 'object') {
+ formData = [];
+ $.each(options.formData, function (name, value) {
+ formData.push({name: name, value: value});
+ });
+ return formData;
+ }
+ return [];
+ },
+
+ _getTotal: function (files) {
+ var total = 0;
+ $.each(files, function (index, file) {
+ total += file.size || 1;
+ });
+ return total;
+ },
+
+ _initProgressObject: function (obj) {
+ var progress = {
+ loaded: 0,
+ total: 0,
+ bitrate: 0
+ };
+ if (obj._progress) {
+ $.extend(obj._progress, progress);
+ } else {
+ obj._progress = progress;
+ }
+ },
+
+ _initResponseObject: function (obj) {
+ var prop;
+ if (obj._response) {
+ for (prop in obj._response) {
+ if (obj._response.hasOwnProperty(prop)) {
+ delete obj._response[prop];
+ }
+ }
+ } else {
+ obj._response = {};
+ }
+ },
+
+ _onProgress: function (e, data) {
+ if (e.lengthComputable) {
+ var now = ((Date.now) ? Date.now() : (new Date()).getTime()),
+ loaded;
+ if (data._time && data.progressInterval &&
+ (now - data._time < data.progressInterval) &&
+ e.loaded !== e.total) {
+ return;
+ }
+ data._time = now;
+ loaded = Math.floor(
+ e.loaded / e.total * (data.chunkSize || data._progress.total)
+ ) + (data.uploadedBytes || 0);
+ // Add the difference from the previously loaded state
+ // to the global loaded counter:
+ this._progress.loaded += (loaded - data._progress.loaded);
+ this._progress.bitrate = this._bitrateTimer.getBitrate(
+ now,
+ this._progress.loaded,
+ data.bitrateInterval
+ );
+ data._progress.loaded = data.loaded = loaded;
+ data._progress.bitrate = data.bitrate = data._bitrateTimer.getBitrate(
+ now,
+ loaded,
+ data.bitrateInterval
+ );
+ // Trigger a custom progress event with a total data property set
+ // to the file size(s) of the current upload and a loaded data
+ // property calculated accordingly:
+ this._trigger(
+ 'progress',
+ $.Event('progress', {delegatedEvent: e}),
+ data
+ );
+ // Trigger a global progress event for all current file uploads,
+ // including ajax calls queued for sequential file uploads:
+ this._trigger(
+ 'progressall',
+ $.Event('progressall', {delegatedEvent: e}),
+ this._progress
+ );
+ }
+ },
+
+ _initProgressListener: function (options) {
+ var that = this,
+ xhr = options.xhr ? options.xhr() : $.ajaxSettings.xhr();
+ // Accesss to the native XHR object is required to add event listeners
+ // for the upload progress event:
+ if (xhr.upload) {
+ $(xhr.upload).bind('progress', function (e) {
+ var oe = e.originalEvent;
+ // Make sure the progress event properties get copied over:
+ e.lengthComputable = oe.lengthComputable;
+ e.loaded = oe.loaded;
+ e.total = oe.total;
+ that._onProgress(e, options);
+ });
+ options.xhr = function () {
+ return xhr;
+ };
+ }
+ },
+
+ _isInstanceOf: function (type, obj) {
+ // Cross-frame instanceof check
+ return Object.prototype.toString.call(obj) === '[object ' + type + ']';
+ },
+
+ _initXHRData: function (options) {
+ var that = this,
+ formData,
+ file = options.files[0],
+ // Ignore non-multipart setting if not supported:
+ multipart = options.multipart || !$.support.xhrFileUpload,
+ paramName = $.type(options.paramName) === 'array' ?
+ options.paramName[0] : options.paramName;
+ options.headers = $.extend({}, options.headers);
+ if (options.contentRange) {
+ options.headers['Content-Range'] = options.contentRange;
+ }
+ if (!multipart || options.blob || !this._isInstanceOf('File', file)) {
+ options.headers['Content-Disposition'] = 'attachment; filename="' +
+ encodeURI(file.name) + '"';
+ }
+ if (!multipart) {
+ options.contentType = file.type || 'application/octet-stream';
+ options.data = options.blob || file;
+ } else if ($.support.xhrFormDataFileUpload) {
+ if (options.postMessage) {
+ // window.postMessage does not allow sending FormData
+ // objects, so we just add the File/Blob objects to
+ // the formData array and let the postMessage window
+ // create the FormData object out of this array:
+ formData = this._getFormData(options);
+ if (options.blob) {
+ formData.push({
+ name: paramName,
+ value: options.blob
+ });
+ } else {
+ $.each(options.files, function (index, file) {
+ formData.push({
+ name: ($.type(options.paramName) === 'array' &&
+ options.paramName[index]) || paramName,
+ value: file
+ });
+ });
+ }
+ } else {
+ if (that._isInstanceOf('FormData', options.formData)) {
+ formData = options.formData;
+ } else {
+ formData = new FormData();
+ $.each(this._getFormData(options), function (index, field) {
+ formData.append(field.name, field.value);
+ });
+ }
+ if (options.blob) {
+ formData.append(paramName, options.blob, file.name);
+ } else {
+ $.each(options.files, function (index, file) {
+ // This check allows the tests to run with
+ // dummy objects:
+ if (that._isInstanceOf('File', file) ||
+ that._isInstanceOf('Blob', file)) {
+ formData.append(
+ ($.type(options.paramName) === 'array' &&
+ options.paramName[index]) || paramName,
+ file,
+ file.uploadName || file.name
+ );
+ }
+ });
+ }
+ }
+ options.data = formData;
+ }
+ // Blob reference is not needed anymore, free memory:
+ options.blob = null;
+ },
+
+ _initIframeSettings: function (options) {
+ var targetHost = $('<a></a>').prop('href', options.url).prop('host');
+ // Setting the dataType to iframe enables the iframe transport:
+ options.dataType = 'iframe ' + (options.dataType || '');
+ // The iframe transport accepts a serialized array as form data:
+ options.formData = this._getFormData(options);
+ // Add redirect url to form data on cross-domain uploads:
+ if (options.redirect && targetHost && targetHost !== location.host) {
+ options.formData.push({
+ name: options.redirectParamName || 'redirect',
+ value: options.redirect
+ });
+ }
+ },
+
+ _initDataSettings: function (options) {
+ if (this._isXHRUpload(options)) {
+ if (!this._chunkedUpload(options, true)) {
+ if (!options.data) {
+ this._initXHRData(options);
+ }
+ this._initProgressListener(options);
+ }
+ if (options.postMessage) {
+ // Setting the dataType to postmessage enables the
+ // postMessage transport:
+ options.dataType = 'postmessage ' + (options.dataType || '');
+ }
+ } else {
+ this._initIframeSettings(options);
+ }
+ },
+
+ _getParamName: function (options) {
+ var fileInput = $(options.fileInput),
+ paramName = options.paramName;
+ if (!paramName) {
+ paramName = [];
+ fileInput.each(function () {
+ var input = $(this),
+ name = input.prop('name') || 'files[]',
+ i = (input.prop('files') || [1]).length;
+ while (i) {
+ paramName.push(name);
+ i -= 1;
+ }
+ });
+ if (!paramName.length) {
+ paramName = [fileInput.prop('name') || 'files[]'];
+ }
+ } else if (!$.isArray(paramName)) {
+ paramName = [paramName];
+ }
+ return paramName;
+ },
+
+ _initFormSettings: function (options) {
+ // Retrieve missing options from the input field and the
+ // associated form, if available:
+ if (!options.form || !options.form.length) {
+ options.form = $(options.fileInput.prop('form'));
+ // If the given file input doesn't have an associated form,
+ // use the default widget file input's form:
+ if (!options.form.length) {
+ options.form = $(this.options.fileInput.prop('form'));
+ }
+ }
+ options.paramName = this._getParamName(options);
+ if (!options.url) {
+ options.url = options.form.prop('action') || location.href;
+ }
+ // The HTTP request method must be "POST" or "PUT":
+ options.type = (options.type ||
+ ($.type(options.form.prop('method')) === 'string' &&
+ options.form.prop('method')) || ''
+ ).toUpperCase();
+ if (options.type !== 'POST' && options.type !== 'PUT' &&
+ options.type !== 'PATCH') {
+ options.type = 'POST';
+ }
+ if (!options.formAcceptCharset) {
+ options.formAcceptCharset = options.form.attr('accept-charset');
+ }
+ },
+
+ _getAJAXSettings: function (data) {
+ var options = $.extend({}, this.options, data);
+ this._initFormSettings(options);
+ this._initDataSettings(options);
+ return options;
+ },
+
+ // jQuery 1.6 doesn't provide .state(),
+ // while jQuery 1.8+ removed .isRejected() and .isResolved():
+ _getDeferredState: function (deferred) {
+ if (deferred.state) {
+ return deferred.state();
+ }
+ if (deferred.isResolved()) {
+ return 'resolved';
+ }
+ if (deferred.isRejected()) {
+ return 'rejected';
+ }
+ return 'pending';
+ },
+
+ // Maps jqXHR callbacks to the equivalent
+ // methods of the given Promise object:
+ _enhancePromise: function (promise) {
+ promise.success = promise.done;
+ promise.error = promise.fail;
+ promise.complete = promise.always;
+ return promise;
+ },
+
+ // Creates and returns a Promise object enhanced with
+ // the jqXHR methods abort, success, error and complete:
+ _getXHRPromise: function (resolveOrReject, context, args) {
+ var dfd = $.Deferred(),
+ promise = dfd.promise();
+ context = context || this.options.context || promise;
+ if (resolveOrReject === true) {
+ dfd.resolveWith(context, args);
+ } else if (resolveOrReject === false) {
+ dfd.rejectWith(context, args);
+ }
+ promise.abort = dfd.promise;
+ return this._enhancePromise(promise);
+ },
+
+ // Adds convenience methods to the data callback argument:
+ _addConvenienceMethods: function (e, data) {
+ var that = this,
+ getPromise = function (args) {
+ return $.Deferred().resolveWith(that, args).promise();
+ };
+ data.process = function (resolveFunc, rejectFunc) {
+ if (resolveFunc || rejectFunc) {
+ data._processQueue = this._processQueue =
+ (this._processQueue || getPromise([this])).pipe(
+ function () {
+ if (data.errorThrown) {
+ return $.Deferred()
+ .rejectWith(that, [data]).promise();
+ }
+ return getPromise(arguments);
+ }
+ ).pipe(resolveFunc, rejectFunc);
+ }
+ return this._processQueue || getPromise([this]);
+ };
+ data.submit = function () {
+ if (this.state() !== 'pending') {
+ data.jqXHR = this.jqXHR =
+ (that._trigger(
+ 'submit',
+ $.Event('submit', {delegatedEvent: e}),
+ this
+ ) !== false) && that._onSend(e, this);
+ }
+ return this.jqXHR || that._getXHRPromise();
+ };
+ data.abort = function () {
+ if (this.jqXHR) {
+ return this.jqXHR.abort();
+ }
+ this.errorThrown = 'abort';
+ that._trigger('fail', null, this);
+ return that._getXHRPromise(false);
+ };
+ data.state = function () {
+ if (this.jqXHR) {
+ return that._getDeferredState(this.jqXHR);
+ }
+ if (this._processQueue) {
+ return that._getDeferredState(this._processQueue);
+ }
+ };
+ data.processing = function () {
+ return !this.jqXHR && this._processQueue && that
+ ._getDeferredState(this._processQueue) === 'pending';
+ };
+ data.progress = function () {
+ return this._progress;
+ };
+ data.response = function () {
+ return this._response;
+ };
+ },
+
+ // Parses the Range header from the server response
+ // and returns the uploaded bytes:
+ _getUploadedBytes: function (jqXHR) {
+ var range = jqXHR.getResponseHeader('Range'),
+ parts = range && range.split('-'),
+ upperBytesPos = parts && parts.length > 1 &&
+ parseInt(parts[1], 10);
+ return upperBytesPos && upperBytesPos + 1;
+ },
+
+ // Uploads a file in multiple, sequential requests
+ // by splitting the file up in multiple blob chunks.
+ // If the second parameter is true, only tests if the file
+ // should be uploaded in chunks, but does not invoke any
+ // upload requests:
+ _chunkedUpload: function (options, testOnly) {
+ options.uploadedBytes = options.uploadedBytes || 0;
+ var that = this,
+ file = options.files[0],
+ fs = file.size,
+ ub = options.uploadedBytes,
+ mcs = options.maxChunkSize || fs,
+ slice = this._blobSlice,
+ dfd = $.Deferred(),
+ promise = dfd.promise(),
+ jqXHR,
+ upload;
+ if (!(this._isXHRUpload(options) && slice && (ub || mcs < fs)) ||
+ options.data) {
+ return false;
+ }
+ if (testOnly) {
+ return true;
+ }
+ if (ub >= fs) {
+ file.error = options.i18n('uploadedBytes');
+ return this._getXHRPromise(
+ false,
+ options.context,
+ [null, 'error', file.error]
+ );
+ }
+ // The chunk upload method:
+ upload = function () {
+ // Clone the options object for each chunk upload:
+ var o = $.extend({}, options),
+ currentLoaded = o._progress.loaded;
+ o.blob = slice.call(
+ file,
+ ub,
+ ub + mcs,
+ file.type
+ );
+ // Store the current chunk size, as the blob itself
+ // will be dereferenced after data processing:
+ o.chunkSize = o.blob.size;
+ // Expose the chunk bytes position range:
+ o.contentRange = 'bytes ' + ub + '-' +
+ (ub + o.chunkSize - 1) + '/' + fs;
+ // Process the upload data (the blob and potential form data):
+ that._initXHRData(o);
+ // Add progress listeners for this chunk upload:
+ that._initProgressListener(o);
+ jqXHR = ((that._trigger('chunksend', null, o) !== false && $.ajax(o)) ||
+ that._getXHRPromise(false, o.context))
+ .done(function (result, textStatus, jqXHR) {
+ ub = that._getUploadedBytes(jqXHR) ||
+ (ub + o.chunkSize);
+ // Create a progress event if no final progress event
+ // with loaded equaling total has been triggered
+ // for this chunk:
+ if (currentLoaded + o.chunkSize - o._progress.loaded) {
+ that._onProgress($.Event('progress', {
+ lengthComputable: true,
+ loaded: ub - o.uploadedBytes,
+ total: ub - o.uploadedBytes
+ }), o);
+ }
+ options.uploadedBytes = o.uploadedBytes = ub;
+ o.result = result;
+ o.textStatus = textStatus;
+ o.jqXHR = jqXHR;
+ that._trigger('chunkdone', null, o);
+ that._trigger('chunkalways', null, o);
+ if (ub < fs) {
+ // File upload not yet complete,
+ // continue with the next chunk:
+ upload();
+ } else {
+ dfd.resolveWith(
+ o.context,
+ [result, textStatus, jqXHR]
+ );
+ }
+ })
+ .fail(function (jqXHR, textStatus, errorThrown) {
+ o.jqXHR = jqXHR;
+ o.textStatus = textStatus;
+ o.errorThrown = errorThrown;
+ that._trigger('chunkfail', null, o);
+ that._trigger('chunkalways', null, o);
+ dfd.rejectWith(
+ o.context,
+ [jqXHR, textStatus, errorThrown]
+ );
+ });
+ };
+ this._enhancePromise(promise);
+ promise.abort = function () {
+ return jqXHR.abort();
+ };
+ upload();
+ return promise;
+ },
+
+ _beforeSend: function (e, data) {
+ if (this._active === 0) {
+ // the start callback is triggered when an upload starts
+ // and no other uploads are currently running,
+ // equivalent to the global ajaxStart event:
+ this._trigger('start');
+ // Set timer for global bitrate progress calculation:
+ this._bitrateTimer = new this._BitrateTimer();
+ // Reset the global progress values:
+ this._progress.loaded = this._progress.total = 0;
+ this._progress.bitrate = 0;
+ }
+ // Make sure the container objects for the .response() and
+ // .progress() methods on the data object are available
+ // and reset to their initial state:
+ this._initResponseObject(data);
+ this._initProgressObject(data);
+ data._progress.loaded = data.loaded = data.uploadedBytes || 0;
+ data._progress.total = data.total = this._getTotal(data.files) || 1;
+ data._progress.bitrate = data.bitrate = 0;
+ this._active += 1;
+ // Initialize the global progress values:
+ this._progress.loaded += data.loaded;
+ this._progress.total += data.total;
+ },
+
+ _onDone: function (result, textStatus, jqXHR, options) {
+ var total = options._progress.total,
+ response = options._response;
+ if (options._progress.loaded < total) {
+ // Create a progress event if no final progress event
+ // with loaded equaling total has been triggered:
+ this._onProgress($.Event('progress', {
+ lengthComputable: true,
+ loaded: total,
+ total: total
+ }), options);
+ }
+ response.result = options.result = result;
+ response.textStatus = options.textStatus = textStatus;
+ response.jqXHR = options.jqXHR = jqXHR;
+ this._trigger('done', null, options);
+ },
+
+ _onFail: function (jqXHR, textStatus, errorThrown, options) {
+ var response = options._response;
+ if (options.recalculateProgress) {
+ // Remove the failed (error or abort) file upload from
+ // the global progress calculation:
+ this._progress.loaded -= options._progress.loaded;
+ this._progress.total -= options._progress.total;
+ }
+ response.jqXHR = options.jqXHR = jqXHR;
+ response.textStatus = options.textStatus = textStatus;
+ response.errorThrown = options.errorThrown = errorThrown;
+ this._trigger('fail', null, options);
+ },
+
+ _onAlways: function (jqXHRorResult, textStatus, jqXHRorError, options) {
+ // jqXHRorResult, textStatus and jqXHRorError are added to the
+ // options object via done and fail callbacks
+ this._trigger('always', null, options);
+ },
+
+ _onSend: function (e, data) {
+ if (!data.submit) {
+ this._addConvenienceMethods(e, data);
+ }
+ var that = this,
+ jqXHR,
+ aborted,
+ slot,
+ pipe,
+ options = that._getAJAXSettings(data),
+ send = function () {
+ that._sending += 1;
+ // Set timer for bitrate progress calculation:
+ options._bitrateTimer = new that._BitrateTimer();
+ jqXHR = jqXHR || (
+ ((aborted || that._trigger(
+ 'send',
+ $.Event('send', {delegatedEvent: e}),
+ options
+ ) === false) &&
+ that._getXHRPromise(false, options.context, aborted)) ||
+ that._chunkedUpload(options) || $.ajax(options)
+ ).done(function (result, textStatus, jqXHR) {
+ that._onDone(result, textStatus, jqXHR, options);
+ }).fail(function (jqXHR, textStatus, errorThrown) {
+ that._onFail(jqXHR, textStatus, errorThrown, options);
+ }).always(function (jqXHRorResult, textStatus, jqXHRorError) {
+ that._onAlways(
+ jqXHRorResult,
+ textStatus,
+ jqXHRorError,
+ options
+ );
+ that._sending -= 1;
+ that._active -= 1;
+ if (options.limitConcurrentUploads &&
+ options.limitConcurrentUploads > that._sending) {
+ // Start the next queued upload,
+ // that has not been aborted:
+ var nextSlot = that._slots.shift();
+ while (nextSlot) {
+ if (that._getDeferredState(nextSlot) === 'pending') {
+ nextSlot.resolve();
+ break;
+ }
+ nextSlot = that._slots.shift();
+ }
+ }
+ if (that._active === 0) {
+ // The stop callback is triggered when all uploads have
+ // been completed, equivalent to the global ajaxStop event:
+ that._trigger('stop');
+ }
+ });
+ return jqXHR;
+ };
+ this._beforeSend(e, options);
+ if (this.options.sequentialUploads ||
+ (this.options.limitConcurrentUploads &&
+ this.options.limitConcurrentUploads <= this._sending)) {
+ if (this.options.limitConcurrentUploads > 1) {
+ slot = $.Deferred();
+ this._slots.push(slot);
+ pipe = slot.pipe(send);
+ } else {
+ this._sequence = this._sequence.pipe(send, send);
+ pipe = this._sequence;
+ }
+ // Return the piped Promise object, enhanced with an abort method,
+ // which is delegated to the jqXHR object of the current upload,
+ // and jqXHR callbacks mapped to the equivalent Promise methods:
+ pipe.abort = function () {
+ aborted = [undefined, 'abort', 'abort'];
+ if (!jqXHR) {
+ if (slot) {
+ slot.rejectWith(options.context, aborted);
+ }
+ return send();
+ }
+ return jqXHR.abort();
+ };
+ return this._enhancePromise(pipe);
+ }
+ return send();
+ },
+
+ _onAdd: function (e, data) {
+ var that = this,
+ result = true,
+ options = $.extend({}, this.options, data),
+ files = data.files,
+ filesLength = files.length,
+ limit = options.limitMultiFileUploads,
+ limitSize = options.limitMultiFileUploadSize,
+ overhead = options.limitMultiFileUploadSizeOverhead,
+ batchSize = 0,
+ paramName = this._getParamName(options),
+ paramNameSet,
+ paramNameSlice,
+ fileSet,
+ i,
+ j = 0;
+ if (limitSize && (!filesLength || files[0].size === undefined)) {
+ limitSize = undefined;
+ }
+ if (!(options.singleFileUploads || limit || limitSize) ||
+ !this._isXHRUpload(options)) {
+ fileSet = [files];
+ paramNameSet = [paramName];
+ } else if (!(options.singleFileUploads || limitSize) && limit) {
+ fileSet = [];
+ paramNameSet = [];
+ for (i = 0; i < filesLength; i += limit) {
+ fileSet.push(files.slice(i, i + limit));
+ paramNameSlice = paramName.slice(i, i + limit);
+ if (!paramNameSlice.length) {
+ paramNameSlice = paramName;
+ }
+ paramNameSet.push(paramNameSlice);
+ }
+ } else if (!options.singleFileUploads && limitSize) {
+ fileSet = [];
+ paramNameSet = [];
+ for (i = 0; i < filesLength; i = i + 1) {
+ batchSize += files[i].size + overhead;
+ if (i + 1 === filesLength ||
+ ((batchSize + files[i + 1].size + overhead) > limitSize) ||
+ (limit && i + 1 - j >= limit)) {
+ fileSet.push(files.slice(j, i + 1));
+ paramNameSlice = paramName.slice(j, i + 1);
+ if (!paramNameSlice.length) {
+ paramNameSlice = paramName;
+ }
+ paramNameSet.push(paramNameSlice);
+ j = i + 1;
+ batchSize = 0;
+ }
+ }
+ } else {
+ paramNameSet = paramName;
+ }
+ data.originalFiles = files;
+ $.each(fileSet || files, function (index, element) {
+ var newData = $.extend({}, data);
+ newData.files = fileSet ? element : [element];
+ newData.paramName = paramNameSet[index];
+ that._initResponseObject(newData);
+ that._initProgressObject(newData);
+ that._addConvenienceMethods(e, newData);
+ result = that._trigger(
+ 'add',
+ $.Event('add', {delegatedEvent: e}),
+ newData
+ );
+ return result;
+ });
+ return result;
+ },
+
+ _replaceFileInput: function (input) {
+ var inputClone = input.clone(true);
+ $('<form></form>').append(inputClone)[0].reset();
+ // Detaching allows to insert the fileInput on another form
+ // without loosing the file input value:
+ input.after(inputClone).detach();
+ // Avoid memory leaks with the detached file input:
+ $.cleanData(input.unbind('remove'));
+ // Replace the original file input element in the fileInput
+ // elements set with the clone, which has been copied including
+ // event handlers:
+ this.options.fileInput = this.options.fileInput.map(function (i, el) {
+ if (el === input[0]) {
+ return inputClone[0];
+ }
+ return el;
+ });
+ // If the widget has been initialized on the file input itself,
+ // override this.element with the file input clone:
+ if (input[0] === this.element[0]) {
+ this.element = inputClone;
+ }
+ },
+
+ _handleFileTreeEntry: function (entry, path) {
+ var that = this,
+ dfd = $.Deferred(),
+ errorHandler = function (e) {
+ if (e && !e.entry) {
+ e.entry = entry;
+ }
+ // Since $.when returns immediately if one
+ // Deferred is rejected, we use resolve instead.
+ // This allows valid files and invalid items
+ // to be returned together in one set:
+ dfd.resolve([e]);
+ },
+ dirReader;
+ path = path || '';
+ if (entry.isFile) {
+ if (entry._file) {
+ // Workaround for Chrome bug #149735
+ entry._file.relativePath = path;
+ dfd.resolve(entry._file);
+ } else {
+ entry.file(function (file) {
+ file.relativePath = path;
+ dfd.resolve(file);
+ }, errorHandler);
+ }
+ } else if (entry.isDirectory) {
+ dirReader = entry.createReader();
+ dirReader.readEntries(function (entries) {
+ that._handleFileTreeEntries(
+ entries,
+ path + entry.name + '/'
+ ).done(function (files) {
+ dfd.resolve(files);
+ }).fail(errorHandler);
+ }, errorHandler);
+ } else {
+ // Return an empy list for file system items
+ // other than files or directories:
+ dfd.resolve([]);
+ }
+ return dfd.promise();
+ },
+
+ _handleFileTreeEntries: function (entries, path) {
+ var that = this;
+ return $.when.apply(
+ $,
+ $.map(entries, function (entry) {
+ return that._handleFileTreeEntry(entry, path);
+ })
+ ).pipe(function () {
+ return Array.prototype.concat.apply(
+ [],
+ arguments
+ );
+ });
+ },
+
+ _getDroppedFiles: function (dataTransfer) {
+ dataTransfer = dataTransfer || {};
+ var items = dataTransfer.items;
+ if (items && items.length && (items[0].webkitGetAsEntry ||
+ items[0].getAsEntry)) {
+ return this._handleFileTreeEntries(
+ $.map(items, function (item) {
+ var entry;
+ if (item.webkitGetAsEntry) {
+ entry = item.webkitGetAsEntry();
+ if (entry) {
+ // Workaround for Chrome bug #149735:
+ entry._file = item.getAsFile();
+ }
+ return entry;
+ }
+ return item.getAsEntry();
+ })
+ );
+ }
+ return $.Deferred().resolve(
+ $.makeArray(dataTransfer.files)
+ ).promise();
+ },
+
+ _getSingleFileInputFiles: function (fileInput) {
+ fileInput = $(fileInput);
+ var entries = fileInput.prop('webkitEntries') ||
+ fileInput.prop('entries'),
+ files,
+ value;
+ if (entries && entries.length) {
+ return this._handleFileTreeEntries(entries);
+ }
+ files = $.makeArray(fileInput.prop('files'));
+ if (!files.length) {
+ value = fileInput.prop('value');
+ if (!value) {
+ return $.Deferred().resolve([]).promise();
+ }
+ // If the files property is not available, the browser does not
+ // support the File API and we add a pseudo File object with
+ // the input value as name with path information removed:
+ files = [{name: value.replace(/^.*\\/, '')}];
+ } else if (files[0].name === undefined && files[0].fileName) {
+ // File normalization for Safari 4 and Firefox 3:
+ $.each(files, function (index, file) {
+ file.name = file.fileName;
+ file.size = file.fileSize;
+ });
+ }
+ return $.Deferred().resolve(files).promise();
+ },
+
+ _getFileInputFiles: function (fileInput) {
+ if (!(fileInput instanceof $) || fileInput.length === 1) {
+ return this._getSingleFileInputFiles(fileInput);
+ }
+ return $.when.apply(
+ $,
+ $.map(fileInput, this._getSingleFileInputFiles)
+ ).pipe(function () {
+ return Array.prototype.concat.apply(
+ [],
+ arguments
+ );
+ });
+ },
+
+ _onChange: function (e) {
+ var that = this,
+ data = {
+ fileInput: $(e.target),
+ form: $(e.target.form)
+ };
+ this._getFileInputFiles(data.fileInput).always(function (files) {
+ data.files = files;
+ if (that.options.replaceFileInput) {
+ that._replaceFileInput(data.fileInput);
+ }
+ if (that._trigger(
+ 'change',
+ $.Event('change', {delegatedEvent: e}),
+ data
+ ) !== false) {
+ that._onAdd(e, data);
+ }
+ });
+ },
+
+ _onPaste: function (e) {
+ var items = e.originalEvent && e.originalEvent.clipboardData &&
+ e.originalEvent.clipboardData.items,
+ data = {files: []};
+ if (items && items.length) {
+ $.each(items, function (index, item) {
+ var file = item.getAsFile && item.getAsFile();
+ if (file) {
+ data.files.push(file);
+ }
+ });
+ if (this._trigger(
+ 'paste',
+ $.Event('paste', {delegatedEvent: e}),
+ data
+ ) !== false) {
+ this._onAdd(e, data);
+ }
+ }
+ },
+
+ _onDrop: function (e) {
+ e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;
+ var that = this,
+ dataTransfer = e.dataTransfer,
+ data = {};
+ if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {
+ e.preventDefault();
+ this._getDroppedFiles(dataTransfer).always(function (files) {
+ data.files = files;
+ if (that._trigger(
+ 'drop',
+ $.Event('drop', {delegatedEvent: e}),
+ data
+ ) !== false) {
+ that._onAdd(e, data);
+ }
+ });
+ }
+ },
+
+ _onDragOver: function (e) {
+ e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;
+ var dataTransfer = e.dataTransfer;
+ if (dataTransfer && $.inArray('Files', dataTransfer.types) !== -1 &&
+ this._trigger(
+ 'dragover',
+ $.Event('dragover', {delegatedEvent: e})
+ ) !== false) {
+ e.preventDefault();
+ dataTransfer.dropEffect = 'copy';
+ }
+ },
+
+ _initEventHandlers: function () {
+ if (this._isXHRUpload(this.options)) {
+ this._on(this.options.dropZone, {
+ dragover: this._onDragOver,
+ drop: this._onDrop
+ });
+ this._on(this.options.pasteZone, {
+ paste: this._onPaste
+ });
+ }
+ if ($.support.fileInput) {
+ this._on(this.options.fileInput, {
+ change: this._onChange
+ });
+ }
+ },
+
+ _destroyEventHandlers: function () {
+ this._off(this.options.dropZone, 'dragover drop');
+ this._off(this.options.pasteZone, 'paste');
+ this._off(this.options.fileInput, 'change');
+ },
+
+ _setOption: function (key, value) {
+ var reinit = $.inArray(key, this._specialOptions) !== -1;
+ if (reinit) {
+ this._destroyEventHandlers();
+ }
+ this._super(key, value);
+ if (reinit) {
+ this._initSpecialOptions();
+ this._initEventHandlers();
+ }
+ },
+
+ _initSpecialOptions: function () {
+ var options = this.options;
+ if (options.fileInput === undefined) {
+ options.fileInput = this.element.is('input[type="file"]') ?
+ this.element : this.element.find('input[type="file"]');
+ } else if (!(options.fileInput instanceof $)) {
+ options.fileInput = $(options.fileInput);
+ }
+ if (!(options.dropZone instanceof $)) {
+ options.dropZone = $(options.dropZone);
+ }
+ if (!(options.pasteZone instanceof $)) {
+ options.pasteZone = $(options.pasteZone);
+ }
+ },
+
+ _getRegExp: function (str) {
+ var parts = str.split('/'),
+ modifiers = parts.pop();
+ parts.shift();
+ return new RegExp(parts.join('/'), modifiers);
+ },
+
+ _isRegExpOption: function (key, value) {
+ return key !== 'url' && $.type(value) === 'string' &&
+ /^\/.*\/[igm]{0,3}$/.test(value);
+ },
+
+ _initDataAttributes: function () {
+ var that = this,
+ options = this.options;
+ // Initialize options set via HTML5 data-attributes:
+ $.each(
+ $(this.element[0].cloneNode(false)).data(),
+ function (key, value) {
+ if (that._isRegExpOption(key, value)) {
+ value = that._getRegExp(value);
+ }
+ options[key] = value;
+ }
+ );
+ },
+
+ _create: function () {
+ this._initDataAttributes();
+ this._initSpecialOptions();
+ this._slots = [];
+ this._sequence = this._getXHRPromise(true);
+ this._sending = this._active = 0;
+ this._initProgressObject(this);
+ this._initEventHandlers();
+ },
+
+ // This method is exposed to the widget API and allows to query
+ // the number of active uploads:
+ active: function () {
+ return this._active;
+ },
+
+ // This method is exposed to the widget API and allows to query
+ // the widget upload progress.
+ // It returns an object with loaded, total and bitrate properties
+ // for the running uploads:
+ progress: function () {
+ return this._progress;
+ },
+
+ // This method is exposed to the widget API and allows adding files
+ // using the fileupload API. The data parameter accepts an object which
+ // must have a files property and can contain additional options:
+ // .fileupload('add', {files: filesList});
+ add: function (data) {
+ var that = this;
+ if (!data || this.options.disabled) {
+ return;
+ }
+ if (data.fileInput && !data.files) {
+ this._getFileInputFiles(data.fileInput).always(function (files) {
+ data.files = files;
+ that._onAdd(null, data);
+ });
+ } else {
+ data.files = $.makeArray(data.files);
+ this._onAdd(null, data);
+ }
+ },
+
+ // This method is exposed to the widget API and allows sending files
+ // using the fileupload API. The data parameter accepts an object which
+ // must have a files or fileInput property and can contain additional options:
+ // .fileupload('send', {files: filesList});
+ // The method returns a Promise object for the file upload call.
+ send: function (data) {
+ if (data && !this.options.disabled) {
+ if (data.fileInput && !data.files) {
+ var that = this,
+ dfd = $.Deferred(),
+ promise = dfd.promise(),
+ jqXHR,
+ aborted;
+ promise.abort = function () {
+ aborted = true;
+ if (jqXHR) {
+ return jqXHR.abort();
+ }
+ dfd.reject(null, 'abort', 'abort');
+ return promise;
+ };
+ this._getFileInputFiles(data.fileInput).always(
+ function (files) {
+ if (aborted) {
+ return;
+ }
+ if (!files.length) {
+ dfd.reject();
+ return;
+ }
+ data.files = files;
+ jqXHR = that._onSend(null, data).then(
+ function (result, textStatus, jqXHR) {
+ dfd.resolve(result, textStatus, jqXHR);
+ },
+ function (jqXHR, textStatus, errorThrown) {
+ dfd.reject(jqXHR, textStatus, errorThrown);
+ }
+ );
+ }
+ );
+ return this._enhancePromise(promise);
+ }
+ data.files = $.makeArray(data.files);
+ if (data.files.length) {
+ return this._onSend(null, data);
+ }
+ }
+ return this._getXHRPromise(false, data && data.context);
+ }
+
+ });
+
+}));
diff --git a/library/jqupload/js/jquery.iframe-transport.js b/library/jqupload/js/jquery.iframe-transport.js
new file mode 100644
index 000000000..8d64b591b
--- /dev/null
+++ b/library/jqupload/js/jquery.iframe-transport.js
@@ -0,0 +1,214 @@
+/*
+ * jQuery Iframe Transport Plugin 1.8.2
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2011, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* global define, window, document */
+
+(function (factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ // Register as an anonymous AMD module:
+ define(['jquery'], factory);
+ } else {
+ // Browser globals:
+ factory(window.jQuery);
+ }
+}(function ($) {
+ 'use strict';
+
+ // Helper variable to create unique names for the transport iframes:
+ var counter = 0;
+
+ // The iframe transport accepts four additional options:
+ // options.fileInput: a jQuery collection of file input fields
+ // options.paramName: the parameter name for the file form data,
+ // overrides the name property of the file input field(s),
+ // can be a string or an array of strings.
+ // options.formData: an array of objects with name and value properties,
+ // equivalent to the return data of .serializeArray(), e.g.:
+ // [{name: 'a', value: 1}, {name: 'b', value: 2}]
+ // options.initialIframeSrc: the URL of the initial iframe src,
+ // by default set to "javascript:false;"
+ $.ajaxTransport('iframe', function (options) {
+ if (options.async) {
+ // javascript:false as initial iframe src
+ // prevents warning popups on HTTPS in IE6:
+ /*jshint scripturl: true */
+ var initialIframeSrc = options.initialIframeSrc || 'javascript:false;',
+ /*jshint scripturl: false */
+ form,
+ iframe,
+ addParamChar;
+ return {
+ send: function (_, completeCallback) {
+ form = $('<form style="display:none;"></form>');
+ form.attr('accept-charset', options.formAcceptCharset);
+ addParamChar = /\?/.test(options.url) ? '&' : '?';
+ // XDomainRequest only supports GET and POST:
+ if (options.type === 'DELETE') {
+ options.url = options.url + addParamChar + '_method=DELETE';
+ options.type = 'POST';
+ } else if (options.type === 'PUT') {
+ options.url = options.url + addParamChar + '_method=PUT';
+ options.type = 'POST';
+ } else if (options.type === 'PATCH') {
+ options.url = options.url + addParamChar + '_method=PATCH';
+ options.type = 'POST';
+ }
+ // IE versions below IE8 cannot set the name property of
+ // elements that have already been added to the DOM,
+ // so we set the name along with the iframe HTML markup:
+ counter += 1;
+ iframe = $(
+ '<iframe src="' + initialIframeSrc +
+ '" name="iframe-transport-' + counter + '"></iframe>'
+ ).bind('load', function () {
+ var fileInputClones,
+ paramNames = $.isArray(options.paramName) ?
+ options.paramName : [options.paramName];
+ iframe
+ .unbind('load')
+ .bind('load', function () {
+ var response;
+ // Wrap in a try/catch block to catch exceptions thrown
+ // when trying to access cross-domain iframe contents:
+ try {
+ response = iframe.contents();
+ // Google Chrome and Firefox do not throw an
+ // exception when calling iframe.contents() on
+ // cross-domain requests, so we unify the response:
+ if (!response.length || !response[0].firstChild) {
+ throw new Error();
+ }
+ } catch (e) {
+ response = undefined;
+ }
+ // The complete callback returns the
+ // iframe content document as response object:
+ completeCallback(
+ 200,
+ 'success',
+ {'iframe': response}
+ );
+ // Fix for IE endless progress bar activity bug
+ // (happens on form submits to iframe targets):
+ $('<iframe src="' + initialIframeSrc + '"></iframe>')
+ .appendTo(form);
+ window.setTimeout(function () {
+ // Removing the form in a setTimeout call
+ // allows Chrome's developer tools to display
+ // the response result
+ form.remove();
+ }, 0);
+ });
+ form
+ .prop('target', iframe.prop('name'))
+ .prop('action', options.url)
+ .prop('method', options.type);
+ if (options.formData) {
+ $.each(options.formData, function (index, field) {
+ $('<input type="hidden"/>')
+ .prop('name', field.name)
+ .val(field.value)
+ .appendTo(form);
+ });
+ }
+ if (options.fileInput && options.fileInput.length &&
+ options.type === 'POST') {
+ fileInputClones = options.fileInput.clone();
+ // Insert a clone for each file input field:
+ options.fileInput.after(function (index) {
+ return fileInputClones[index];
+ });
+ if (options.paramName) {
+ options.fileInput.each(function (index) {
+ $(this).prop(
+ 'name',
+ paramNames[index] || options.paramName
+ );
+ });
+ }
+ // Appending the file input fields to the hidden form
+ // removes them from their original location:
+ form
+ .append(options.fileInput)
+ .prop('enctype', 'multipart/form-data')
+ // enctype must be set as encoding for IE:
+ .prop('encoding', 'multipart/form-data');
+ // Remove the HTML5 form attribute from the input(s):
+ options.fileInput.removeAttr('form');
+ }
+ form.submit();
+ // Insert the file input fields at their original location
+ // by replacing the clones with the originals:
+ if (fileInputClones && fileInputClones.length) {
+ options.fileInput.each(function (index, input) {
+ var clone = $(fileInputClones[index]);
+ // Restore the original name and form properties:
+ $(input)
+ .prop('name', clone.prop('name'))
+ .attr('form', clone.attr('form'));
+ clone.replaceWith(input);
+ });
+ }
+ });
+ form.append(iframe).appendTo(document.body);
+ },
+ abort: function () {
+ if (iframe) {
+ // javascript:false as iframe src aborts the request
+ // and prevents warning popups on HTTPS in IE6.
+ // concat is used to avoid the "Script URL" JSLint error:
+ iframe
+ .unbind('load')
+ .prop('src', initialIframeSrc);
+ }
+ if (form) {
+ form.remove();
+ }
+ }
+ };
+ }
+ });
+
+ // The iframe transport returns the iframe content document as response.
+ // The following adds converters from iframe to text, json, html, xml
+ // and script.
+ // Please note that the Content-Type for JSON responses has to be text/plain
+ // or text/html, if the browser doesn't include application/json in the
+ // Accept header, else IE will show a download dialog.
+ // The Content-Type for XML responses on the other hand has to be always
+ // application/xml or text/xml, so IE properly parses the XML response.
+ // See also
+ // https://github.com/blueimp/jQuery-File-Upload/wiki/Setup#content-type-negotiation
+ $.ajaxSetup({
+ converters: {
+ 'iframe text': function (iframe) {
+ return iframe && $(iframe[0].body).text();
+ },
+ 'iframe json': function (iframe) {
+ return iframe && $.parseJSON($(iframe[0].body).text());
+ },
+ 'iframe html': function (iframe) {
+ return iframe && $(iframe[0].body).html();
+ },
+ 'iframe xml': function (iframe) {
+ var xmlDoc = iframe && iframe[0];
+ return xmlDoc && $.isXMLDoc(xmlDoc) ? xmlDoc :
+ $.parseXML((xmlDoc.XMLDocument && xmlDoc.XMLDocument.xml) ||
+ $(xmlDoc.body).html());
+ },
+ 'iframe script': function (iframe) {
+ return iframe && $.globalEval($(iframe[0].body).text());
+ }
+ }
+ });
+
+}));
diff --git a/library/jqupload/js/main.js b/library/jqupload/js/main.js
new file mode 100644
index 000000000..8f57967a3
--- /dev/null
+++ b/library/jqupload/js/main.js
@@ -0,0 +1,75 @@
+/*
+ * jQuery File Upload Plugin JS Example 8.9.1
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2010, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* global $, window */
+
+$(function () {
+ 'use strict';
+
+ // Initialize the jQuery File Upload widget:
+ $('#fileupload').fileupload({
+ // Uncomment the following to send cross-domain cookies:
+ //xhrFields: {withCredentials: true},
+ url: 'server/php/'
+ });
+
+ // Enable iframe cross-domain access via redirect option:
+ $('#fileupload').fileupload(
+ 'option',
+ 'redirect',
+ window.location.href.replace(
+ /\/[^\/]*$/,
+ '/cors/result.html?%s'
+ )
+ );
+
+ if (window.location.hostname === 'blueimp.github.io') {
+ // Demo settings:
+ $('#fileupload').fileupload('option', {
+ url: '//jquery-file-upload.appspot.com/',
+ // Enable image resizing, except for Android and Opera,
+ // which actually support image resizing, but fail to
+ // send Blob objects via XHR requests:
+ disableImageResize: /Android(?!.*Chrome)|Opera/
+ .test(window.navigator.userAgent),
+ maxFileSize: 5000000,
+ acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i
+ });
+ // Upload server status check for browsers with CORS support:
+ if ($.support.cors) {
+ $.ajax({
+ url: '//jquery-file-upload.appspot.com/',
+ type: 'HEAD'
+ }).fail(function () {
+ $('<div class="alert alert-danger"/>')
+ .text('Upload server currently unavailable - ' +
+ new Date())
+ .appendTo('#fileupload');
+ });
+ }
+ } else {
+ // Load existing files:
+ $('#fileupload').addClass('fileupload-processing');
+ $.ajax({
+ // Uncomment the following to send cross-domain cookies:
+ //xhrFields: {withCredentials: true},
+ url: $('#fileupload').fileupload('option', 'url'),
+ dataType: 'json',
+ context: $('#fileupload')[0]
+ }).always(function () {
+ $(this).removeClass('fileupload-processing');
+ }).done(function (result) {
+ $(this).fileupload('option', 'done')
+ .call(this, $.Event('done'), {result: result});
+ });
+ }
+
+});
diff --git a/library/jqupload/js/vendor/jquery.ui.widget.js b/library/jqupload/js/vendor/jquery.ui.widget.js
new file mode 100644
index 000000000..2d370893a
--- /dev/null
+++ b/library/jqupload/js/vendor/jquery.ui.widget.js
@@ -0,0 +1,530 @@
+/*
+ * jQuery UI Widget 1.10.3+amd
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2013 jQuery Foundation and other contributors
+ * Released under the MIT license.
+ * http://jquery.org/license
+ *
+ * http://api.jqueryui.com/jQuery.widget/
+ */
+
+(function (factory) {
+ if (typeof define === "function" && define.amd) {
+ // Register as an anonymous AMD module:
+ define(["jquery"], factory);
+ } else {
+ // Browser globals:
+ factory(jQuery);
+ }
+}(function( $, undefined ) {
+
+var uuid = 0,
+ slice = Array.prototype.slice,
+ _cleanData = $.cleanData;
+$.cleanData = function( elems ) {
+ for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
+ try {
+ $( elem ).triggerHandler( "remove" );
+ // http://bugs.jquery.com/ticket/8235
+ } catch( e ) {}
+ }
+ _cleanData( elems );
+};
+
+$.widget = function( name, base, prototype ) {
+ var fullName, existingConstructor, constructor, basePrototype,
+ // proxiedPrototype allows the provided prototype to remain unmodified
+ // so that it can be used as a mixin for multiple widgets (#8876)
+ proxiedPrototype = {},
+ namespace = name.split( "." )[ 0 ];
+
+ name = name.split( "." )[ 1 ];
+ fullName = namespace + "-" + name;
+
+ if ( !prototype ) {
+ prototype = base;
+ base = $.Widget;
+ }
+
+ // create selector for plugin
+ $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
+ return !!$.data( elem, fullName );
+ };
+
+ $[ namespace ] = $[ namespace ] || {};
+ existingConstructor = $[ namespace ][ name ];
+ constructor = $[ namespace ][ name ] = function( options, element ) {
+ // allow instantiation without "new" keyword
+ if ( !this._createWidget ) {
+ return new constructor( options, element );
+ }
+
+ // allow instantiation without initializing for simple inheritance
+ // must use "new" keyword (the code above always passes args)
+ if ( arguments.length ) {
+ this._createWidget( options, element );
+ }
+ };
+ // extend with the existing constructor to carry over any static properties
+ $.extend( constructor, existingConstructor, {
+ version: prototype.version,
+ // copy the object used to create the prototype in case we need to
+ // redefine the widget later
+ _proto: $.extend( {}, prototype ),
+ // track widgets that inherit from this widget in case this widget is
+ // redefined after a widget inherits from it
+ _childConstructors: []
+ });
+
+ basePrototype = new base();
+ // we need to make the options hash a property directly on the new instance
+ // otherwise we'll modify the options hash on the prototype that we're
+ // inheriting from
+ basePrototype.options = $.widget.extend( {}, basePrototype.options );
+ $.each( prototype, function( prop, value ) {
+ if ( !$.isFunction( value ) ) {
+ proxiedPrototype[ prop ] = value;
+ return;
+ }
+ proxiedPrototype[ prop ] = (function() {
+ var _super = function() {
+ return base.prototype[ prop ].apply( this, arguments );
+ },
+ _superApply = function( args ) {
+ return base.prototype[ prop ].apply( this, args );
+ };
+ return function() {
+ var __super = this._super,
+ __superApply = this._superApply,
+ returnValue;
+
+ this._super = _super;
+ this._superApply = _superApply;
+
+ returnValue = value.apply( this, arguments );
+
+ this._super = __super;
+ this._superApply = __superApply;
+
+ return returnValue;
+ };
+ })();
+ });
+ constructor.prototype = $.widget.extend( basePrototype, {
+ // TODO: remove support for widgetEventPrefix
+ // always use the name + a colon as the prefix, e.g., draggable:start
+ // don't prefix for widgets that aren't DOM-based
+ widgetEventPrefix: existingConstructor ? basePrototype.widgetEventPrefix : name
+ }, proxiedPrototype, {
+ constructor: constructor,
+ namespace: namespace,
+ widgetName: name,
+ widgetFullName: fullName
+ });
+
+ // If this widget is being redefined then we need to find all widgets that
+ // are inheriting from it and redefine all of them so that they inherit from
+ // the new version of this widget. We're essentially trying to replace one
+ // level in the prototype chain.
+ if ( existingConstructor ) {
+ $.each( existingConstructor._childConstructors, function( i, child ) {
+ var childPrototype = child.prototype;
+
+ // redefine the child widget using the same prototype that was
+ // originally used, but inherit from the new version of the base
+ $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto );
+ });
+ // remove the list of existing child constructors from the old constructor
+ // so the old child constructors can be garbage collected
+ delete existingConstructor._childConstructors;
+ } else {
+ base._childConstructors.push( constructor );
+ }
+
+ $.widget.bridge( name, constructor );
+};
+
+$.widget.extend = function( target ) {
+ var input = slice.call( arguments, 1 ),
+ inputIndex = 0,
+ inputLength = input.length,
+ key,
+ value;
+ for ( ; inputIndex < inputLength; inputIndex++ ) {
+ for ( key in input[ inputIndex ] ) {
+ value = input[ inputIndex ][ key ];
+ if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
+ // Clone objects
+ if ( $.isPlainObject( value ) ) {
+ target[ key ] = $.isPlainObject( target[ key ] ) ?
+ $.widget.extend( {}, target[ key ], value ) :
+ // Don't extend strings, arrays, etc. with objects
+ $.widget.extend( {}, value );
+ // Copy everything else by reference
+ } else {
+ target[ key ] = value;
+ }
+ }
+ }
+ }
+ return target;
+};
+
+$.widget.bridge = function( name, object ) {
+ var fullName = object.prototype.widgetFullName || name;
+ $.fn[ name ] = function( options ) {
+ var isMethodCall = typeof options === "string",
+ args = slice.call( arguments, 1 ),
+ returnValue = this;
+
+ // allow multiple hashes to be passed on init
+ options = !isMethodCall && args.length ?
+ $.widget.extend.apply( null, [ options ].concat(args) ) :
+ options;
+
+ if ( isMethodCall ) {
+ this.each(function() {
+ var methodValue,
+ instance = $.data( this, fullName );
+ if ( !instance ) {
+ return $.error( "cannot call methods on " + name + " prior to initialization; " +
+ "attempted to call method '" + options + "'" );
+ }
+ if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) {
+ return $.error( "no such method '" + options + "' for " + name + " widget instance" );
+ }
+ methodValue = instance[ options ].apply( instance, args );
+ if ( methodValue !== instance && methodValue !== undefined ) {
+ returnValue = methodValue && methodValue.jquery ?
+ returnValue.pushStack( methodValue.get() ) :
+ methodValue;
+ return false;
+ }
+ });
+ } else {
+ this.each(function() {
+ var instance = $.data( this, fullName );
+ if ( instance ) {
+ instance.option( options || {} )._init();
+ } else {
+ $.data( this, fullName, new object( options, this ) );
+ }
+ });
+ }
+
+ return returnValue;
+ };
+};
+
+$.Widget = function( /* options, element */ ) {};
+$.Widget._childConstructors = [];
+
+$.Widget.prototype = {
+ widgetName: "widget",
+ widgetEventPrefix: "",
+ defaultElement: "<div>",
+ options: {
+ disabled: false,
+
+ // callbacks
+ create: null
+ },
+ _createWidget: function( options, element ) {
+ element = $( element || this.defaultElement || this )[ 0 ];
+ this.element = $( element );
+ this.uuid = uuid++;
+ this.eventNamespace = "." + this.widgetName + this.uuid;
+ this.options = $.widget.extend( {},
+ this.options,
+ this._getCreateOptions(),
+ options );
+
+ this.bindings = $();
+ this.hoverable = $();
+ this.focusable = $();
+
+ if ( element !== this ) {
+ $.data( element, this.widgetFullName, this );
+ this._on( true, this.element, {
+ remove: function( event ) {
+ if ( event.target === element ) {
+ this.destroy();
+ }
+ }
+ });
+ this.document = $( element.style ?
+ // element within the document
+ element.ownerDocument :
+ // element is window or document
+ element.document || element );
+ this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
+ }
+
+ this._create();
+ this._trigger( "create", null, this._getCreateEventData() );
+ this._init();
+ },
+ _getCreateOptions: $.noop,
+ _getCreateEventData: $.noop,
+ _create: $.noop,
+ _init: $.noop,
+
+ destroy: function() {
+ this._destroy();
+ // we can probably remove the unbind calls in 2.0
+ // all event bindings should go through this._on()
+ this.element
+ .unbind( this.eventNamespace )
+ // 1.9 BC for #7810
+ // TODO remove dual storage
+ .removeData( this.widgetName )
+ .removeData( this.widgetFullName )
+ // support: jquery <1.6.3
+ // http://bugs.jquery.com/ticket/9413
+ .removeData( $.camelCase( this.widgetFullName ) );
+ this.widget()
+ .unbind( this.eventNamespace )
+ .removeAttr( "aria-disabled" )
+ .removeClass(
+ this.widgetFullName + "-disabled " +
+ "ui-state-disabled" );
+
+ // clean up events and states
+ this.bindings.unbind( this.eventNamespace );
+ this.hoverable.removeClass( "ui-state-hover" );
+ this.focusable.removeClass( "ui-state-focus" );
+ },
+ _destroy: $.noop,
+
+ widget: function() {
+ return this.element;
+ },
+
+ option: function( key, value ) {
+ var options = key,
+ parts,
+ curOption,
+ i;
+
+ if ( arguments.length === 0 ) {
+ // don't return a reference to the internal hash
+ return $.widget.extend( {}, this.options );
+ }
+
+ if ( typeof key === "string" ) {
+ // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
+ options = {};
+ parts = key.split( "." );
+ key = parts.shift();
+ if ( parts.length ) {
+ curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
+ for ( i = 0; i < parts.length - 1; i++ ) {
+ curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
+ curOption = curOption[ parts[ i ] ];
+ }
+ key = parts.pop();
+ if ( value === undefined ) {
+ return curOption[ key ] === undefined ? null : curOption[ key ];
+ }
+ curOption[ key ] = value;
+ } else {
+ if ( value === undefined ) {
+ return this.options[ key ] === undefined ? null : this.options[ key ];
+ }
+ options[ key ] = value;
+ }
+ }
+
+ this._setOptions( options );
+
+ return this;
+ },
+ _setOptions: function( options ) {
+ var key;
+
+ for ( key in options ) {
+ this._setOption( key, options[ key ] );
+ }
+
+ return this;
+ },
+ _setOption: function( key, value ) {
+ this.options[ key ] = value;
+
+ if ( key === "disabled" ) {
+ this.widget()
+ .toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!value )
+ .attr( "aria-disabled", value );
+ this.hoverable.removeClass( "ui-state-hover" );
+ this.focusable.removeClass( "ui-state-focus" );
+ }
+
+ return this;
+ },
+
+ enable: function() {
+ return this._setOption( "disabled", false );
+ },
+ disable: function() {
+ return this._setOption( "disabled", true );
+ },
+
+ _on: function( suppressDisabledCheck, element, handlers ) {
+ var delegateElement,
+ instance = this;
+
+ // no suppressDisabledCheck flag, shuffle arguments
+ if ( typeof suppressDisabledCheck !== "boolean" ) {
+ handlers = element;
+ element = suppressDisabledCheck;
+ suppressDisabledCheck = false;
+ }
+
+ // no element argument, shuffle and use this.element
+ if ( !handlers ) {
+ handlers = element;
+ element = this.element;
+ delegateElement = this.widget();
+ } else {
+ // accept selectors, DOM elements
+ element = delegateElement = $( element );
+ this.bindings = this.bindings.add( element );
+ }
+
+ $.each( handlers, function( event, handler ) {
+ function handlerProxy() {
+ // allow widgets to customize the disabled handling
+ // - disabled as an array instead of boolean
+ // - disabled class as method for disabling individual parts
+ if ( !suppressDisabledCheck &&
+ ( instance.options.disabled === true ||
+ $( this ).hasClass( "ui-state-disabled" ) ) ) {
+ return;
+ }
+ return ( typeof handler === "string" ? instance[ handler ] : handler )
+ .apply( instance, arguments );
+ }
+
+ // copy the guid so direct unbinding works
+ if ( typeof handler !== "string" ) {
+ handlerProxy.guid = handler.guid =
+ handler.guid || handlerProxy.guid || $.guid++;
+ }
+
+ var match = event.match( /^(\w+)\s*(.*)$/ ),
+ eventName = match[1] + instance.eventNamespace,
+ selector = match[2];
+ if ( selector ) {
+ delegateElement.delegate( selector, eventName, handlerProxy );
+ } else {
+ element.bind( eventName, handlerProxy );
+ }
+ });
+ },
+
+ _off: function( element, eventName ) {
+ eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace;
+ element.unbind( eventName ).undelegate( eventName );
+ },
+
+ _delay: function( handler, delay ) {
+ function handlerProxy() {
+ return ( typeof handler === "string" ? instance[ handler ] : handler )
+ .apply( instance, arguments );
+ }
+ var instance = this;
+ return setTimeout( handlerProxy, delay || 0 );
+ },
+
+ _hoverable: function( element ) {
+ this.hoverable = this.hoverable.add( element );
+ this._on( element, {
+ mouseenter: function( event ) {
+ $( event.currentTarget ).addClass( "ui-state-hover" );
+ },
+ mouseleave: function( event ) {
+ $( event.currentTarget ).removeClass( "ui-state-hover" );
+ }
+ });
+ },
+
+ _focusable: function( element ) {
+ this.focusable = this.focusable.add( element );
+ this._on( element, {
+ focusin: function( event ) {
+ $( event.currentTarget ).addClass( "ui-state-focus" );
+ },
+ focusout: function( event ) {
+ $( event.currentTarget ).removeClass( "ui-state-focus" );
+ }
+ });
+ },
+
+ _trigger: function( type, event, data ) {
+ var prop, orig,
+ callback = this.options[ type ];
+
+ data = data || {};
+ event = $.Event( event );
+ event.type = ( type === this.widgetEventPrefix ?
+ type :
+ this.widgetEventPrefix + type ).toLowerCase();
+ // the original event may come from any element
+ // so we need to reset the target on the new event
+ event.target = this.element[ 0 ];
+
+ // copy original event properties over to the new event
+ orig = event.originalEvent;
+ if ( orig ) {
+ for ( prop in orig ) {
+ if ( !( prop in event ) ) {
+ event[ prop ] = orig[ prop ];
+ }
+ }
+ }
+
+ this.element.trigger( event, data );
+ return !( $.isFunction( callback ) &&
+ callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
+ event.isDefaultPrevented() );
+ }
+};
+
+$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
+ $.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
+ if ( typeof options === "string" ) {
+ options = { effect: options };
+ }
+ var hasOptions,
+ effectName = !options ?
+ method :
+ options === true || typeof options === "number" ?
+ defaultEffect :
+ options.effect || defaultEffect;
+ options = options || {};
+ if ( typeof options === "number" ) {
+ options = { duration: options };
+ }
+ hasOptions = !$.isEmptyObject( options );
+ options.complete = callback;
+ if ( options.delay ) {
+ element.delay( options.delay );
+ }
+ if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
+ element[ method ]( options );
+ } else if ( effectName !== method && element[ effectName ] ) {
+ element[ effectName ]( options.duration, options.easing, callback );
+ } else {
+ element.queue(function( next ) {
+ $( this )[ method ]();
+ if ( callback ) {
+ callback.call( element[ 0 ] );
+ }
+ next();
+ });
+ }
+ };
+});
+
+}));
diff --git a/library/jqupload/package.json b/library/jqupload/package.json
new file mode 100644
index 000000000..85852c35a
--- /dev/null
+++ b/library/jqupload/package.json
@@ -0,0 +1,54 @@
+{
+ "name": "blueimp-file-upload",
+ "version": "9.5.2",
+ "title": "jQuery File Upload",
+ "description": "File Upload widget with multiple file selection, drag&amp;drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads.",
+ "keywords": [
+ "jquery",
+ "file",
+ "upload",
+ "widget",
+ "multiple",
+ "selection",
+ "drag",
+ "drop",
+ "progress",
+ "preview",
+ "cross-domain",
+ "cross-site",
+ "chunk",
+ "resume",
+ "gae",
+ "go",
+ "python",
+ "php",
+ "bootstrap"
+ ],
+ "homepage": "https://github.com/blueimp/jQuery-File-Upload",
+ "author": {
+ "name": "Sebastian Tschan",
+ "url": "https://blueimp.net"
+ },
+ "maintainers": [
+ {
+ "name": "Sebastian Tschan",
+ "url": "https://blueimp.net"
+ }
+ ],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/blueimp/jQuery-File-Upload.git"
+ },
+ "bugs": "https://github.com/blueimp/jQuery-File-Upload/issues",
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "http://www.opensource.org/licenses/MIT"
+ }
+ ],
+ "devDependencies": {
+ "grunt": "~0.4.2",
+ "grunt-bump-build-git": "~1.1.1",
+ "grunt-contrib-jshint": "~0.8.0"
+ }
+}
diff --git a/library/jqupload/server/gae-go/app.yaml b/library/jqupload/server/gae-go/app.yaml
new file mode 100644
index 000000000..2d09daa56
--- /dev/null
+++ b/library/jqupload/server/gae-go/app.yaml
@@ -0,0 +1,12 @@
+application: jquery-file-upload
+version: 2
+runtime: go
+api_version: go1
+
+handlers:
+- url: /(favicon\.ico|robots\.txt)
+ static_files: static/\1
+ upload: static/(.*)
+ expiration: '1d'
+- url: /.*
+ script: _go_app
diff --git a/library/jqupload/server/gae-go/app/main.go b/library/jqupload/server/gae-go/app/main.go
new file mode 100644
index 000000000..f995f73a8
--- /dev/null
+++ b/library/jqupload/server/gae-go/app/main.go
@@ -0,0 +1,296 @@
+/*
+ * jQuery File Upload Plugin GAE Go Example 3.1.1
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2011, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+package app
+
+import (
+ "appengine"
+ "appengine/blobstore"
+ "appengine/image"
+ "appengine/taskqueue"
+ "bytes"
+ "encoding/json"
+ "fmt"
+ "io"
+ "log"
+ "mime/multipart"
+ "net/http"
+ "net/url"
+ "regexp"
+ "strings"
+ "time"
+)
+
+const (
+ WEBSITE = "http://blueimp.github.io/jQuery-File-Upload/"
+ MIN_FILE_SIZE = 1 // bytes
+ MAX_FILE_SIZE = 5000000 // bytes
+ IMAGE_TYPES = "image/(gif|p?jpeg|(x-)?png)"
+ ACCEPT_FILE_TYPES = IMAGE_TYPES
+ EXPIRATION_TIME = 300 // seconds
+ THUMBNAIL_PARAM = "=s80"
+)
+
+var (
+ imageTypes = regexp.MustCompile(IMAGE_TYPES)
+ acceptFileTypes = regexp.MustCompile(ACCEPT_FILE_TYPES)
+)
+
+type FileInfo struct {
+ Key appengine.BlobKey `json:"-"`
+ Url string `json:"url,omitempty"`
+ ThumbnailUrl string `json:"thumbnailUrl,omitempty"`
+ Name string `json:"name"`
+ Type string `json:"type"`
+ Size int64 `json:"size"`
+ Error string `json:"error,omitempty"`
+ DeleteUrl string `json:"deleteUrl,omitempty"`
+ DeleteType string `json:"deleteType,omitempty"`
+}
+
+func (fi *FileInfo) ValidateType() (valid bool) {
+ if acceptFileTypes.MatchString(fi.Type) {
+ return true
+ }
+ fi.Error = "Filetype not allowed"
+ return false
+}
+
+func (fi *FileInfo) ValidateSize() (valid bool) {
+ if fi.Size < MIN_FILE_SIZE {
+ fi.Error = "File is too small"
+ } else if fi.Size > MAX_FILE_SIZE {
+ fi.Error = "File is too big"
+ } else {
+ return true
+ }
+ return false
+}
+
+func (fi *FileInfo) CreateUrls(r *http.Request, c appengine.Context) {
+ u := &url.URL{
+ Scheme: r.URL.Scheme,
+ Host: appengine.DefaultVersionHostname(c),
+ Path: "/",
+ }
+ uString := u.String()
+ fi.Url = uString + escape(string(fi.Key)) + "/" +
+ escape(string(fi.Name))
+ fi.DeleteUrl = fi.Url + "?delete=true"
+ fi.DeleteType = "DELETE"
+ if imageTypes.MatchString(fi.Type) {
+ servingUrl, err := image.ServingURL(
+ c,
+ fi.Key,
+ &image.ServingURLOptions{
+ Secure: strings.HasSuffix(u.Scheme, "s"),
+ Size: 0,
+ Crop: false,
+ },
+ )
+ check(err)
+ fi.ThumbnailUrl = servingUrl.String() + THUMBNAIL_PARAM
+ }
+}
+
+func check(err error) {
+ if err != nil {
+ panic(err)
+ }
+}
+
+func escape(s string) string {
+ return strings.Replace(url.QueryEscape(s), "+", "%20", -1)
+}
+
+func delayedDelete(c appengine.Context, fi *FileInfo) {
+ if key := string(fi.Key); key != "" {
+ task := &taskqueue.Task{
+ Path: "/" + escape(key) + "/-",
+ Method: "DELETE",
+ Delay: time.Duration(EXPIRATION_TIME) * time.Second,
+ }
+ taskqueue.Add(c, task, "")
+ }
+}
+
+func handleUpload(r *http.Request, p *multipart.Part) (fi *FileInfo) {
+ fi = &FileInfo{
+ Name: p.FileName(),
+ Type: p.Header.Get("Content-Type"),
+ }
+ if !fi.ValidateType() {
+ return
+ }
+ defer func() {
+ if rec := recover(); rec != nil {
+ log.Println(rec)
+ fi.Error = rec.(error).Error()
+ }
+ }()
+ lr := &io.LimitedReader{R: p, N: MAX_FILE_SIZE + 1}
+ context := appengine.NewContext(r)
+ w, err := blobstore.Create(context, fi.Type)
+ defer func() {
+ w.Close()
+ fi.Size = MAX_FILE_SIZE + 1 - lr.N
+ fi.Key, err = w.Key()
+ check(err)
+ if !fi.ValidateSize() {
+ err := blobstore.Delete(context, fi.Key)
+ check(err)
+ return
+ }
+ delayedDelete(context, fi)
+ fi.CreateUrls(r, context)
+ }()
+ check(err)
+ _, err = io.Copy(w, lr)
+ return
+}
+
+func getFormValue(p *multipart.Part) string {
+ var b bytes.Buffer
+ io.CopyN(&b, p, int64(1<<20)) // Copy max: 1 MiB
+ return b.String()
+}
+
+func handleUploads(r *http.Request) (fileInfos []*FileInfo) {
+ fileInfos = make([]*FileInfo, 0)
+ mr, err := r.MultipartReader()
+ check(err)
+ r.Form, err = url.ParseQuery(r.URL.RawQuery)
+ check(err)
+ part, err := mr.NextPart()
+ for err == nil {
+ if name := part.FormName(); name != "" {
+ if part.FileName() != "" {
+ fileInfos = append(fileInfos, handleUpload(r, part))
+ } else {
+ r.Form[name] = append(r.Form[name], getFormValue(part))
+ }
+ }
+ part, err = mr.NextPart()
+ }
+ return
+}
+
+func get(w http.ResponseWriter, r *http.Request) {
+ if r.URL.Path == "/" {
+ http.Redirect(w, r, WEBSITE, http.StatusFound)
+ return
+ }
+ parts := strings.Split(r.URL.Path, "/")
+ if len(parts) == 3 {
+ if key := parts[1]; key != "" {
+ blobKey := appengine.BlobKey(key)
+ bi, err := blobstore.Stat(appengine.NewContext(r), blobKey)
+ if err == nil {
+ w.Header().Add("X-Content-Type-Options", "nosniff")
+ if !imageTypes.MatchString(bi.ContentType) {
+ w.Header().Add("Content-Type", "application/octet-stream")
+ w.Header().Add(
+ "Content-Disposition",
+ fmt.Sprintf("attachment; filename=\"%s\"", parts[2]),
+ )
+ }
+ w.Header().Add(
+ "Cache-Control",
+ fmt.Sprintf("public,max-age=%d", EXPIRATION_TIME),
+ )
+ blobstore.Send(w, blobKey)
+ return
+ }
+ }
+ }
+ http.Error(w, "404 Not Found", http.StatusNotFound)
+}
+
+func post(w http.ResponseWriter, r *http.Request) {
+ result := make(map[string][]*FileInfo, 1)
+ result["files"] = handleUploads(r)
+ b, err := json.Marshal(result)
+ check(err)
+ if redirect := r.FormValue("redirect"); redirect != "" {
+ if strings.Contains(redirect, "%s") {
+ redirect = fmt.Sprintf(
+ redirect,
+ escape(string(b)),
+ )
+ }
+ http.Redirect(w, r, redirect, http.StatusFound)
+ return
+ }
+ w.Header().Set("Cache-Control", "no-cache")
+ jsonType := "application/json"
+ if strings.Index(r.Header.Get("Accept"), jsonType) != -1 {
+ w.Header().Set("Content-Type", jsonType)
+ }
+ fmt.Fprintln(w, string(b))
+}
+
+func delete(w http.ResponseWriter, r *http.Request) {
+ parts := strings.Split(r.URL.Path, "/")
+ if len(parts) != 3 {
+ return
+ }
+ result := make(map[string]bool, 1)
+ if key := parts[1]; key != "" {
+ c := appengine.NewContext(r)
+ blobKey := appengine.BlobKey(key)
+ err := blobstore.Delete(c, blobKey)
+ check(err)
+ err = image.DeleteServingURL(c, blobKey)
+ check(err)
+ result[key] = true
+ }
+ jsonType := "application/json"
+ if strings.Index(r.Header.Get("Accept"), jsonType) != -1 {
+ w.Header().Set("Content-Type", jsonType)
+ }
+ b, err := json.Marshal(result)
+ check(err)
+ fmt.Fprintln(w, string(b))
+}
+
+func handle(w http.ResponseWriter, r *http.Request) {
+ params, err := url.ParseQuery(r.URL.RawQuery)
+ check(err)
+ w.Header().Add("Access-Control-Allow-Origin", "*")
+ w.Header().Add(
+ "Access-Control-Allow-Methods",
+ "OPTIONS, HEAD, GET, POST, PUT, DELETE",
+ )
+ w.Header().Add(
+ "Access-Control-Allow-Headers",
+ "Content-Type, Content-Range, Content-Disposition",
+ )
+ switch r.Method {
+ case "OPTIONS":
+ case "HEAD":
+ case "GET":
+ get(w, r)
+ case "POST":
+ if len(params["_method"]) > 0 && params["_method"][0] == "DELETE" {
+ delete(w, r)
+ } else {
+ post(w, r)
+ }
+ case "DELETE":
+ delete(w, r)
+ default:
+ http.Error(w, "501 Not Implemented", http.StatusNotImplemented)
+ }
+}
+
+func init() {
+ http.HandleFunc("/", handle)
+}
diff --git a/library/jqupload/server/gae-go/static/robots.txt b/library/jqupload/server/gae-go/static/robots.txt
new file mode 100644
index 000000000..eb0536286
--- /dev/null
+++ b/library/jqupload/server/gae-go/static/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow:
diff --git a/library/jqupload/server/gae-python/app.yaml b/library/jqupload/server/gae-python/app.yaml
new file mode 100644
index 000000000..5fe123f59
--- /dev/null
+++ b/library/jqupload/server/gae-python/app.yaml
@@ -0,0 +1,16 @@
+application: jquery-file-upload
+version: 1
+runtime: python27
+api_version: 1
+threadsafe: true
+
+builtins:
+- deferred: on
+
+handlers:
+- url: /(favicon\.ico|robots\.txt)
+ static_files: static/\1
+ upload: static/(.*)
+ expiration: '1d'
+- url: /.*
+ script: main.app
diff --git a/library/jqupload/server/gae-python/main.py b/library/jqupload/server/gae-python/main.py
new file mode 100644
index 000000000..37aa44e38
--- /dev/null
+++ b/library/jqupload/server/gae-python/main.py
@@ -0,0 +1,170 @@
+# -*- coding: utf-8 -*-
+#
+# jQuery File Upload Plugin GAE Python Example 2.1.1
+# https://github.com/blueimp/jQuery-File-Upload
+#
+# Copyright 2011, Sebastian Tschan
+# https://blueimp.net
+#
+# Licensed under the MIT license:
+# http://www.opensource.org/licenses/MIT
+#
+
+from __future__ import with_statement
+from google.appengine.api import files, images
+from google.appengine.ext import blobstore, deferred
+from google.appengine.ext.webapp import blobstore_handlers
+import json
+import re
+import urllib
+import webapp2
+
+WEBSITE = 'http://blueimp.github.io/jQuery-File-Upload/'
+MIN_FILE_SIZE = 1 # bytes
+MAX_FILE_SIZE = 5000000 # bytes
+IMAGE_TYPES = re.compile('image/(gif|p?jpeg|(x-)?png)')
+ACCEPT_FILE_TYPES = IMAGE_TYPES
+THUMBNAIL_MODIFICATOR = '=s80' # max width / height
+EXPIRATION_TIME = 300 # seconds
+
+
+def cleanup(blob_keys):
+ blobstore.delete(blob_keys)
+
+
+class UploadHandler(webapp2.RequestHandler):
+
+ def initialize(self, request, response):
+ super(UploadHandler, self).initialize(request, response)
+ self.response.headers['Access-Control-Allow-Origin'] = '*'
+ self.response.headers[
+ 'Access-Control-Allow-Methods'
+ ] = 'OPTIONS, HEAD, GET, POST, PUT, DELETE'
+ self.response.headers[
+ 'Access-Control-Allow-Headers'
+ ] = 'Content-Type, Content-Range, Content-Disposition'
+
+ def validate(self, file):
+ if file['size'] < MIN_FILE_SIZE:
+ file['error'] = 'File is too small'
+ elif file['size'] > MAX_FILE_SIZE:
+ file['error'] = 'File is too big'
+ elif not ACCEPT_FILE_TYPES.match(file['type']):
+ file['error'] = 'Filetype not allowed'
+ else:
+ return True
+ return False
+
+ def get_file_size(self, file):
+ file.seek(0, 2) # Seek to the end of the file
+ size = file.tell() # Get the position of EOF
+ file.seek(0) # Reset the file position to the beginning
+ return size
+
+ def write_blob(self, data, info):
+ blob = files.blobstore.create(
+ mime_type=info['type'],
+ _blobinfo_uploaded_filename=info['name']
+ )
+ with files.open(blob, 'a') as f:
+ f.write(data)
+ files.finalize(blob)
+ return files.blobstore.get_blob_key(blob)
+
+ def handle_upload(self):
+ results = []
+ blob_keys = []
+ for name, fieldStorage in self.request.POST.items():
+ if type(fieldStorage) is unicode:
+ continue
+ result = {}
+ result['name'] = re.sub(
+ r'^.*\\',
+ '',
+ fieldStorage.filename
+ )
+ result['type'] = fieldStorage.type
+ result['size'] = self.get_file_size(fieldStorage.file)
+ if self.validate(result):
+ blob_key = str(
+ self.write_blob(fieldStorage.value, result)
+ )
+ blob_keys.append(blob_key)
+ result['deleteType'] = 'DELETE'
+ result['deleteUrl'] = self.request.host_url +\
+ '/?key=' + urllib.quote(blob_key, '')
+ if (IMAGE_TYPES.match(result['type'])):
+ try:
+ result['url'] = images.get_serving_url(
+ blob_key,
+ secure_url=self.request.host_url.startswith(
+ 'https'
+ )
+ )
+ result['thumbnailUrl'] = result['url'] +\
+ THUMBNAIL_MODIFICATOR
+ except: # Could not get an image serving url
+ pass
+ if not 'url' in result:
+ result['url'] = self.request.host_url +\
+ '/' + blob_key + '/' + urllib.quote(
+ result['name'].encode('utf-8'), '')
+ results.append(result)
+ deferred.defer(
+ cleanup,
+ blob_keys,
+ _countdown=EXPIRATION_TIME
+ )
+ return results
+
+ def options(self):
+ pass
+
+ def head(self):
+ pass
+
+ def get(self):
+ self.redirect(WEBSITE)
+
+ def post(self):
+ if (self.request.get('_method') == 'DELETE'):
+ return self.delete()
+ result = {'files': self.handle_upload()}
+ s = json.dumps(result, separators=(',', ':'))
+ redirect = self.request.get('redirect')
+ if redirect:
+ return self.redirect(str(
+ redirect.replace('%s', urllib.quote(s, ''), 1)
+ ))
+ if 'application/json' in self.request.headers.get('Accept'):
+ self.response.headers['Content-Type'] = 'application/json'
+ self.response.write(s)
+
+ def delete(self):
+ key = self.request.get('key') or ''
+ blobstore.delete(key)
+ s = json.dumps({key: True}, separators=(',', ':'))
+ if 'application/json' in self.request.headers.get('Accept'):
+ self.response.headers['Content-Type'] = 'application/json'
+ self.response.write(s)
+
+
+class DownloadHandler(blobstore_handlers.BlobstoreDownloadHandler):
+ def get(self, key, filename):
+ if not blobstore.get(key):
+ self.error(404)
+ else:
+ # Prevent browsers from MIME-sniffing the content-type:
+ self.response.headers['X-Content-Type-Options'] = 'nosniff'
+ # Cache for the expiration time:
+ self.response.headers['Cache-Control'] = 'public,max-age=%d' % EXPIRATION_TIME
+ # Send the file forcing a download dialog:
+ self.send_blob(key, save_as=filename, content_type='application/octet-stream')
+
+app = webapp2.WSGIApplication(
+ [
+ ('/', UploadHandler),
+ ('/([^/]+)/([^/]+)', DownloadHandler)
+ ],
+ debug=True
+)
diff --git a/library/jqupload/server/gae-python/static/robots.txt b/library/jqupload/server/gae-python/static/robots.txt
new file mode 100644
index 000000000..eb0536286
--- /dev/null
+++ b/library/jqupload/server/gae-python/static/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow:
diff --git a/library/jqupload/server/node/.gitignore b/library/jqupload/server/node/.gitignore
new file mode 100644
index 000000000..9daa8247d
--- /dev/null
+++ b/library/jqupload/server/node/.gitignore
@@ -0,0 +1,2 @@
+.DS_Store
+node_modules
diff --git a/library/jqupload/server/node/package.json b/library/jqupload/server/node/package.json
new file mode 100644
index 000000000..dd38c50ca
--- /dev/null
+++ b/library/jqupload/server/node/package.json
@@ -0,0 +1,41 @@
+{
+ "name": "blueimp-file-upload-node",
+ "version": "2.1.0",
+ "title": "jQuery File Upload Node.js example",
+ "description": "Node.js implementation example of a file upload handler for jQuery File Upload.",
+ "keywords": [
+ "file",
+ "upload",
+ "cross-domain",
+ "cross-site",
+ "node"
+ ],
+ "homepage": "https://github.com/blueimp/jQuery-File-Upload",
+ "author": {
+ "name": "Sebastian Tschan",
+ "url": "https://blueimp.net"
+ },
+ "maintainers": [
+ {
+ "name": "Sebastian Tschan",
+ "url": "https://blueimp.net"
+ }
+ ],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/blueimp/jQuery-File-Upload.git"
+ },
+ "bugs": "https://github.com/blueimp/jQuery-File-Upload/issues",
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "http://www.opensource.org/licenses/MIT"
+ }
+ ],
+ "dependencies": {
+ "formidable": ">=1.0.11",
+ "node-static": ">=0.6.5",
+ "imagemagick": ">=0.1.3"
+ },
+ "main": "server.js"
+}
diff --git a/library/jqupload/server/node/public/files/.gitignore b/library/jqupload/server/node/public/files/.gitignore
new file mode 100644
index 000000000..d6b7ef32c
--- /dev/null
+++ b/library/jqupload/server/node/public/files/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/library/jqupload/server/node/server.js b/library/jqupload/server/node/server.js
new file mode 100755
index 000000000..5eb07a6ed
--- /dev/null
+++ b/library/jqupload/server/node/server.js
@@ -0,0 +1,292 @@
+#!/usr/bin/env node
+/*
+ * jQuery File Upload Plugin Node.js Example 2.1.1
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2012, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* jshint nomen:false */
+/* global require, __dirname, unescape, console */
+
+(function (port) {
+ 'use strict';
+ var path = require('path'),
+ fs = require('fs'),
+ // Since Node 0.8, .existsSync() moved from path to fs:
+ _existsSync = fs.existsSync || path.existsSync,
+ formidable = require('formidable'),
+ nodeStatic = require('node-static'),
+ imageMagick = require('imagemagick'),
+ options = {
+ tmpDir: __dirname + '/tmp',
+ publicDir: __dirname + '/public',
+ uploadDir: __dirname + '/public/files',
+ uploadUrl: '/files/',
+ maxPostSize: 11000000000, // 11 GB
+ minFileSize: 1,
+ maxFileSize: 10000000000, // 10 GB
+ acceptFileTypes: /.+/i,
+ // Files not matched by this regular expression force a download dialog,
+ // to prevent executing any scripts in the context of the service domain:
+ inlineFileTypes: /\.(gif|jpe?g|png)$/i,
+ imageTypes: /\.(gif|jpe?g|png)$/i,
+ imageVersions: {
+ 'thumbnail': {
+ width: 80,
+ height: 80
+ }
+ },
+ accessControl: {
+ allowOrigin: '*',
+ allowMethods: 'OPTIONS, HEAD, GET, POST, PUT, DELETE',
+ allowHeaders: 'Content-Type, Content-Range, Content-Disposition'
+ },
+ /* Uncomment and edit this section to provide the service via HTTPS:
+ ssl: {
+ key: fs.readFileSync('/Applications/XAMPP/etc/ssl.key/server.key'),
+ cert: fs.readFileSync('/Applications/XAMPP/etc/ssl.crt/server.crt')
+ },
+ */
+ nodeStatic: {
+ cache: 3600 // seconds to cache served files
+ }
+ },
+ utf8encode = function (str) {
+ return unescape(encodeURIComponent(str));
+ },
+ fileServer = new nodeStatic.Server(options.publicDir, options.nodeStatic),
+ nameCountRegexp = /(?:(?: \(([\d]+)\))?(\.[^.]+))?$/,
+ nameCountFunc = function (s, index, ext) {
+ return ' (' + ((parseInt(index, 10) || 0) + 1) + ')' + (ext || '');
+ },
+ FileInfo = function (file) {
+ this.name = file.name;
+ this.size = file.size;
+ this.type = file.type;
+ this.deleteType = 'DELETE';
+ },
+ UploadHandler = function (req, res, callback) {
+ this.req = req;
+ this.res = res;
+ this.callback = callback;
+ },
+ serve = function (req, res) {
+ res.setHeader(
+ 'Access-Control-Allow-Origin',
+ options.accessControl.allowOrigin
+ );
+ res.setHeader(
+ 'Access-Control-Allow-Methods',
+ options.accessControl.allowMethods
+ );
+ res.setHeader(
+ 'Access-Control-Allow-Headers',
+ options.accessControl.allowHeaders
+ );
+ var handleResult = function (result, redirect) {
+ if (redirect) {
+ res.writeHead(302, {
+ 'Location': redirect.replace(
+ /%s/,
+ encodeURIComponent(JSON.stringify(result))
+ )
+ });
+ res.end();
+ } else {
+ res.writeHead(200, {
+ 'Content-Type': req.headers.accept
+ .indexOf('application/json') !== -1 ?
+ 'application/json' : 'text/plain'
+ });
+ res.end(JSON.stringify(result));
+ }
+ },
+ setNoCacheHeaders = function () {
+ res.setHeader('Pragma', 'no-cache');
+ res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate');
+ res.setHeader('Content-Disposition', 'inline; filename="files.json"');
+ },
+ handler = new UploadHandler(req, res, handleResult);
+ switch (req.method) {
+ case 'OPTIONS':
+ res.end();
+ break;
+ case 'HEAD':
+ case 'GET':
+ if (req.url === '/') {
+ setNoCacheHeaders();
+ if (req.method === 'GET') {
+ handler.get();
+ } else {
+ res.end();
+ }
+ } else {
+ fileServer.serve(req, res);
+ }
+ break;
+ case 'POST':
+ setNoCacheHeaders();
+ handler.post();
+ break;
+ case 'DELETE':
+ handler.destroy();
+ break;
+ default:
+ res.statusCode = 405;
+ res.end();
+ }
+ };
+ fileServer.respond = function (pathname, status, _headers, files, stat, req, res, finish) {
+ // Prevent browsers from MIME-sniffing the content-type:
+ _headers['X-Content-Type-Options'] = 'nosniff';
+ if (!options.inlineFileTypes.test(files[0])) {
+ // Force a download dialog for unsafe file extensions:
+ _headers['Content-Type'] = 'application/octet-stream';
+ _headers['Content-Disposition'] = 'attachment; filename="' +
+ utf8encode(path.basename(files[0])) + '"';
+ }
+ nodeStatic.Server.prototype.respond
+ .call(this, pathname, status, _headers, files, stat, req, res, finish);
+ };
+ FileInfo.prototype.validate = function () {
+ if (options.minFileSize && options.minFileSize > this.size) {
+ this.error = 'File is too small';
+ } else if (options.maxFileSize && options.maxFileSize < this.size) {
+ this.error = 'File is too big';
+ } else if (!options.acceptFileTypes.test(this.name)) {
+ this.error = 'Filetype not allowed';
+ }
+ return !this.error;
+ };
+ FileInfo.prototype.safeName = function () {
+ // Prevent directory traversal and creating hidden system files:
+ this.name = path.basename(this.name).replace(/^\.+/, '');
+ // Prevent overwriting existing files:
+ while (_existsSync(options.uploadDir + '/' + this.name)) {
+ this.name = this.name.replace(nameCountRegexp, nameCountFunc);
+ }
+ };
+ FileInfo.prototype.initUrls = function (req) {
+ if (!this.error) {
+ var that = this,
+ baseUrl = (options.ssl ? 'https:' : 'http:') +
+ '//' + req.headers.host + options.uploadUrl;
+ this.url = this.deleteUrl = baseUrl + encodeURIComponent(this.name);
+ Object.keys(options.imageVersions).forEach(function (version) {
+ if (_existsSync(
+ options.uploadDir + '/' + version + '/' + that.name
+ )) {
+ that[version + 'Url'] = baseUrl + version + '/' +
+ encodeURIComponent(that.name);
+ }
+ });
+ }
+ };
+ UploadHandler.prototype.get = function () {
+ var handler = this,
+ files = [];
+ fs.readdir(options.uploadDir, function (err, list) {
+ list.forEach(function (name) {
+ var stats = fs.statSync(options.uploadDir + '/' + name),
+ fileInfo;
+ if (stats.isFile() && name[0] !== '.') {
+ fileInfo = new FileInfo({
+ name: name,
+ size: stats.size
+ });
+ fileInfo.initUrls(handler.req);
+ files.push(fileInfo);
+ }
+ });
+ handler.callback({files: files});
+ });
+ };
+ UploadHandler.prototype.post = function () {
+ var handler = this,
+ form = new formidable.IncomingForm(),
+ tmpFiles = [],
+ files = [],
+ map = {},
+ counter = 1,
+ redirect,
+ finish = function () {
+ counter -= 1;
+ if (!counter) {
+ files.forEach(function (fileInfo) {
+ fileInfo.initUrls(handler.req);
+ });
+ handler.callback({files: files}, redirect);
+ }
+ };
+ form.uploadDir = options.tmpDir;
+ form.on('fileBegin', function (name, file) {
+ tmpFiles.push(file.path);
+ var fileInfo = new FileInfo(file, handler.req, true);
+ fileInfo.safeName();
+ map[path.basename(file.path)] = fileInfo;
+ files.push(fileInfo);
+ }).on('field', function (name, value) {
+ if (name === 'redirect') {
+ redirect = value;
+ }
+ }).on('file', function (name, file) {
+ var fileInfo = map[path.basename(file.path)];
+ fileInfo.size = file.size;
+ if (!fileInfo.validate()) {
+ fs.unlink(file.path);
+ return;
+ }
+ fs.renameSync(file.path, options.uploadDir + '/' + fileInfo.name);
+ if (options.imageTypes.test(fileInfo.name)) {
+ Object.keys(options.imageVersions).forEach(function (version) {
+ counter += 1;
+ var opts = options.imageVersions[version];
+ imageMagick.resize({
+ width: opts.width,
+ height: opts.height,
+ srcPath: options.uploadDir + '/' + fileInfo.name,
+ dstPath: options.uploadDir + '/' + version + '/' +
+ fileInfo.name
+ }, finish);
+ });
+ }
+ }).on('aborted', function () {
+ tmpFiles.forEach(function (file) {
+ fs.unlink(file);
+ });
+ }).on('error', function (e) {
+ console.log(e);
+ }).on('progress', function (bytesReceived) {
+ if (bytesReceived > options.maxPostSize) {
+ handler.req.connection.destroy();
+ }
+ }).on('end', finish).parse(handler.req);
+ };
+ UploadHandler.prototype.destroy = function () {
+ var handler = this,
+ fileName;
+ if (handler.req.url.slice(0, options.uploadUrl.length) === options.uploadUrl) {
+ fileName = path.basename(decodeURIComponent(handler.req.url));
+ if (fileName[0] !== '.') {
+ fs.unlink(options.uploadDir + '/' + fileName, function (ex) {
+ Object.keys(options.imageVersions).forEach(function (version) {
+ fs.unlink(options.uploadDir + '/' + version + '/' + fileName);
+ });
+ handler.callback({success: !ex});
+ });
+ return;
+ }
+ }
+ handler.callback({success: false});
+ };
+ if (options.ssl) {
+ require('https').createServer(options.ssl, serve).listen(port);
+ } else {
+ require('http').createServer(serve).listen(port);
+ }
+}(8888));
diff --git a/library/jqupload/server/node/tmp/.gitignore b/library/jqupload/server/node/tmp/.gitignore
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/library/jqupload/server/node/tmp/.gitignore
diff --git a/library/jqupload/server/php/UploadHandler.php b/library/jqupload/server/php/UploadHandler.php
new file mode 100644
index 000000000..66545b12a
--- /dev/null
+++ b/library/jqupload/server/php/UploadHandler.php
@@ -0,0 +1,1329 @@
+<?php
+/*
+ * jQuery File Upload Plugin PHP Class 7.1.3
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2010, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+class UploadHandler
+{
+
+ protected $options;
+
+ // PHP File Upload error message codes:
+ // http://php.net/manual/en/features.file-upload.errors.php
+ protected $error_messages = array(
+ 1 => 'The uploaded file exceeds the upload_max_filesize directive in php.ini',
+ 2 => 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form',
+ 3 => 'The uploaded file was only partially uploaded',
+ 4 => 'No file was uploaded',
+ 6 => 'Missing a temporary folder',
+ 7 => 'Failed to write file to disk',
+ 8 => 'A PHP extension stopped the file upload',
+ 'post_max_size' => 'The uploaded file exceeds the post_max_size directive in php.ini',
+ 'max_file_size' => 'File is too big',
+ 'min_file_size' => 'File is too small',
+ 'accept_file_types' => 'Filetype not allowed',
+ 'max_number_of_files' => 'Maximum number of files exceeded',
+ 'max_width' => 'Image exceeds maximum width',
+ 'min_width' => 'Image requires a minimum width',
+ 'max_height' => 'Image exceeds maximum height',
+ 'min_height' => 'Image requires a minimum height',
+ 'abort' => 'File upload aborted',
+ 'image_resize' => 'Failed to resize image'
+ );
+
+ protected $image_objects = array();
+
+ function __construct($options = null, $initialize = true, $error_messages = null) {
+ $this->options = array(
+ 'script_url' => $this->get_full_url().'/',
+ 'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/files/',
+ 'upload_url' => $this->get_full_url().'/files/',
+ 'user_dirs' => false,
+ 'mkdir_mode' => 0755,
+ 'param_name' => 'files',
+ // Set the following option to 'POST', if your server does not support
+ // DELETE requests. This is a parameter sent to the client:
+ 'delete_type' => 'DELETE',
+ 'access_control_allow_origin' => '*',
+ 'access_control_allow_credentials' => false,
+ 'access_control_allow_methods' => array(
+ 'OPTIONS',
+ 'HEAD',
+ 'GET',
+ 'POST',
+ 'PUT',
+ 'PATCH',
+ 'DELETE'
+ ),
+ 'access_control_allow_headers' => array(
+ 'Content-Type',
+ 'Content-Range',
+ 'Content-Disposition'
+ ),
+ // Enable to provide file downloads via GET requests to the PHP script:
+ // 1. Set to 1 to download files via readfile method through PHP
+ // 2. Set to 2 to send a X-Sendfile header for lighttpd/Apache
+ // 3. Set to 3 to send a X-Accel-Redirect header for nginx
+ // If set to 2 or 3, adjust the upload_url option to the base path of
+ // the redirect parameter, e.g. '/files/'.
+ 'download_via_php' => false,
+ // Read files in chunks to avoid memory limits when download_via_php
+ // is enabled, set to 0 to disable chunked reading of files:
+ 'readfile_chunk_size' => 10 * 1024 * 1024, // 10 MiB
+ // Defines which files can be displayed inline when downloaded:
+ 'inline_file_types' => '/\.(gif|jpe?g|png)$/i',
+ // Defines which files (based on their names) are accepted for upload:
+ 'accept_file_types' => '/.+$/i',
+ // The php.ini settings upload_max_filesize and post_max_size
+ // take precedence over the following max_file_size setting:
+ 'max_file_size' => null,
+ 'min_file_size' => 1,
+ // The maximum number of files for the upload directory:
+ 'max_number_of_files' => null,
+ // Defines which files are handled as image files:
+ 'image_file_types' => '/\.(gif|jpe?g|png)$/i',
+ // Image resolution restrictions:
+ 'max_width' => null,
+ 'max_height' => null,
+ 'min_width' => 1,
+ 'min_height' => 1,
+ // Set the following option to false to enable resumable uploads:
+ 'discard_aborted_uploads' => true,
+ // Set to 0 to use the GD library to scale and orient images,
+ // set to 1 to use imagick (if installed, falls back to GD),
+ // set to 2 to use the ImageMagick convert binary directly:
+ 'image_library' => 1,
+ // Uncomment the following to define an array of resource limits
+ // for imagick:
+ /*
+ 'imagick_resource_limits' => array(
+ imagick::RESOURCETYPE_MAP => 32,
+ imagick::RESOURCETYPE_MEMORY => 32
+ ),
+ */
+ // Command or path for to the ImageMagick convert binary:
+ 'convert_bin' => 'convert',
+ // Uncomment the following to add parameters in front of each
+ // ImageMagick convert call (the limit constraints seem only
+ // to have an effect if put in front):
+ /*
+ 'convert_params' => '-limit memory 32MiB -limit map 32MiB',
+ */
+ // Command or path for to the ImageMagick identify binary:
+ 'identify_bin' => 'identify',
+ 'image_versions' => array(
+ // The empty image version key defines options for the original image:
+ '' => array(
+ // Automatically rotate images based on EXIF meta data:
+ 'auto_orient' => true
+ ),
+ // Uncomment the following to create medium sized images:
+ /*
+ 'medium' => array(
+ 'max_width' => 800,
+ 'max_height' => 600
+ ),
+ */
+ 'thumbnail' => array(
+ // Uncomment the following to use a defined directory for the thumbnails
+ // instead of a subdirectory based on the version identifier.
+ // Make sure that this directory doesn't allow execution of files if you
+ // don't pose any restrictions on the type of uploaded files, e.g. by
+ // copying the .htaccess file from the files directory for Apache:
+ //'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/thumb/',
+ //'upload_url' => $this->get_full_url().'/thumb/',
+ // Uncomment the following to force the max
+ // dimensions and e.g. create square thumbnails:
+ //'crop' => true,
+ 'max_width' => 80,
+ 'max_height' => 80
+ )
+ )
+ );
+ if ($options) {
+ $this->options = $options + $this->options;
+ }
+ if ($error_messages) {
+ $this->error_messages = $error_messages + $this->error_messages;
+ }
+ if ($initialize) {
+ $this->initialize();
+ }
+ }
+
+ protected function initialize() {
+ switch ($this->get_server_var('REQUEST_METHOD')) {
+ case 'OPTIONS':
+ case 'HEAD':
+ $this->head();
+ break;
+ case 'GET':
+ $this->get();
+ break;
+ case 'PATCH':
+ case 'PUT':
+ case 'POST':
+ $this->post();
+ break;
+ case 'DELETE':
+ $this->delete();
+ break;
+ default:
+ $this->header('HTTP/1.1 405 Method Not Allowed');
+ }
+ }
+
+ protected function get_full_url() {
+ $https = !empty($_SERVER['HTTPS']) && strcasecmp($_SERVER['HTTPS'], 'on') === 0;
+ return
+ ($https ? 'https://' : 'http://').
+ (!empty($_SERVER['REMOTE_USER']) ? $_SERVER['REMOTE_USER'].'@' : '').
+ (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ($_SERVER['SERVER_NAME'].
+ ($https && $_SERVER['SERVER_PORT'] === 443 ||
+ $_SERVER['SERVER_PORT'] === 80 ? '' : ':'.$_SERVER['SERVER_PORT']))).
+ substr($_SERVER['SCRIPT_NAME'],0, strrpos($_SERVER['SCRIPT_NAME'], '/'));
+ }
+
+ protected function get_user_id() {
+ @session_start();
+ return session_id();
+ }
+
+ protected function get_user_path() {
+ if ($this->options['user_dirs']) {
+ return $this->get_user_id().'/';
+ }
+ return '';
+ }
+
+ protected function get_upload_path($file_name = null, $version = null) {
+ $file_name = $file_name ? $file_name : '';
+ if (empty($version)) {
+ $version_path = '';
+ } else {
+ $version_dir = @$this->options['image_versions'][$version]['upload_dir'];
+ if ($version_dir) {
+ return $version_dir.$this->get_user_path().$file_name;
+ }
+ $version_path = $version.'/';
+ }
+ return $this->options['upload_dir'].$this->get_user_path()
+ .$version_path.$file_name;
+ }
+
+ protected function get_query_separator($url) {
+ return strpos($url, '?') === false ? '?' : '&';
+ }
+
+ protected function get_download_url($file_name, $version = null, $direct = false) {
+ if (!$direct && $this->options['download_via_php']) {
+ $url = $this->options['script_url']
+ .$this->get_query_separator($this->options['script_url'])
+ .$this->get_singular_param_name()
+ .'='.rawurlencode($file_name);
+ if ($version) {
+ $url .= '&version='.rawurlencode($version);
+ }
+ return $url.'&download=1';
+ }
+ if (empty($version)) {
+ $version_path = '';
+ } else {
+ $version_url = @$this->options['image_versions'][$version]['upload_url'];
+ if ($version_url) {
+ return $version_url.$this->get_user_path().rawurlencode($file_name);
+ }
+ $version_path = rawurlencode($version).'/';
+ }
+ return $this->options['upload_url'].$this->get_user_path()
+ .$version_path.rawurlencode($file_name);
+ }
+
+ protected function set_additional_file_properties($file) {
+ $file->deleteUrl = $this->options['script_url']
+ .$this->get_query_separator($this->options['script_url'])
+ .$this->get_singular_param_name()
+ .'='.rawurlencode($file->name);
+ $file->deleteType = $this->options['delete_type'];
+ if ($file->deleteType !== 'DELETE') {
+ $file->deleteUrl .= '&_method=DELETE';
+ }
+ if ($this->options['access_control_allow_credentials']) {
+ $file->deleteWithCredentials = true;
+ }
+ }
+
+ // Fix for overflowing signed 32 bit integers,
+ // works for sizes up to 2^32-1 bytes (4 GiB - 1):
+ protected function fix_integer_overflow($size) {
+ if ($size < 0) {
+ $size += 2.0 * (PHP_INT_MAX + 1);
+ }
+ return $size;
+ }
+
+ protected function get_file_size($file_path, $clear_stat_cache = false) {
+ if ($clear_stat_cache) {
+ if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
+ clearstatcache(true, $file_path);
+ } else {
+ clearstatcache();
+ }
+ }
+ return $this->fix_integer_overflow(filesize($file_path));
+ }
+
+ protected function is_valid_file_object($file_name) {
+ $file_path = $this->get_upload_path($file_name);
+ if (is_file($file_path) && $file_name[0] !== '.') {
+ return true;
+ }
+ return false;
+ }
+
+ protected function get_file_object($file_name) {
+ if ($this->is_valid_file_object($file_name)) {
+ $file = new stdClass();
+ $file->name = $file_name;
+ $file->size = $this->get_file_size(
+ $this->get_upload_path($file_name)
+ );
+ $file->url = $this->get_download_url($file->name);
+ foreach($this->options['image_versions'] as $version => $options) {
+ if (!empty($version)) {
+ if (is_file($this->get_upload_path($file_name, $version))) {
+ $file->{$version.'Url'} = $this->get_download_url(
+ $file->name,
+ $version
+ );
+ }
+ }
+ }
+ $this->set_additional_file_properties($file);
+ return $file;
+ }
+ return null;
+ }
+
+ protected function get_file_objects($iteration_method = 'get_file_object') {
+ $upload_dir = $this->get_upload_path();
+ if (!is_dir($upload_dir)) {
+ return array();
+ }
+ return array_values(array_filter(array_map(
+ array($this, $iteration_method),
+ scandir($upload_dir)
+ )));
+ }
+
+ protected function count_file_objects() {
+ return count($this->get_file_objects('is_valid_file_object'));
+ }
+
+ protected function get_error_message($error) {
+ return array_key_exists($error, $this->error_messages) ?
+ $this->error_messages[$error] : $error;
+ }
+
+ function get_config_bytes($val) {
+ $val = trim($val);
+ $last = strtolower($val[strlen($val)-1]);
+ switch($last) {
+ case 'g':
+ $val *= 1024;
+ case 'm':
+ $val *= 1024;
+ case 'k':
+ $val *= 1024;
+ }
+ return $this->fix_integer_overflow($val);
+ }
+
+ protected function validate($uploaded_file, $file, $error, $index) {
+ if ($error) {
+ $file->error = $this->get_error_message($error);
+ return false;
+ }
+ $content_length = $this->fix_integer_overflow(intval(
+ $this->get_server_var('CONTENT_LENGTH')
+ ));
+ $post_max_size = $this->get_config_bytes(ini_get('post_max_size'));
+ if ($post_max_size && ($content_length > $post_max_size)) {
+ $file->error = $this->get_error_message('post_max_size');
+ return false;
+ }
+ if (!preg_match($this->options['accept_file_types'], $file->name)) {
+ $file->error = $this->get_error_message('accept_file_types');
+ return false;
+ }
+ if ($uploaded_file && is_uploaded_file($uploaded_file)) {
+ $file_size = $this->get_file_size($uploaded_file);
+ } else {
+ $file_size = $content_length;
+ }
+ if ($this->options['max_file_size'] && (
+ $file_size > $this->options['max_file_size'] ||
+ $file->size > $this->options['max_file_size'])
+ ) {
+ $file->error = $this->get_error_message('max_file_size');
+ return false;
+ }
+ if ($this->options['min_file_size'] &&
+ $file_size < $this->options['min_file_size']) {
+ $file->error = $this->get_error_message('min_file_size');
+ return false;
+ }
+ if (is_int($this->options['max_number_of_files']) && (
+ $this->count_file_objects() >= $this->options['max_number_of_files'])
+ ) {
+ $file->error = $this->get_error_message('max_number_of_files');
+ return false;
+ }
+ $max_width = @$this->options['max_width'];
+ $max_height = @$this->options['max_height'];
+ $min_width = @$this->options['min_width'];
+ $min_height = @$this->options['min_height'];
+ if (($max_width || $max_height || $min_width || $min_height)) {
+ list($img_width, $img_height) = $this->get_image_size($uploaded_file);
+ }
+ if (!empty($img_width)) {
+ if ($max_width && $img_width > $max_width) {
+ $file->error = $this->get_error_message('max_width');
+ return false;
+ }
+ if ($max_height && $img_height > $max_height) {
+ $file->error = $this->get_error_message('max_height');
+ return false;
+ }
+ if ($min_width && $img_width < $min_width) {
+ $file->error = $this->get_error_message('min_width');
+ return false;
+ }
+ if ($min_height && $img_height < $min_height) {
+ $file->error = $this->get_error_message('min_height');
+ return false;
+ }
+ }
+ return true;
+ }
+
+ protected function upcount_name_callback($matches) {
+ $index = isset($matches[1]) ? intval($matches[1]) + 1 : 1;
+ $ext = isset($matches[2]) ? $matches[2] : '';
+ return ' ('.$index.')'.$ext;
+ }
+
+ protected function upcount_name($name) {
+ return preg_replace_callback(
+ '/(?:(?: \(([\d]+)\))?(\.[^.]+))?$/',
+ array($this, 'upcount_name_callback'),
+ $name,
+ 1
+ );
+ }
+
+ protected function get_unique_filename($file_path, $name, $size, $type, $error,
+ $index, $content_range) {
+ while(is_dir($this->get_upload_path($name))) {
+ $name = $this->upcount_name($name);
+ }
+ // Keep an existing filename if this is part of a chunked upload:
+ $uploaded_bytes = $this->fix_integer_overflow(intval($content_range[1]));
+ while(is_file($this->get_upload_path($name))) {
+ if ($uploaded_bytes === $this->get_file_size(
+ $this->get_upload_path($name))) {
+ break;
+ }
+ $name = $this->upcount_name($name);
+ }
+ return $name;
+ }
+
+ protected function trim_file_name($file_path, $name, $size, $type, $error,
+ $index, $content_range) {
+ // Remove path information and dots around the filename, to prevent uploading
+ // into different directories or replacing hidden system files.
+ // Also remove control characters and spaces (\x00..\x20) around the filename:
+ $name = trim(basename(stripslashes($name)), ".\x00..\x20");
+ // Use a timestamp for empty filenames:
+ if (!$name) {
+ $name = str_replace('.', '-', microtime(true));
+ }
+ // Add missing file extension for known image types:
+ if (strpos($name, '.') === false &&
+ preg_match('/^image\/(gif|jpe?g|png)/', $type, $matches)) {
+ $name .= '.'.$matches[1];
+ }
+ if (function_exists('exif_imagetype')) {
+ switch(@exif_imagetype($file_path)){
+ case IMAGETYPE_JPEG:
+ $extensions = array('jpg', 'jpeg');
+ break;
+ case IMAGETYPE_PNG:
+ $extensions = array('png');
+ break;
+ case IMAGETYPE_GIF:
+ $extensions = array('gif');
+ break;
+ }
+ // Adjust incorrect image file extensions:
+ if (!empty($extensions)) {
+ $parts = explode('.', $name);
+ $extIndex = count($parts) - 1;
+ $ext = strtolower(@$parts[$extIndex]);
+ if (!in_array($ext, $extensions)) {
+ $parts[$extIndex] = $extensions[0];
+ $name = implode('.', $parts);
+ }
+ }
+ }
+ return $name;
+ }
+
+ protected function get_file_name($file_path, $name, $size, $type, $error,
+ $index, $content_range) {
+ return $this->get_unique_filename(
+ $file_path,
+ $this->trim_file_name($file_path, $name, $size, $type, $error,
+ $index, $content_range),
+ $size,
+ $type,
+ $error,
+ $index,
+ $content_range
+ );
+ }
+
+ protected function handle_form_data($file, $index) {
+ // Handle form data, e.g. $_REQUEST['description'][$index]
+ }
+
+ protected function get_scaled_image_file_paths($file_name, $version) {
+ $file_path = $this->get_upload_path($file_name);
+ if (!empty($version)) {
+ $version_dir = $this->get_upload_path(null, $version);
+ if (!is_dir($version_dir)) {
+ mkdir($version_dir, $this->options['mkdir_mode'], true);
+ }
+ $new_file_path = $version_dir.'/'.$file_name;
+ } else {
+ $new_file_path = $file_path;
+ }
+ return array($file_path, $new_file_path);
+ }
+
+ protected function gd_get_image_object($file_path, $func, $no_cache = false) {
+ if (empty($this->image_objects[$file_path]) || $no_cache) {
+ $this->gd_destroy_image_object($file_path);
+ $this->image_objects[$file_path] = $func($file_path);
+ }
+ return $this->image_objects[$file_path];
+ }
+
+ protected function gd_set_image_object($file_path, $image) {
+ $this->gd_destroy_image_object($file_path);
+ $this->image_objects[$file_path] = $image;
+ }
+
+ protected function gd_destroy_image_object($file_path) {
+ $image = @$this->image_objects[$file_path];
+ return $image && imagedestroy($image);
+ }
+
+ protected function gd_imageflip($image, $mode) {
+ if (function_exists('imageflip')) {
+ return imageflip($image, $mode);
+ }
+ $new_width = $src_width = imagesx($image);
+ $new_height = $src_height = imagesy($image);
+ $new_img = imagecreatetruecolor($new_width, $new_height);
+ $src_x = 0;
+ $src_y = 0;
+ switch ($mode) {
+ case '1': // flip on the horizontal axis
+ $src_y = $new_height - 1;
+ $src_height = -$new_height;
+ break;
+ case '2': // flip on the vertical axis
+ $src_x = $new_width - 1;
+ $src_width = -$new_width;
+ break;
+ case '3': // flip on both axes
+ $src_y = $new_height - 1;
+ $src_height = -$new_height;
+ $src_x = $new_width - 1;
+ $src_width = -$new_width;
+ break;
+ default:
+ return $image;
+ }
+ imagecopyresampled(
+ $new_img,
+ $image,
+ 0,
+ 0,
+ $src_x,
+ $src_y,
+ $new_width,
+ $new_height,
+ $src_width,
+ $src_height
+ );
+ return $new_img;
+ }
+
+ protected function gd_orient_image($file_path, $src_img) {
+ if (!function_exists('exif_read_data')) {
+ return false;
+ }
+ $exif = @exif_read_data($file_path);
+ if ($exif === false) {
+ return false;
+ }
+ $orientation = intval(@$exif['Orientation']);
+ if ($orientation < 2 || $orientation > 8) {
+ return false;
+ }
+ switch ($orientation) {
+ case 2:
+ $new_img = $this->gd_imageflip(
+ $src_img,
+ defined('IMG_FLIP_VERTICAL') ? IMG_FLIP_VERTICAL : 2
+ );
+ break;
+ case 3:
+ $new_img = imagerotate($src_img, 180, 0);
+ break;
+ case 4:
+ $new_img = $this->gd_imageflip(
+ $src_img,
+ defined('IMG_FLIP_HORIZONTAL') ? IMG_FLIP_HORIZONTAL : 1
+ );
+ break;
+ case 5:
+ $tmp_img = $this->gd_imageflip(
+ $src_img,
+ defined('IMG_FLIP_HORIZONTAL') ? IMG_FLIP_HORIZONTAL : 1
+ );
+ $new_img = imagerotate($tmp_img, 270, 0);
+ imagedestroy($tmp_img);
+ break;
+ case 6:
+ $new_img = imagerotate($src_img, 270, 0);
+ break;
+ case 7:
+ $tmp_img = $this->gd_imageflip(
+ $src_img,
+ defined('IMG_FLIP_VERTICAL') ? IMG_FLIP_VERTICAL : 2
+ );
+ $new_img = imagerotate($tmp_img, 270, 0);
+ imagedestroy($tmp_img);
+ break;
+ case 8:
+ $new_img = imagerotate($src_img, 90, 0);
+ break;
+ default:
+ return false;
+ }
+ $this->gd_set_image_object($file_path, $new_img);
+ return true;
+ }
+
+ protected function gd_create_scaled_image($file_name, $version, $options) {
+ if (!function_exists('imagecreatetruecolor')) {
+ error_log('Function not found: imagecreatetruecolor');
+ return false;
+ }
+ list($file_path, $new_file_path) =
+ $this->get_scaled_image_file_paths($file_name, $version);
+ $type = strtolower(substr(strrchr($file_name, '.'), 1));
+ switch ($type) {
+ case 'jpg':
+ case 'jpeg':
+ $src_func = 'imagecreatefromjpeg';
+ $write_func = 'imagejpeg';
+ $image_quality = isset($options['jpeg_quality']) ?
+ $options['jpeg_quality'] : 75;
+ break;
+ case 'gif':
+ $src_func = 'imagecreatefromgif';
+ $write_func = 'imagegif';
+ $image_quality = null;
+ break;
+ case 'png':
+ $src_func = 'imagecreatefrompng';
+ $write_func = 'imagepng';
+ $image_quality = isset($options['png_quality']) ?
+ $options['png_quality'] : 9;
+ break;
+ default:
+ return false;
+ }
+ $src_img = $this->gd_get_image_object(
+ $file_path,
+ $src_func,
+ !empty($options['no_cache'])
+ );
+ $image_oriented = false;
+ if (!empty($options['auto_orient']) && $this->gd_orient_image(
+ $file_path,
+ $src_img
+ )) {
+ $image_oriented = true;
+ $src_img = $this->gd_get_image_object(
+ $file_path,
+ $src_func
+ );
+ }
+ $max_width = $img_width = imagesx($src_img);
+ $max_height = $img_height = imagesy($src_img);
+ if (!empty($options['max_width'])) {
+ $max_width = $options['max_width'];
+ }
+ if (!empty($options['max_height'])) {
+ $max_height = $options['max_height'];
+ }
+ $scale = min(
+ $max_width / $img_width,
+ $max_height / $img_height
+ );
+ if ($scale >= 1) {
+ if ($image_oriented) {
+ return $write_func($src_img, $new_file_path, $image_quality);
+ }
+ if ($file_path !== $new_file_path) {
+ return copy($file_path, $new_file_path);
+ }
+ return true;
+ }
+ if (empty($options['crop'])) {
+ $new_width = $img_width * $scale;
+ $new_height = $img_height * $scale;
+ $dst_x = 0;
+ $dst_y = 0;
+ $new_img = imagecreatetruecolor($new_width, $new_height);
+ } else {
+ if (($img_width / $img_height) >= ($max_width / $max_height)) {
+ $new_width = $img_width / ($img_height / $max_height);
+ $new_height = $max_height;
+ } else {
+ $new_width = $max_width;
+ $new_height = $img_height / ($img_width / $max_width);
+ }
+ $dst_x = 0 - ($new_width - $max_width) / 2;
+ $dst_y = 0 - ($new_height - $max_height) / 2;
+ $new_img = imagecreatetruecolor($max_width, $max_height);
+ }
+ // Handle transparency in GIF and PNG images:
+ switch ($type) {
+ case 'gif':
+ case 'png':
+ imagecolortransparent($new_img, imagecolorallocate($new_img, 0, 0, 0));
+ case 'png':
+ imagealphablending($new_img, false);
+ imagesavealpha($new_img, true);
+ break;
+ }
+ $success = imagecopyresampled(
+ $new_img,
+ $src_img,
+ $dst_x,
+ $dst_y,
+ 0,
+ 0,
+ $new_width,
+ $new_height,
+ $img_width,
+ $img_height
+ ) && $write_func($new_img, $new_file_path, $image_quality);
+ $this->gd_set_image_object($file_path, $new_img);
+ return $success;
+ }
+
+ protected function imagick_get_image_object($file_path, $no_cache = false) {
+ if (empty($this->image_objects[$file_path]) || $no_cache) {
+ $this->imagick_destroy_image_object($file_path);
+ $image = new Imagick();
+ if (!empty($this->options['imagick_resource_limits'])) {
+ foreach ($this->options['imagick_resource_limits'] as $type => $limit) {
+ $image->setResourceLimit($type, $limit);
+ }
+ }
+ $image->readImage($file_path);
+ $this->image_objects[$file_path] = $image;
+ }
+ return $this->image_objects[$file_path];
+ }
+
+ protected function imagick_set_image_object($file_path, $image) {
+ $this->imagick_destroy_image_object($file_path);
+ $this->image_objects[$file_path] = $image;
+ }
+
+ protected function imagick_destroy_image_object($file_path) {
+ $image = @$this->image_objects[$file_path];
+ return $image && $image->destroy();
+ }
+
+ protected function imagick_orient_image($image) {
+ $orientation = $image->getImageOrientation();
+ $background = new ImagickPixel('none');
+ switch ($orientation) {
+ case imagick::ORIENTATION_TOPRIGHT: // 2
+ $image->flopImage(); // horizontal flop around y-axis
+ break;
+ case imagick::ORIENTATION_BOTTOMRIGHT: // 3
+ $image->rotateImage($background, 180);
+ break;
+ case imagick::ORIENTATION_BOTTOMLEFT: // 4
+ $image->flipImage(); // vertical flip around x-axis
+ break;
+ case imagick::ORIENTATION_LEFTTOP: // 5
+ $image->flopImage(); // horizontal flop around y-axis
+ $image->rotateImage($background, 270);
+ break;
+ case imagick::ORIENTATION_RIGHTTOP: // 6
+ $image->rotateImage($background, 90);
+ break;
+ case imagick::ORIENTATION_RIGHTBOTTOM: // 7
+ $image->flipImage(); // vertical flip around x-axis
+ $image->rotateImage($background, 270);
+ break;
+ case imagick::ORIENTATION_LEFTBOTTOM: // 8
+ $image->rotateImage($background, 270);
+ break;
+ default:
+ return false;
+ }
+ $image->setImageOrientation(imagick::ORIENTATION_TOPLEFT); // 1
+ return true;
+ }
+
+ protected function imagick_create_scaled_image($file_name, $version, $options) {
+ list($file_path, $new_file_path) =
+ $this->get_scaled_image_file_paths($file_name, $version);
+ $image = $this->imagick_get_image_object(
+ $file_path,
+ !empty($options['no_cache'])
+ );
+ if ($image->getImageFormat() === 'GIF') {
+ // Handle animated GIFs:
+ $images = $image->coalesceImages();
+ foreach ($images as $frame) {
+ $image = $frame;
+ $this->imagick_set_image_object($file_name, $image);
+ break;
+ }
+ }
+ $image_oriented = false;
+ if (!empty($options['auto_orient'])) {
+ $image_oriented = $this->imagick_orient_image($image);
+ }
+ $new_width = $max_width = $img_width = $image->getImageWidth();
+ $new_height = $max_height = $img_height = $image->getImageHeight();
+ if (!empty($options['max_width'])) {
+ $new_width = $max_width = $options['max_width'];
+ }
+ if (!empty($options['max_height'])) {
+ $new_height = $max_height = $options['max_height'];
+ }
+ if (!($image_oriented || $max_width < $img_width || $max_height < $img_height)) {
+ if ($file_path !== $new_file_path) {
+ return copy($file_path, $new_file_path);
+ }
+ return true;
+ }
+ $crop = !empty($options['crop']);
+ if ($crop) {
+ $x = 0;
+ $y = 0;
+ if (($img_width / $img_height) >= ($max_width / $max_height)) {
+ $new_width = 0; // Enables proportional scaling based on max_height
+ $x = ($img_width / ($img_height / $max_height) - $max_width) / 2;
+ } else {
+ $new_height = 0; // Enables proportional scaling based on max_width
+ $y = ($img_height / ($img_width / $max_width) - $max_height) / 2;
+ }
+ }
+ $success = $image->resizeImage(
+ $new_width,
+ $new_height,
+ isset($options['filter']) ? $options['filter'] : imagick::FILTER_LANCZOS,
+ isset($options['blur']) ? $options['blur'] : 1,
+ $new_width && $new_height // fit image into constraints if not to be cropped
+ );
+ if ($success && $crop) {
+ $success = $image->cropImage(
+ $max_width,
+ $max_height,
+ $x,
+ $y
+ );
+ if ($success) {
+ $success = $image->setImagePage($max_width, $max_height, 0, 0);
+ }
+ }
+ $type = strtolower(substr(strrchr($file_name, '.'), 1));
+ switch ($type) {
+ case 'jpg':
+ case 'jpeg':
+ if (!empty($options['jpeg_quality'])) {
+ $image->setImageCompression(Imagick::COMPRESSION_JPEG);
+ $image->setImageCompressionQuality($options['jpeg_quality']);
+ }
+ break;
+ }
+ if (!empty($options['strip'])) {
+ $image->stripImage();
+ }
+ return $success && $image->writeImage($new_file_path);
+ }
+
+ protected function imagemagick_create_scaled_image($file_name, $version, $options) {
+ list($file_path, $new_file_path) =
+ $this->get_scaled_image_file_paths($file_name, $version);
+ $resize = @$options['max_width']
+ .(empty($options['max_height']) ? '' : 'x'.$options['max_height']);
+ if (!$resize && empty($options['auto_orient'])) {
+ if ($file_path !== $new_file_path) {
+ return copy($file_path, $new_file_path);
+ }
+ return true;
+ }
+ $cmd = $this->options['convert_bin'];
+ if (!empty($this->options['convert_params'])) {
+ $cmd .= ' '.$this->options['convert_params'];
+ }
+ $cmd .= ' '.escapeshellarg($file_path);
+ if (!empty($options['auto_orient'])) {
+ $cmd .= ' -auto-orient';
+ }
+ if ($resize) {
+ // Handle animated GIFs:
+ $cmd .= ' -coalesce';
+ if (empty($options['crop'])) {
+ $cmd .= ' -resize '.escapeshellarg($resize.'>');
+ } else {
+ $cmd .= ' -resize '.escapeshellarg($resize.'^');
+ $cmd .= ' -gravity center';
+ $cmd .= ' -crop '.escapeshellarg($resize.'+0+0');
+ }
+ // Make sure the page dimensions are correct (fixes offsets of animated GIFs):
+ $cmd .= ' +repage';
+ }
+ if (!empty($options['convert_params'])) {
+ $cmd .= ' '.$options['convert_params'];
+ }
+ $cmd .= ' '.escapeshellarg($new_file_path);
+ exec($cmd, $output, $error);
+ if ($error) {
+ error_log(implode('\n', $output));
+ return false;
+ }
+ return true;
+ }
+
+ protected function get_image_size($file_path) {
+ if ($this->options['image_library']) {
+ if (extension_loaded('imagick')) {
+ $image = new Imagick();
+ try {
+ if (@$image->pingImage($file_path)) {
+ $dimensions = array($image->getImageWidth(), $image->getImageHeight());
+ $image->destroy();
+ return $dimensions;
+ }
+ return false;
+ } catch (Exception $e) {
+ error_log($e->getMessage());
+ }
+ }
+ if ($this->options['image_library'] === 2) {
+ $cmd = $this->options['identify_bin'];
+ $cmd .= ' -ping '.escapeshellarg($file_path);
+ exec($cmd, $output, $error);
+ if (!$error && !empty($output)) {
+ // image.jpg JPEG 1920x1080 1920x1080+0+0 8-bit sRGB 465KB 0.000u 0:00.000
+ $infos = preg_split('/\s+/', $output[0]);
+ $dimensions = preg_split('/x/', $infos[2]);
+ return $dimensions;
+ }
+ return false;
+ }
+ }
+ if (!function_exists('getimagesize')) {
+ error_log('Function not found: getimagesize');
+ return false;
+ }
+ return @getimagesize($file_path);
+ }
+
+ protected function create_scaled_image($file_name, $version, $options) {
+ if ($this->options['image_library'] === 2) {
+ return $this->imagemagick_create_scaled_image($file_name, $version, $options);
+ }
+ if ($this->options['image_library'] && extension_loaded('imagick')) {
+ return $this->imagick_create_scaled_image($file_name, $version, $options);
+ }
+ return $this->gd_create_scaled_image($file_name, $version, $options);
+ }
+
+ protected function destroy_image_object($file_path) {
+ if ($this->options['image_library'] && extension_loaded('imagick')) {
+ return $this->imagick_destroy_image_object($file_path);
+ }
+ }
+
+ protected function is_valid_image_file($file_path) {
+ if (!preg_match($this->options['image_file_types'], $file_path)) {
+ return false;
+ }
+ if (function_exists('exif_imagetype')) {
+ return @exif_imagetype($file_path);
+ }
+ $image_info = $this->get_image_size($file_path);
+ return $image_info && $image_info[0] && $image_info[1];
+ }
+
+ protected function handle_image_file($file_path, $file) {
+ $failed_versions = array();
+ foreach($this->options['image_versions'] as $version => $options) {
+ if ($this->create_scaled_image($file->name, $version, $options)) {
+ if (!empty($version)) {
+ $file->{$version.'Url'} = $this->get_download_url(
+ $file->name,
+ $version
+ );
+ } else {
+ $file->size = $this->get_file_size($file_path, true);
+ }
+ } else {
+ $failed_versions[] = $version ? $version : 'original';
+ }
+ }
+ if (count($failed_versions)) {
+ $file->error = $this->get_error_message('image_resize')
+ .' ('.implode($failed_versions,', ').')';
+ }
+ // Free memory:
+ $this->destroy_image_object($file_path);
+ }
+
+ protected function handle_file_upload($uploaded_file, $name, $size, $type, $error,
+ $index = null, $content_range = null) {
+ $file = new stdClass();
+ $file->name = $this->get_file_name($uploaded_file, $name, $size, $type, $error,
+ $index, $content_range);
+ $file->size = $this->fix_integer_overflow(intval($size));
+ $file->type = $type;
+ if ($this->validate($uploaded_file, $file, $error, $index)) {
+ $this->handle_form_data($file, $index);
+ $upload_dir = $this->get_upload_path();
+ if (!is_dir($upload_dir)) {
+ mkdir($upload_dir, $this->options['mkdir_mode'], true);
+ }
+ $file_path = $this->get_upload_path($file->name);
+ $append_file = $content_range && is_file($file_path) &&
+ $file->size > $this->get_file_size($file_path);
+ if ($uploaded_file && is_uploaded_file($uploaded_file)) {
+ // multipart/formdata uploads (POST method uploads)
+ if ($append_file) {
+ file_put_contents(
+ $file_path,
+ fopen($uploaded_file, 'r'),
+ FILE_APPEND
+ );
+ } else {
+ move_uploaded_file($uploaded_file, $file_path);
+ }
+ } else {
+ // Non-multipart uploads (PUT method support)
+ file_put_contents(
+ $file_path,
+ fopen('php://input', 'r'),
+ $append_file ? FILE_APPEND : 0
+ );
+ }
+ $file_size = $this->get_file_size($file_path, $append_file);
+ if ($file_size === $file->size) {
+ $file->url = $this->get_download_url($file->name);
+ if ($this->is_valid_image_file($file_path)) {
+ $this->handle_image_file($file_path, $file);
+ }
+ } else {
+ $file->size = $file_size;
+ if (!$content_range && $this->options['discard_aborted_uploads']) {
+ unlink($file_path);
+ $file->error = $this->get_error_message('abort');
+ }
+ }
+ $this->set_additional_file_properties($file);
+ }
+ return $file;
+ }
+
+ protected function readfile($file_path) {
+ $file_size = $this->get_file_size($file_path);
+ $chunk_size = $this->options['readfile_chunk_size'];
+ if ($chunk_size && $file_size > $chunk_size) {
+ $handle = fopen($file_path, 'rb');
+ while (!feof($handle)) {
+ echo fread($handle, $chunk_size);
+ ob_flush();
+ flush();
+ }
+ fclose($handle);
+ return $file_size;
+ }
+ return readfile($file_path);
+ }
+
+ protected function body($str) {
+ echo $str;
+ }
+
+ protected function header($str) {
+ header($str);
+ }
+
+ protected function get_server_var($id) {
+ return isset($_SERVER[$id]) ? $_SERVER[$id] : '';
+ }
+
+ protected function generate_response($content, $print_response = true) {
+ if ($print_response) {
+ $json = json_encode($content);
+ $redirect = isset($_REQUEST['redirect']) ?
+ stripslashes($_REQUEST['redirect']) : null;
+ if ($redirect) {
+ $this->header('Location: '.sprintf($redirect, rawurlencode($json)));
+ return;
+ }
+ $this->head();
+ if ($this->get_server_var('HTTP_CONTENT_RANGE')) {
+ $files = isset($content[$this->options['param_name']]) ?
+ $content[$this->options['param_name']] : null;
+ if ($files && is_array($files) && is_object($files[0]) && $files[0]->size) {
+ $this->header('Range: 0-'.(
+ $this->fix_integer_overflow(intval($files[0]->size)) - 1
+ ));
+ }
+ }
+ $this->body($json);
+ }
+ return $content;
+ }
+
+ protected function get_version_param() {
+ return isset($_GET['version']) ? basename(stripslashes($_GET['version'])) : null;
+ }
+
+ protected function get_singular_param_name() {
+ return substr($this->options['param_name'], 0, -1);
+ }
+
+ protected function get_file_name_param() {
+ $name = $this->get_singular_param_name();
+ return isset($_GET[$name]) ? basename(stripslashes($_GET[$name])) : null;
+ }
+
+ protected function get_file_names_params() {
+ $params = isset($_GET[$this->options['param_name']]) ?
+ $_GET[$this->options['param_name']] : array();
+ foreach ($params as $key => $value) {
+ $params[$key] = basename(stripslashes($value));
+ }
+ return $params;
+ }
+
+ protected function get_file_type($file_path) {
+ switch (strtolower(pathinfo($file_path, PATHINFO_EXTENSION))) {
+ case 'jpeg':
+ case 'jpg':
+ return 'image/jpeg';
+ case 'png':
+ return 'image/png';
+ case 'gif':
+ return 'image/gif';
+ default:
+ return '';
+ }
+ }
+
+ protected function download() {
+ switch ($this->options['download_via_php']) {
+ case 1:
+ $redirect_header = null;
+ break;
+ case 2:
+ $redirect_header = 'X-Sendfile';
+ break;
+ case 3:
+ $redirect_header = 'X-Accel-Redirect';
+ break;
+ default:
+ return $this->header('HTTP/1.1 403 Forbidden');
+ }
+ $file_name = $this->get_file_name_param();
+ if (!$this->is_valid_file_object($file_name)) {
+ return $this->header('HTTP/1.1 404 Not Found');
+ }
+ if ($redirect_header) {
+ return $this->header(
+ $redirect_header.': '.$this->get_download_url(
+ $file_name,
+ $this->get_version_param(),
+ true
+ )
+ );
+ }
+ $file_path = $this->get_upload_path($file_name, $this->get_version_param());
+ // Prevent browsers from MIME-sniffing the content-type:
+ $this->header('X-Content-Type-Options: nosniff');
+ if (!preg_match($this->options['inline_file_types'], $file_name)) {
+ $this->header('Content-Type: application/octet-stream');
+ $this->header('Content-Disposition: attachment; filename="'.$file_name.'"');
+ } else {
+ $this->header('Content-Type: '.$this->get_file_type($file_path));
+ $this->header('Content-Disposition: inline; filename="'.$file_name.'"');
+ }
+ $this->header('Content-Length: '.$this->get_file_size($file_path));
+ $this->header('Last-Modified: '.gmdate('D, d M Y H:i:s T', filemtime($file_path)));
+ $this->readfile($file_path);
+ }
+
+ protected function send_content_type_header() {
+ $this->header('Vary: Accept');
+ if (strpos($this->get_server_var('HTTP_ACCEPT'), 'application/json') !== false) {
+ $this->header('Content-type: application/json');
+ } else {
+ $this->header('Content-type: text/plain');
+ }
+ }
+
+ protected function send_access_control_headers() {
+ $this->header('Access-Control-Allow-Origin: '.$this->options['access_control_allow_origin']);
+ $this->header('Access-Control-Allow-Credentials: '
+ .($this->options['access_control_allow_credentials'] ? 'true' : 'false'));
+ $this->header('Access-Control-Allow-Methods: '
+ .implode(', ', $this->options['access_control_allow_methods']));
+ $this->header('Access-Control-Allow-Headers: '
+ .implode(', ', $this->options['access_control_allow_headers']));
+ }
+
+ public function head() {
+ $this->header('Pragma: no-cache');
+ $this->header('Cache-Control: no-store, no-cache, must-revalidate');
+ $this->header('Content-Disposition: inline; filename="files.json"');
+ // Prevent Internet Explorer from MIME-sniffing the content-type:
+ $this->header('X-Content-Type-Options: nosniff');
+ if ($this->options['access_control_allow_origin']) {
+ $this->send_access_control_headers();
+ }
+ $this->send_content_type_header();
+ }
+
+ public function get($print_response = true) {
+ if ($print_response && isset($_GET['download'])) {
+ return $this->download();
+ }
+ $file_name = $this->get_file_name_param();
+ if ($file_name) {
+ $response = array(
+ $this->get_singular_param_name() => $this->get_file_object($file_name)
+ );
+ } else {
+ $response = array(
+ $this->options['param_name'] => $this->get_file_objects()
+ );
+ }
+ return $this->generate_response($response, $print_response);
+ }
+
+ public function post($print_response = true) {
+ if (isset($_REQUEST['_method']) && $_REQUEST['_method'] === 'DELETE') {
+ return $this->delete($print_response);
+ }
+ $upload = isset($_FILES[$this->options['param_name']]) ?
+ $_FILES[$this->options['param_name']] : null;
+ // Parse the Content-Disposition header, if available:
+ $file_name = $this->get_server_var('HTTP_CONTENT_DISPOSITION') ?
+ rawurldecode(preg_replace(
+ '/(^[^"]+")|("$)/',
+ '',
+ $this->get_server_var('HTTP_CONTENT_DISPOSITION')
+ )) : null;
+ // Parse the Content-Range header, which has the following form:
+ // Content-Range: bytes 0-524287/2000000
+ $content_range = $this->get_server_var('HTTP_CONTENT_RANGE') ?
+ preg_split('/[^0-9]+/', $this->get_server_var('HTTP_CONTENT_RANGE')) : null;
+ $size = $content_range ? $content_range[3] : null;
+ $files = array();
+ if ($upload && is_array($upload['tmp_name'])) {
+ // param_name is an array identifier like "files[]",
+ // $_FILES is a multi-dimensional array:
+ foreach ($upload['tmp_name'] as $index => $value) {
+ $files[] = $this->handle_file_upload(
+ $upload['tmp_name'][$index],
+ $file_name ? $file_name : $upload['name'][$index],
+ $size ? $size : $upload['size'][$index],
+ $upload['type'][$index],
+ $upload['error'][$index],
+ $index,
+ $content_range
+ );
+ }
+ } else {
+ // param_name is a single object identifier like "file",
+ // $_FILES is a one-dimensional array:
+ $files[] = $this->handle_file_upload(
+ isset($upload['tmp_name']) ? $upload['tmp_name'] : null,
+ $file_name ? $file_name : (isset($upload['name']) ?
+ $upload['name'] : null),
+ $size ? $size : (isset($upload['size']) ?
+ $upload['size'] : $this->get_server_var('CONTENT_LENGTH')),
+ isset($upload['type']) ?
+ $upload['type'] : $this->get_server_var('CONTENT_TYPE'),
+ isset($upload['error']) ? $upload['error'] : null,
+ null,
+ $content_range
+ );
+ }
+ return $this->generate_response(
+ array($this->options['param_name'] => $files),
+ $print_response
+ );
+ }
+
+ public function delete($print_response = true) {
+ $file_names = $this->get_file_names_params();
+ if (empty($file_names)) {
+ $file_names = array($this->get_file_name_param());
+ }
+ $response = array();
+ foreach($file_names as $file_name) {
+ $file_path = $this->get_upload_path($file_name);
+ $success = is_file($file_path) && $file_name[0] !== '.' && unlink($file_path);
+ if ($success) {
+ foreach($this->options['image_versions'] as $version => $options) {
+ if (!empty($version)) {
+ $file = $this->get_upload_path($file_name, $version);
+ if (is_file($file)) {
+ unlink($file);
+ }
+ }
+ }
+ }
+ $response[$file_name] = $success;
+ }
+ return $this->generate_response($response, $print_response);
+ }
+
+}
diff --git a/library/jqupload/server/php/files/.gitignore b/library/jqupload/server/php/files/.gitignore
new file mode 100644
index 000000000..e24a60fae
--- /dev/null
+++ b/library/jqupload/server/php/files/.gitignore
@@ -0,0 +1,3 @@
+*
+!.gitignore
+!.htaccess
diff --git a/library/jqupload/server/php/files/.htaccess b/library/jqupload/server/php/files/.htaccess
new file mode 100644
index 000000000..56689f0bb
--- /dev/null
+++ b/library/jqupload/server/php/files/.htaccess
@@ -0,0 +1,18 @@
+# The following directives force the content-type application/octet-stream
+# and force browsers to display a download dialog for non-image files.
+# This prevents the execution of script files in the context of the website:
+ForceType application/octet-stream
+Header set Content-Disposition attachment
+<FilesMatch "(?i)\.(gif|jpe?g|png)$">
+ ForceType none
+ Header unset Content-Disposition
+</FilesMatch>
+
+# The following directive prevents browsers from MIME-sniffing the content-type.
+# This is an important complement to the ForceType directive above:
+Header set X-Content-Type-Options nosniff
+
+# Uncomment the following lines to prevent unauthorized download of files:
+#AuthName "Authorization required"
+#AuthType Basic
+#require valid-user
diff --git a/library/jqupload/server/php/index.php b/library/jqupload/server/php/index.php
new file mode 100644
index 000000000..be29bf479
--- /dev/null
+++ b/library/jqupload/server/php/index.php
@@ -0,0 +1,19 @@
+<?php
+/*
+ * jQuery File Upload Plugin PHP Example 5.14
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2010, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+// Don't allow files to be stored from the demo server
+
+exit;
+
+error_reporting(E_ALL | E_STRICT);
+require('UploadHandler.php');
+$upload_handler = new UploadHandler();
diff --git a/library/jqupload/test/index.html b/library/jqupload/test/index.html
new file mode 100644
index 000000000..e9c751b14
--- /dev/null
+++ b/library/jqupload/test/index.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML>
+<!--
+/*
+ * jQuery File Upload Plugin Test 9.0.0
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2010, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+-->
+<html lang="en">
+<head>
+<!-- Force latest IE rendering engine or ChromeFrame if installed -->
+<!--[if IE]>
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+<![endif]-->
+<meta charset="utf-8">
+<title>jQuery File Upload Plugin Test</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<link rel="stylesheet" href="http://codeorigin.jquery.com/qunit/qunit-1.12.0.css">
+</head>
+<body>
+<h1 id="qunit-header">jQuery File Upload Plugin Test</h1>
+<h2 id="qunit-banner"></h2>
+<div id="qunit-testrunner-toolbar"></div>
+<h2 id="qunit-userAgent"></h2>
+<ol id="qunit-tests"></ol>
+<div id="qunit-fixture">
+ <!-- The file upload form used as target for the file upload widget -->
+ <form id="fileupload" action="../server/php/" method="POST" enctype="multipart/form-data">
+ <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
+ <div class="row fileupload-buttonbar">
+ <div class="col-lg-7">
+ <!-- The fileinput-button span is used to style the file input field as button -->
+ <span class="btn btn-success fileinput-button">
+ <i class="icon-plus icon-white"></i>
+ <span>Add files...</span>
+ <input type="file" name="files[]" multiple>
+ </span>
+ <button type="submit" class="btn btn-primary start">
+ <i class="icon-upload icon-white"></i>
+ <span>Start upload</span>
+ </button>
+ <button type="reset" class="btn btn-warning cancel">
+ <i class="icon-ban-circle icon-white"></i>
+ <span>Cancel upload</span>
+ </button>
+ <button type="button" class="btn btn-danger delete">
+ <i class="icon-trash icon-white"></i>
+ <span>Delete</span>
+ </button>
+ <input type="checkbox" class="toggle">
+ <!-- The global file processing state -->
+ <span class="fileupload-process"></span>
+ </div>
+ <!-- The global progress state -->
+ <div class="col-lg-5 fileupload-progress">
+ <!-- The global progress bar -->
+ <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
+ <div class="progress-bar progress-bar-success" style="width:0%;"></div>
+ </div>
+ <!-- The extended global progress state -->
+ <div class="progress-extended">&nbsp;</div>
+ </div>
+ </div>
+ <!-- The table listing the files available for upload/download -->
+ <table role="presentation" class="table table-striped"><tbody class="files"></tbody></table>
+ </form>
+</div>
+<!-- The template to display files available for upload -->
+<script id="template-upload" type="text/x-tmpl">
+{% for (var i=0, file; file=o.files[i]; i++) { %}
+ <tr class="template-upload">
+ <td>
+ <span class="preview"></span>
+ </td>
+ <td>
+ <p class="name">{%=file.name%}</p>
+ <strong class="error text-danger"></strong>
+ </td>
+ <td>
+ <p class="size">Processing...</p>
+ <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="progress-bar progress-bar-success" style="width:0%;"></div></div>
+ </td>
+ <td>
+ {% if (!i && !o.options.autoUpload) { %}
+ <button class="btn btn-primary start" disabled>
+ <i class="glyphicon glyphicon-upload"></i>
+ <span>Start</span>
+ </button>
+ {% } %}
+ {% if (!i) { %}
+ <button class="btn btn-warning cancel">
+ <i class="glyphicon glyphicon-ban-circle"></i>
+ <span>Cancel</span>
+ </button>
+ {% } %}
+ </td>
+ </tr>
+{% } %}
+</script>
+<!-- The template to display files available for download -->
+<script id="template-download" type="text/x-tmpl">
+{% for (var i=0, file; file=o.files[i]; i++) { %}
+ <tr class="template-download">
+ <td>
+ <span class="preview">
+ {% if (file.thumbnailUrl) { %}
+ <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" data-gallery><img src="{%=file.thumbnailUrl%}"></a>
+ {% } %}
+ </span>
+ </td>
+ <td>
+ <p class="name">
+ {% if (file.url) { %}
+ <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=file.name%}</a>
+ {% } else { %}
+ <span>{%=file.name%}</span>
+ {% } %}
+ </p>
+ {% if (file.error) { %}
+ <div><span class="label label-danger">Error</span> {%=file.error%}</div>
+ {% } %}
+ </td>
+ <td>
+ <span class="size">{%=o.formatFileSize(file.size)%}</span>
+ </td>
+ <td>
+ {% if (file.deleteUrl) { %}
+ <button class="btn btn-danger delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
+ <i class="glyphicon glyphicon-trash"></i>
+ <span>Delete</span>
+ </button>
+ <input type="checkbox" name="delete" value="1" class="toggle">
+ {% } else { %}
+ <button class="btn btn-warning cancel">
+ <i class="glyphicon glyphicon-ban-circle"></i>
+ <span>Cancel</span>
+ </button>
+ {% } %}
+ </td>
+ </tr>
+{% } %}
+</script>
+<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
+<script src="../js/vendor/jquery.ui.widget.js"></script>
+<script src="http://blueimp.github.io/JavaScript-Templates/js/tmpl.min.js"></script>
+<script src="http://blueimp.github.io/JavaScript-Load-Image/js/load-image.min.js"></script>
+<script src="http://blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script>
+<script src="../js/jquery.iframe-transport.js"></script>
+<script src="../js/jquery.fileupload.js"></script>
+<script>window.testBasicWidget = $.blueimp.fileupload;</script>
+<script src="../js/jquery.fileupload-process.js"></script>
+<script src="../js/jquery.fileupload-image.js"></script>
+<script src="../js/jquery.fileupload-audio.js"></script>
+<script src="../js/jquery.fileupload-video.js"></script>
+<script src="../js/jquery.fileupload-validate.js"></script>
+<script src="../js/jquery.fileupload-ui.js"></script>
+<script>window.testUIWidget = $.blueimp.fileupload;</script>
+<script src="http://codeorigin.jquery.com/qunit/qunit-1.12.0.js"></script>
+<script src="test.js"></script>
+</body>
+</html>
diff --git a/library/jqupload/test/test.js b/library/jqupload/test/test.js
new file mode 100644
index 000000000..72d08d99e
--- /dev/null
+++ b/library/jqupload/test/test.js
@@ -0,0 +1,1288 @@
+/*
+ * jQuery File Upload Plugin Test 9.4.0
+ * https://github.com/blueimp/jQuery-File-Upload
+ *
+ * Copyright 2010, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/* global $, QUnit, window, document, expect, module, test, asyncTest, start, ok, strictEqual, notStrictEqual */
+
+$(function () {
+ // jshint nomen:false
+ 'use strict';
+
+ QUnit.done = function () {
+ // Delete all uploaded files:
+ var url = $('#fileupload').prop('action');
+ $.getJSON(url, function (result) {
+ $.each(result.files, function (index, file) {
+ $.ajax({
+ url: url + '?file=' + encodeURIComponent(file.name),
+ type: 'DELETE'
+ });
+ });
+ });
+ };
+
+ var lifecycle = {
+ setup: function () {
+ // Set the .fileupload method to the basic widget method:
+ $.widget('blueimp.fileupload', window.testBasicWidget, {});
+ },
+ teardown: function () {
+ // Remove all remaining event listeners:
+ $(document).unbind();
+ }
+ },
+ lifecycleUI = {
+ setup: function () {
+ // Set the .fileupload method to the UI widget method:
+ $.widget('blueimp.fileupload', window.testUIWidget, {});
+ },
+ teardown: function () {
+ // Remove all remaining event listeners:
+ $(document).unbind();
+ }
+ };
+
+ module('Initialization', lifecycle);
+
+ test('Widget initialization', function () {
+ var fu = $('#fileupload').fileupload();
+ ok(fu.data('blueimp-fileupload') || fu.data('fileupload'));
+ });
+
+ test('Data attribute options', function () {
+ $('#fileupload').attr('data-url', 'http://example.org');
+ $('#fileupload').fileupload();
+ strictEqual(
+ $('#fileupload').fileupload('option', 'url'),
+ 'http://example.org'
+ );
+ });
+
+ test('File input initialization', function () {
+ var fu = $('#fileupload').fileupload();
+ ok(
+ fu.fileupload('option', 'fileInput').length,
+ 'File input field inside of the widget'
+ );
+ ok(
+ fu.fileupload('option', 'fileInput').length,
+ 'Widget element as file input field'
+ );
+ });
+
+ test('Drop zone initialization', function () {
+ ok($('#fileupload').fileupload()
+ .fileupload('option', 'dropZone').length);
+ });
+
+ test('Paste zone initialization', function () {
+ ok($('#fileupload').fileupload()
+ .fileupload('option', 'pasteZone').length);
+ });
+
+ test('Event listeners initialization', function () {
+ expect(
+ $.support.xhrFormDataFileUpload ? 4 : 1
+ );
+ var eo = {
+ originalEvent: {
+ dataTransfer: {files: [{}], types: ['Files']},
+ clipboardData: {items: [{}]}
+ }
+ },
+ fu = $('#fileupload').fileupload({
+ dragover: function () {
+ ok(true, 'Triggers dragover callback');
+ return false;
+ },
+ drop: function () {
+ ok(true, 'Triggers drop callback');
+ return false;
+ },
+ paste: function () {
+ ok(true, 'Triggers paste callback');
+ return false;
+ },
+ change: function () {
+ ok(true, 'Triggers change callback');
+ return false;
+ }
+ }),
+ fileInput = fu.fileupload('option', 'fileInput'),
+ dropZone = fu.fileupload('option', 'dropZone'),
+ pasteZone = fu.fileupload('option', 'pasteZone');
+ fileInput.trigger($.Event('change', eo));
+ dropZone.trigger($.Event('dragover', eo));
+ dropZone.trigger($.Event('drop', eo));
+ pasteZone.trigger($.Event('paste', eo));
+ });
+
+ module('API', lifecycle);
+
+ test('destroy', function () {
+ expect(4);
+ var eo = {
+ originalEvent: {
+ dataTransfer: {files: [{}], types: ['Files']},
+ clipboardData: {items: [{}]}
+ }
+ },
+ options = {
+ dragover: function () {
+ ok(true, 'Triggers dragover callback');
+ return false;
+ },
+ drop: function () {
+ ok(true, 'Triggers drop callback');
+ return false;
+ },
+ paste: function () {
+ ok(true, 'Triggers paste callback');
+ return false;
+ },
+ change: function () {
+ ok(true, 'Triggers change callback');
+ return false;
+ }
+ },
+ fu = $('#fileupload').fileupload(options),
+ fileInput = fu.fileupload('option', 'fileInput'),
+ dropZone = fu.fileupload('option', 'dropZone'),
+ pasteZone = fu.fileupload('option', 'pasteZone');
+ dropZone.bind('dragover', options.dragover);
+ dropZone.bind('drop', options.drop);
+ pasteZone.bind('paste', options.paste);
+ fileInput.bind('change', options.change);
+ fu.fileupload('destroy');
+ fileInput.trigger($.Event('change', eo));
+ dropZone.trigger($.Event('dragover', eo));
+ dropZone.trigger($.Event('drop', eo));
+ pasteZone.trigger($.Event('paste', eo));
+ });
+
+ test('disable/enable', function () {
+ expect(
+ $.support.xhrFormDataFileUpload ? 4 : 1
+ );
+ var eo = {
+ originalEvent: {
+ dataTransfer: {files: [{}], types: ['Files']},
+ clipboardData: {items: [{}]}
+ }
+ },
+ fu = $('#fileupload').fileupload({
+ dragover: function () {
+ ok(true, 'Triggers dragover callback');
+ return false;
+ },
+ drop: function () {
+ ok(true, 'Triggers drop callback');
+ return false;
+ },
+ paste: function () {
+ ok(true, 'Triggers paste callback');
+ return false;
+ },
+ change: function () {
+ ok(true, 'Triggers change callback');
+ return false;
+ }
+ }),
+ fileInput = fu.fileupload('option', 'fileInput'),
+ dropZone = fu.fileupload('option', 'dropZone'),
+ pasteZone = fu.fileupload('option', 'pasteZone');
+ fu.fileupload('disable');
+ fileInput.trigger($.Event('change', eo));
+ dropZone.trigger($.Event('dragover', eo));
+ dropZone.trigger($.Event('drop', eo));
+ pasteZone.trigger($.Event('paste', eo));
+ fu.fileupload('enable');
+ fileInput.trigger($.Event('change', eo));
+ dropZone.trigger($.Event('dragover', eo));
+ dropZone.trigger($.Event('drop', eo));
+ pasteZone.trigger($.Event('paste', eo));
+ });
+
+ test('option', function () {
+ expect(
+ $.support.xhrFormDataFileUpload ? 10 : 7
+ );
+ var eo = {
+ originalEvent: {
+ dataTransfer: {files: [{}], types: ['Files']},
+ clipboardData: {items: [{}]}
+ }
+ },
+ fu = $('#fileupload').fileupload({
+ dragover: function () {
+ ok(true, 'Triggers dragover callback');
+ return false;
+ },
+ drop: function () {
+ ok(true, 'Triggers drop callback');
+ return false;
+ },
+ paste: function () {
+ ok(true, 'Triggers paste callback');
+ return false;
+ },
+ change: function () {
+ ok(true, 'Triggers change callback');
+ return false;
+ }
+ }),
+ fileInput = fu.fileupload('option', 'fileInput'),
+ dropZone = fu.fileupload('option', 'dropZone'),
+ pasteZone = fu.fileupload('option', 'pasteZone');
+ fu.fileupload('option', 'fileInput', null);
+ fu.fileupload('option', 'dropZone', null);
+ fu.fileupload('option', 'pasteZone', null);
+ fileInput.trigger($.Event('change', eo));
+ dropZone.trigger($.Event('dragover', eo));
+ dropZone.trigger($.Event('drop', eo));
+ pasteZone.trigger($.Event('paste', eo));
+ fu.fileupload('option', 'dropZone', 'body');
+ strictEqual(
+ fu.fileupload('option', 'dropZone')[0],
+ document.body,
+ 'Allow a query string as parameter for the dropZone option'
+ );
+ fu.fileupload('option', 'dropZone', document);
+ strictEqual(
+ fu.fileupload('option', 'dropZone')[0],
+ document,
+ 'Allow a document element as parameter for the dropZone option'
+ );
+ fu.fileupload('option', 'pasteZone', 'body');
+ strictEqual(
+ fu.fileupload('option', 'pasteZone')[0],
+ document.body,
+ 'Allow a query string as parameter for the pasteZone option'
+ );
+ fu.fileupload('option', 'pasteZone', document);
+ strictEqual(
+ fu.fileupload('option', 'pasteZone')[0],
+ document,
+ 'Allow a document element as parameter for the pasteZone option'
+ );
+ fu.fileupload('option', 'fileInput', ':file');
+ strictEqual(
+ fu.fileupload('option', 'fileInput')[0],
+ $(':file')[0],
+ 'Allow a query string as parameter for the fileInput option'
+ );
+ fu.fileupload('option', 'fileInput', $(':file')[0]);
+ strictEqual(
+ fu.fileupload('option', 'fileInput')[0],
+ $(':file')[0],
+ 'Allow a document element as parameter for the fileInput option'
+ );
+ fu.fileupload('option', 'fileInput', fileInput);
+ fu.fileupload('option', 'dropZone', dropZone);
+ fu.fileupload('option', 'pasteZone', pasteZone);
+ fileInput.trigger($.Event('change', eo));
+ dropZone.trigger($.Event('dragover', eo));
+ dropZone.trigger($.Event('drop', eo));
+ pasteZone.trigger($.Event('paste', eo));
+ });
+
+ asyncTest('add', function () {
+ expect(2);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ add: function (e, data) {
+ strictEqual(
+ data.files[0].name,
+ param.files[0].name,
+ 'Triggers add callback'
+ );
+ }
+ }).fileupload('add', param).fileupload(
+ 'option',
+ 'add',
+ function (e, data) {
+ data.submit().complete(function () {
+ ok(true, 'data.submit() Returns a jqXHR object');
+ start();
+ });
+ }
+ ).fileupload('add', param);
+ });
+
+ asyncTest('send', function () {
+ expect(3);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ send: function (e, data) {
+ strictEqual(
+ data.files[0].name,
+ 'test',
+ 'Triggers send callback'
+ );
+ }
+ }).fileupload('send', param).fail(function () {
+ ok(true, 'Allows to abort the request');
+ }).complete(function () {
+ ok(true, 'Returns a jqXHR object');
+ start();
+ }).abort();
+ });
+
+ module('Callbacks', lifecycle);
+
+ asyncTest('add', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ add: function () {
+ ok(true, 'Triggers add callback');
+ start();
+ }
+ }).fileupload('add', param);
+ });
+
+ asyncTest('submit', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ submit: function () {
+ ok(true, 'Triggers submit callback');
+ start();
+ return false;
+ }
+ }).fileupload('add', param);
+ });
+
+ asyncTest('send', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ send: function () {
+ ok(true, 'Triggers send callback');
+ start();
+ return false;
+ }
+ }).fileupload('send', param);
+ });
+
+ asyncTest('done', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ done: function () {
+ ok(true, 'Triggers done callback');
+ start();
+ }
+ }).fileupload('send', param);
+ });
+
+ asyncTest('fail', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]},
+ fu = $('#fileupload').fileupload({
+ url: '404',
+ fail: function () {
+ ok(true, 'Triggers fail callback');
+ start();
+ }
+ });
+ (fu.data('blueimp-fileupload') || fu.data('fileupload'))
+ ._isXHRUpload = function () {
+ return true;
+ };
+ fu.fileupload('send', param);
+ });
+
+ asyncTest('always', function () {
+ expect(2);
+ var param = {files: [{name: 'test'}]},
+ counter = 0,
+ fu = $('#fileupload').fileupload({
+ always: function () {
+ ok(true, 'Triggers always callback');
+ if (counter === 1) {
+ start();
+ } else {
+ counter += 1;
+ }
+ }
+ });
+ (fu.data('blueimp-fileupload') || fu.data('fileupload'))
+ ._isXHRUpload = function () {
+ return true;
+ };
+ fu.fileupload('add', param).fileupload(
+ 'option',
+ 'url',
+ '404'
+ ).fileupload('add', param);
+ });
+
+ asyncTest('progress', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]},
+ counter = 0;
+ $('#fileupload').fileupload({
+ forceIframeTransport: true,
+ progress: function () {
+ ok(true, 'Triggers progress callback');
+ if (counter === 0) {
+ start();
+ } else {
+ counter += 1;
+ }
+ }
+ }).fileupload('send', param);
+ });
+
+ asyncTest('progressall', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]},
+ counter = 0;
+ $('#fileupload').fileupload({
+ forceIframeTransport: true,
+ progressall: function () {
+ ok(true, 'Triggers progressall callback');
+ if (counter === 0) {
+ start();
+ } else {
+ counter += 1;
+ }
+ }
+ }).fileupload('send', param);
+ });
+
+ asyncTest('start', function () {
+ expect(1);
+ var param = {files: [{name: '1'}, {name: '2'}]},
+ active = 0;
+ $('#fileupload').fileupload({
+ send: function () {
+ active += 1;
+ },
+ start: function () {
+ ok(!active, 'Triggers start callback before uploads');
+ start();
+ }
+ }).fileupload('send', param);
+ });
+
+ asyncTest('stop', function () {
+ expect(1);
+ var param = {files: [{name: '1'}, {name: '2'}]},
+ active = 0;
+ $('#fileupload').fileupload({
+ send: function () {
+ active += 1;
+ },
+ always: function () {
+ active -= 1;
+ },
+ stop: function () {
+ ok(!active, 'Triggers stop callback after uploads');
+ start();
+ }
+ }).fileupload('send', param);
+ });
+
+ test('change', function () {
+ var fu = $('#fileupload').fileupload(),
+ fuo = fu.data('blueimp-fileupload') || fu.data('fileupload'),
+ fileInput = fu.fileupload('option', 'fileInput');
+ expect(2);
+ fu.fileupload({
+ change: function (e, data) {
+ ok(true, 'Triggers change callback');
+ strictEqual(
+ data.files.length,
+ 0,
+ 'Returns empty files list'
+ );
+ },
+ add: $.noop
+ });
+ fuo._onChange({
+ data: {fileupload: fuo},
+ target: fileInput[0]
+ });
+ });
+
+ test('paste', function () {
+ var fu = $('#fileupload').fileupload(),
+ fuo = fu.data('blueimp-fileupload') || fu.data('fileupload');
+ expect(1);
+ fu.fileupload({
+ paste: function () {
+ ok(true, 'Triggers paste callback');
+ },
+ add: $.noop
+ });
+ fuo._onPaste({
+ data: {fileupload: fuo},
+ originalEvent: {
+ dataTransfer: {files: [{}]},
+ clipboardData: {items: [{}]}
+ },
+ preventDefault: $.noop
+ });
+ });
+
+ test('drop', function () {
+ var fu = $('#fileupload').fileupload(),
+ fuo = fu.data('blueimp-fileupload') || fu.data('fileupload');
+ expect(1);
+ fu.fileupload({
+ drop: function () {
+ ok(true, 'Triggers drop callback');
+ },
+ add: $.noop
+ });
+ fuo._onDrop({
+ data: {fileupload: fuo},
+ originalEvent: {
+ dataTransfer: {files: [{}]},
+ clipboardData: {items: [{}]}
+ },
+ preventDefault: $.noop
+ });
+ });
+
+ test('dragover', function () {
+ var fu = $('#fileupload').fileupload(),
+ fuo = fu.data('blueimp-fileupload') || fu.data('fileupload');
+ expect(1);
+ fu.fileupload({
+ dragover: function () {
+ ok(true, 'Triggers dragover callback');
+ },
+ add: $.noop
+ });
+ fuo._onDragOver({
+ data: {fileupload: fuo},
+ originalEvent: {dataTransfer: {types: ['Files']}},
+ preventDefault: $.noop
+ });
+ });
+
+ module('Options', lifecycle);
+
+ test('paramName', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ paramName: null,
+ send: function (e, data) {
+ strictEqual(
+ data.paramName[0],
+ data.fileInput.prop('name'),
+ 'Takes paramName from file input field if not set'
+ );
+ return false;
+ }
+ }).fileupload('send', param);
+ });
+
+ test('url', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ url: null,
+ send: function (e, data) {
+ strictEqual(
+ data.url,
+ $(data.fileInput.prop('form')).prop('action'),
+ 'Takes url from form action if not set'
+ );
+ return false;
+ }
+ }).fileupload('send', param);
+ });
+
+ test('type', function () {
+ expect(2);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ type: null,
+ send: function (e, data) {
+ strictEqual(
+ data.type,
+ 'POST',
+ 'Request type is "POST" if not set to "PUT"'
+ );
+ return false;
+ }
+ }).fileupload('send', param);
+ $('#fileupload').fileupload({
+ type: 'PUT',
+ send: function (e, data) {
+ strictEqual(
+ data.type,
+ 'PUT',
+ 'Request type is "PUT" if set to "PUT"'
+ );
+ return false;
+ }
+ }).fileupload('send', param);
+ });
+
+ test('replaceFileInput', function () {
+ var fu = $('#fileupload').fileupload(),
+ fuo = fu.data('blueimp-fileupload') || fu.data('fileupload'),
+ fileInput = fu.fileupload('option', 'fileInput'),
+ fileInputElement = fileInput[0];
+ expect(2);
+ fu.fileupload({
+ replaceFileInput: false,
+ change: function () {
+ strictEqual(
+ fu.fileupload('option', 'fileInput')[0],
+ fileInputElement,
+ 'Keeps file input with replaceFileInput: false'
+ );
+ },
+ add: $.noop
+ });
+ fuo._onChange({
+ data: {fileupload: fuo},
+ target: fileInput[0]
+ });
+ fu.fileupload({
+ replaceFileInput: true,
+ change: function () {
+ notStrictEqual(
+ fu.fileupload('option', 'fileInput')[0],
+ fileInputElement,
+ 'Replaces file input with replaceFileInput: true'
+ );
+ },
+ add: $.noop
+ });
+ fuo._onChange({
+ data: {fileupload: fuo},
+ target: fileInput[0]
+ });
+ });
+
+ asyncTest('forceIframeTransport', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ forceIframeTransport: true,
+ done: function (e, data) {
+ strictEqual(
+ data.dataType.substr(0, 6),
+ 'iframe',
+ 'Iframe Transport is used'
+ );
+ start();
+ }
+ }).fileupload('send', param);
+ });
+
+ test('singleFileUploads', function () {
+ expect(3);
+ var fu = $('#fileupload').fileupload(),
+ param = {files: [{name: '1'}, {name: '2'}]},
+ index = 1;
+ (fu.data('blueimp-fileupload') || fu.data('fileupload'))
+ ._isXHRUpload = function () {
+ return true;
+ };
+ $('#fileupload').fileupload({
+ singleFileUploads: true,
+ add: function () {
+ ok(true, 'Triggers callback number ' + index.toString());
+ index += 1;
+ }
+ }).fileupload('add', param).fileupload(
+ 'option',
+ 'singleFileUploads',
+ false
+ ).fileupload('add', param);
+ });
+
+ test('limitMultiFileUploads', function () {
+ expect(3);
+ var fu = $('#fileupload').fileupload(),
+ param = {files: [
+ {name: '1'},
+ {name: '2'},
+ {name: '3'},
+ {name: '4'},
+ {name: '5'}
+ ]},
+ index = 1;
+ (fu.data('blueimp-fileupload') || fu.data('fileupload'))
+ ._isXHRUpload = function () {
+ return true;
+ };
+ $('#fileupload').fileupload({
+ singleFileUploads: false,
+ limitMultiFileUploads: 2,
+ add: function () {
+ ok(true, 'Triggers callback number ' + index.toString());
+ index += 1;
+ }
+ }).fileupload('add', param);
+ });
+
+ test('limitMultiFileUploadSize', function () {
+ expect(7);
+ var fu = $('#fileupload').fileupload(),
+ param = {files: [
+ {name: '1-1', size: 100000},
+ {name: '1-2', size: 40000},
+ {name: '2-1', size: 100000},
+ {name: '3-1', size: 50000},
+ {name: '3-2', size: 40000},
+ {name: '4-1', size: 45000} // New request due to limitMultiFileUploads
+ ]},
+ param2 = {files: [
+ {name: '5-1'},
+ {name: '5-2'},
+ {name: '6-1'},
+ {name: '6-2'},
+ {name: '7-1'}
+ ]},
+ index = 1;
+ (fu.data('blueimp-fileupload') || fu.data('fileupload'))
+ ._isXHRUpload = function () {
+ return true;
+ };
+ $('#fileupload').fileupload({
+ singleFileUploads: false,
+ limitMultiFileUploads: 2,
+ limitMultiFileUploadSize: 150000,
+ limitMultiFileUploadSizeOverhead: 5000,
+ add: function () {
+ ok(true, 'Triggers callback number ' + index.toString());
+ index += 1;
+ }
+ }).fileupload('add', param).fileupload('add', param2);
+ });
+
+ asyncTest('sequentialUploads', function () {
+ expect(6);
+ var param = {files: [
+ {name: '1'},
+ {name: '2'},
+ {name: '3'},
+ {name: '4'},
+ {name: '5'},
+ {name: '6'}
+ ]},
+ addIndex = 0,
+ sendIndex = 0,
+ loadIndex = 0,
+ fu = $('#fileupload').fileupload({
+ sequentialUploads: true,
+ add: function (e, data) {
+ addIndex += 1;
+ if (addIndex === 4) {
+ data.submit().abort();
+ } else {
+ data.submit();
+ }
+ },
+ send: function () {
+ sendIndex += 1;
+ },
+ done: function () {
+ loadIndex += 1;
+ strictEqual(sendIndex, loadIndex, 'upload in order');
+ },
+ fail: function (e, data) {
+ strictEqual(data.errorThrown, 'abort', 'upload aborted');
+ },
+ stop: function () {
+ start();
+ }
+ });
+ (fu.data('blueimp-fileupload') || fu.data('fileupload'))
+ ._isXHRUpload = function () {
+ return true;
+ };
+ fu.fileupload('add', param);
+ });
+
+ asyncTest('limitConcurrentUploads', function () {
+ expect(12);
+ var param = {files: [
+ {name: '1'},
+ {name: '2'},
+ {name: '3'},
+ {name: '4'},
+ {name: '5'},
+ {name: '6'},
+ {name: '7'},
+ {name: '8'},
+ {name: '9'},
+ {name: '10'},
+ {name: '11'},
+ {name: '12'}
+ ]},
+ addIndex = 0,
+ sendIndex = 0,
+ loadIndex = 0,
+ fu = $('#fileupload').fileupload({
+ limitConcurrentUploads: 3,
+ add: function (e, data) {
+ addIndex += 1;
+ if (addIndex === 4) {
+ data.submit().abort();
+ } else {
+ data.submit();
+ }
+ },
+ send: function () {
+ sendIndex += 1;
+ },
+ done: function () {
+ loadIndex += 1;
+ ok(sendIndex - loadIndex < 3);
+ },
+ fail: function (e, data) {
+ strictEqual(data.errorThrown, 'abort', 'upload aborted');
+ },
+ stop: function () {
+ start();
+ }
+ });
+ (fu.data('blueimp-fileupload') || fu.data('fileupload'))
+ ._isXHRUpload = function () {
+ return true;
+ };
+ fu.fileupload('add', param);
+ });
+
+ if ($.support.xhrFileUpload) {
+ asyncTest('multipart', function () {
+ expect(2);
+ var param = {files: [{
+ name: 'test.png',
+ size: 123,
+ type: 'image/png'
+ }]},
+ fu = $('#fileupload').fileupload({
+ multipart: false,
+ always: function (e, data) {
+ strictEqual(
+ data.contentType,
+ param.files[0].type,
+ 'non-multipart upload sets file type as contentType'
+ );
+ strictEqual(
+ data.headers['Content-Disposition'],
+ 'attachment; filename="' + param.files[0].name + '"',
+ 'non-multipart upload sets Content-Disposition header'
+ );
+ start();
+ }
+ });
+ fu.fileupload('send', param);
+ });
+ }
+
+ module('UI Initialization', lifecycleUI);
+
+ test('Widget initialization', function () {
+ var fu = $('#fileupload').fileupload();
+ ok(fu.data('blueimp-fileupload') || fu.data('fileupload'));
+ ok(
+ $('#fileupload').fileupload('option', 'uploadTemplate').length,
+ 'Initialized upload template'
+ );
+ ok(
+ $('#fileupload').fileupload('option', 'downloadTemplate').length,
+ 'Initialized download template'
+ );
+ });
+
+ test('Buttonbar event listeners', function () {
+ var buttonbar = $('#fileupload .fileupload-buttonbar'),
+ files = [{name: 'test'}];
+ expect(4);
+ $('#fileupload').fileupload({
+ send: function () {
+ ok(true, 'Started file upload via global start button');
+ },
+ fail: function (e, data) {
+ ok(true, 'Canceled file upload via global cancel button');
+ data.context.remove();
+ },
+ destroy: function () {
+ ok(true, 'Delete action called via global delete button');
+ }
+ });
+ $('#fileupload').fileupload('add', {files: files});
+ buttonbar.find('.cancel').click();
+ $('#fileupload').fileupload('add', {files: files});
+ buttonbar.find('.start').click();
+ buttonbar.find('.cancel').click();
+ files[0].deleteUrl = 'http://example.org/banana.jpg';
+ ($('#fileupload').data('blueimp-fileupload') ||
+ $('#fileupload').data('fileupload'))
+ ._renderDownload(files)
+ .appendTo($('#fileupload .files')).show()
+ .find('.toggle').click();
+ buttonbar.find('.delete').click();
+ });
+
+ module('UI API', lifecycleUI);
+
+ test('destroy', function () {
+ var buttonbar = $('#fileupload .fileupload-buttonbar'),
+ files = [{name: 'test'}];
+ expect(1);
+ $('#fileupload').fileupload({
+ send: function () {
+ ok(true, 'This test should not run');
+ return false;
+ }
+ })
+ .fileupload('add', {files: files})
+ .fileupload('destroy');
+ buttonbar.find('.start').click(function () {
+ ok(true, 'Clicked global start button');
+ return false;
+ }).click();
+ });
+
+ test('disable/enable', function () {
+ var buttonbar = $('#fileupload .fileupload-buttonbar');
+ $('#fileupload').fileupload();
+ $('#fileupload').fileupload('disable');
+ strictEqual(
+ buttonbar.find('input[type=file], button').not(':disabled').length,
+ 0,
+ 'Disables the buttonbar buttons'
+ );
+ $('#fileupload').fileupload('enable');
+ strictEqual(
+ buttonbar.find('input[type=file], button').not(':disabled').length,
+ 4,
+ 'Enables the buttonbar buttons'
+ );
+ });
+
+ module('UI Callbacks', lifecycleUI);
+
+ test('destroy', function () {
+ expect(3);
+ $('#fileupload').fileupload({
+ destroy: function (e, data) {
+ ok(true, 'Triggers destroy callback');
+ strictEqual(
+ data.url,
+ 'test',
+ 'Passes over deletion url parameter'
+ );
+ strictEqual(
+ data.type,
+ 'DELETE',
+ 'Passes over deletion request type parameter'
+ );
+ }
+ });
+ ($('#fileupload').data('blueimp-fileupload') ||
+ $('#fileupload').data('fileupload'))
+ ._renderDownload([{
+ name: 'test',
+ deleteUrl: 'test',
+ deleteType: 'DELETE'
+ }])
+ .appendTo($('#fileupload .files'))
+ .show()
+ .find('.toggle').click();
+ $('#fileupload .fileupload-buttonbar .delete').click();
+ });
+
+ asyncTest('added', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ added: function (e, data) {
+ start();
+ strictEqual(
+ data.files[0].name,
+ param.files[0].name,
+ 'Triggers added callback'
+ );
+ },
+ send: function () {
+ return false;
+ }
+ }).fileupload('add', param);
+ });
+
+ asyncTest('started', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ started: function () {
+ start();
+ ok('Triggers started callback');
+ return false;
+ },
+ sent: function () {
+ return false;
+ }
+ }).fileupload('send', param);
+ });
+
+ asyncTest('sent', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ sent: function (e, data) {
+ start();
+ strictEqual(
+ data.files[0].name,
+ param.files[0].name,
+ 'Triggers sent callback'
+ );
+ return false;
+ }
+ }).fileupload('send', param);
+ });
+
+ asyncTest('completed', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ completed: function () {
+ start();
+ ok('Triggers completed callback');
+ return false;
+ }
+ }).fileupload('send', param);
+ });
+
+ asyncTest('failed', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ failed: function () {
+ start();
+ ok('Triggers failed callback');
+ return false;
+ }
+ }).fileupload('send', param).abort();
+ });
+
+ asyncTest('stopped', function () {
+ expect(1);
+ var param = {files: [{name: 'test'}]};
+ $('#fileupload').fileupload({
+ stopped: function () {
+ start();
+ ok('Triggers stopped callback');
+ return false;
+ }
+ }).fileupload('send', param);
+ });
+
+ asyncTest('destroyed', function () {
+ expect(1);
+ $('#fileupload').fileupload({
+ dataType: 'html',
+ destroyed: function () {
+ start();
+ ok(true, 'Triggers destroyed callback');
+ }
+ });
+ ($('#fileupload').data('blueimp-fileupload') ||
+ $('#fileupload').data('fileupload'))
+ ._renderDownload([{
+ name: 'test',
+ deleteUrl: '.',
+ deleteType: 'GET'
+ }])
+ .appendTo($('#fileupload .files'))
+ .show()
+ .find('.toggle').click();
+ $('#fileupload .fileupload-buttonbar .delete').click();
+ });
+
+ module('UI Options', lifecycleUI);
+
+ test('autoUpload', function () {
+ expect(1);
+ $('#fileupload')
+ .fileupload({
+ autoUpload: true,
+ send: function () {
+ ok(true, 'Started file upload automatically');
+ return false;
+ }
+ })
+ .fileupload('add', {files: [{name: 'test'}]})
+ .fileupload('option', 'autoUpload', false)
+ .fileupload('add', {files: [{name: 'test'}]});
+ });
+
+ test('maxNumberOfFiles', function () {
+ expect(3);
+ var addIndex = 0,
+ sendIndex = 0;
+ $('#fileupload')
+ .fileupload({
+ autoUpload: true,
+ maxNumberOfFiles: 3,
+ singleFileUploads: false,
+ send: function () {
+ strictEqual(
+ sendIndex += 1,
+ addIndex
+ );
+ },
+ progress: $.noop,
+ progressall: $.noop,
+ done: $.noop,
+ stop: $.noop
+ })
+ .fileupload('add', {files: [{name: (addIndex += 1)}]})
+ .fileupload('add', {files: [{name: (addIndex += 1)}]})
+ .fileupload('add', {files: [{name: (addIndex += 1)}]})
+ .fileupload('add', {files: [{name: 'test'}]});
+ });
+
+ test('maxFileSize', function () {
+ expect(2);
+ var addIndex = 0,
+ sendIndex = 0;
+ $('#fileupload')
+ .fileupload({
+ autoUpload: true,
+ maxFileSize: 1000,
+ send: function () {
+ strictEqual(
+ sendIndex += 1,
+ addIndex
+ );
+ return false;
+ }
+ })
+ .fileupload('add', {files: [{
+ name: (addIndex += 1)
+ }]})
+ .fileupload('add', {files: [{
+ name: (addIndex += 1),
+ size: 999
+ }]})
+ .fileupload('add', {files: [{
+ name: 'test',
+ size: 1001
+ }]})
+ .fileupload({
+ send: function (e, data) {
+ ok(
+ !$.blueimp.fileupload.prototype.options
+ .send.call(this, e, data)
+ );
+ return false;
+ }
+ });
+ });
+
+ test('minFileSize', function () {
+ expect(2);
+ var addIndex = 0,
+ sendIndex = 0;
+ $('#fileupload')
+ .fileupload({
+ autoUpload: true,
+ minFileSize: 1000,
+ send: function () {
+ strictEqual(
+ sendIndex += 1,
+ addIndex
+ );
+ return false;
+ }
+ })
+ .fileupload('add', {files: [{
+ name: (addIndex += 1)
+ }]})
+ .fileupload('add', {files: [{
+ name: (addIndex += 1),
+ size: 1001
+ }]})
+ .fileupload('add', {files: [{
+ name: 'test',
+ size: 999
+ }]})
+ .fileupload({
+ send: function (e, data) {
+ ok(
+ !$.blueimp.fileupload.prototype.options
+ .send.call(this, e, data)
+ );
+ return false;
+ }
+ });
+ });
+
+ test('acceptFileTypes', function () {
+ expect(2);
+ var addIndex = 0,
+ sendIndex = 0;
+ $('#fileupload')
+ .fileupload({
+ autoUpload: true,
+ acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
+ disableImageMetaDataLoad: true,
+ send: function () {
+ strictEqual(
+ sendIndex += 1,
+ addIndex
+ );
+ return false;
+ }
+ })
+ .fileupload('add', {files: [{
+ name: (addIndex += 1) + '.jpg'
+ }]})
+ .fileupload('add', {files: [{
+ name: (addIndex += 1),
+ type: 'image/jpeg'
+ }]})
+ .fileupload('add', {files: [{
+ name: 'test.txt',
+ type: 'text/plain'
+ }]})
+ .fileupload({
+ send: function (e, data) {
+ ok(
+ !$.blueimp.fileupload.prototype.options
+ .send.call(this, e, data)
+ );
+ return false;
+ }
+ });
+ });
+
+ test('acceptFileTypes as HTML5 data attribute', function () {
+ expect(2);
+ var regExp = /(\.|\/)(gif|jpe?g|png)$/i;
+ $('#fileupload')
+ .attr('data-accept-file-types', regExp.toString())
+ .fileupload();
+ strictEqual(
+ $.type($('#fileupload').fileupload('option', 'acceptFileTypes')),
+ $.type(regExp)
+ );
+ strictEqual(
+ $('#fileupload').fileupload('option', 'acceptFileTypes').toString(),
+ regExp.toString()
+ );
+ });
+
+});
diff --git a/library/phpqrcode/CHANGELOG b/library/phpqrcode/CHANGELOG
new file mode 100644
index 000000000..1088530c3
--- /dev/null
+++ b/library/phpqrcode/CHANGELOG
@@ -0,0 +1,38 @@
+* 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
new file mode 100644
index 000000000..eac6b072b
--- /dev/null
+++ b/library/phpqrcode/INSTALL
@@ -0,0 +1,67 @@
+== 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
new file mode 100644
index 000000000..188330326
--- /dev/null
+++ b/library/phpqrcode/LICENSE
@@ -0,0 +1,165 @@
+ 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
new file mode 100644
index 000000000..a022fb5e7
--- /dev/null
+++ b/library/phpqrcode/README
@@ -0,0 +1,45 @@
+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
new file mode 100644
index 000000000..9f99279ea
--- /dev/null
+++ b/library/phpqrcode/VERSION
@@ -0,0 +1,2 @@
+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
new file mode 100644
index 000000000..7995460b5
--- /dev/null
+++ b/library/phpqrcode/bindings/tcpdf/qrcode.php
@@ -0,0 +1,2875 @@
+<?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
new file mode 100644
index 000000000..be28feac4
--- /dev/null
+++ b/library/phpqrcode/cache/frame_1.dat
@@ -0,0 +1,2 @@
+xÚÁ À E9³u`³"PÅ„CÛ牗T!0$
+E•É²Q™Ém½úhÛ¾9{kI"› 9Ln)Ap¤åÖ¾Ë>ß^‡Õz³mënÅ–;ü´mßn†ú¦Ë \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_1.png b/library/phpqrcode/cache/frame_1.png
new file mode 100644
index 000000000..86ce6e98d
--- /dev/null
+++ b/library/phpqrcode/cache/frame_1.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_10.dat b/library/phpqrcode/cache/frame_10.dat
new file mode 100644
index 000000000..aff163f68
--- /dev/null
+++ b/library/phpqrcode/cache/frame_10.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_10.png b/library/phpqrcode/cache/frame_10.png
new file mode 100644
index 000000000..dbfcd70b5
--- /dev/null
+++ b/library/phpqrcode/cache/frame_10.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_11.dat b/library/phpqrcode/cache/frame_11.dat
new file mode 100644
index 000000000..95af68a47
--- /dev/null
+++ b/library/phpqrcode/cache/frame_11.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_11.png b/library/phpqrcode/cache/frame_11.png
new file mode 100644
index 000000000..c07c761f1
--- /dev/null
+++ b/library/phpqrcode/cache/frame_11.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_12.dat b/library/phpqrcode/cache/frame_12.dat
new file mode 100644
index 000000000..73228b362
--- /dev/null
+++ b/library/phpqrcode/cache/frame_12.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_12.png b/library/phpqrcode/cache/frame_12.png
new file mode 100644
index 000000000..8ba67822c
--- /dev/null
+++ b/library/phpqrcode/cache/frame_12.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_13.dat b/library/phpqrcode/cache/frame_13.dat
new file mode 100644
index 000000000..2256f0e34
--- /dev/null
+++ b/library/phpqrcode/cache/frame_13.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_13.png b/library/phpqrcode/cache/frame_13.png
new file mode 100644
index 000000000..6e49d35a0
--- /dev/null
+++ b/library/phpqrcode/cache/frame_13.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_14.dat b/library/phpqrcode/cache/frame_14.dat
new file mode 100644
index 000000000..e9ae09329
--- /dev/null
+++ b/library/phpqrcode/cache/frame_14.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_14.png b/library/phpqrcode/cache/frame_14.png
new file mode 100644
index 000000000..efc36c034
--- /dev/null
+++ b/library/phpqrcode/cache/frame_14.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_15.dat b/library/phpqrcode/cache/frame_15.dat
new file mode 100644
index 000000000..18727818d
--- /dev/null
+++ b/library/phpqrcode/cache/frame_15.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_15.png b/library/phpqrcode/cache/frame_15.png
new file mode 100644
index 000000000..a9f416c7c
--- /dev/null
+++ b/library/phpqrcode/cache/frame_15.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_16.dat b/library/phpqrcode/cache/frame_16.dat
new file mode 100644
index 000000000..60af67845
--- /dev/null
+++ b/library/phpqrcode/cache/frame_16.dat
@@ -0,0 +1 @@
+xÚí™A„ E]sëIX´;¸Ün6€È`‚q”êêW6ñ奚`Œ%A/3!¢°‚¢Š!g–ÈÌ¡’1N) éE¢Ï|;®—>6â¸Þ97$ëÄôëc]kköwé1Öü[·m­CÍœcÊRºÄê¹>¦èµ¾šE,•hʼnp„#áxFyWÏÇVWGçòÕ3¼Õ+шþàË“úSŽâ}Äž#áG8b^c^cÏÀŽp„c&3YQ"ñŽ÷çÌvµù›…ñàÎþþ¼–¹kÞ9ŠÜ‡÷}”¹³ï×ú ¢Ä¿QäÿL—/ÝÔÀÏ \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_16.png b/library/phpqrcode/cache/frame_16.png
new file mode 100644
index 000000000..6ac8fe890
--- /dev/null
+++ b/library/phpqrcode/cache/frame_16.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_17.dat b/library/phpqrcode/cache/frame_17.dat
new file mode 100644
index 000000000..87f0cf593
--- /dev/null
+++ b/library/phpqrcode/cache/frame_17.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_17.png b/library/phpqrcode/cache/frame_17.png
new file mode 100644
index 000000000..5b929ac73
--- /dev/null
+++ b/library/phpqrcode/cache/frame_17.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_18.dat b/library/phpqrcode/cache/frame_18.dat
new file mode 100644
index 000000000..bb7138c1d
--- /dev/null
+++ b/library/phpqrcode/cache/frame_18.dat
@@ -0,0 +1,2 @@
+xÚí™A
+ƒ0E]çÖ…,2;sƒä&ÉÍšh¥ÛêO¡ôÝÈàã1&09OIv@DDÒ Ì&§Ù‰KXÈÕFv•<Ádqò9Ö<%h•¹ Yïs !(d¥²ës;~||b(ÏøYůg#µ`œK ±S¼Åô¹Ä¶˜ùsàidßLg:Ó™Îtþ/gmª™ƒkÅMâ3³{­4rTÈQýÿe¥·s·>ó<Ó™Ît¦3éÌ;ïH¼#Ñ™Ît¦3ÍYœ+og©hù¶óµÙ½¬lnðûF>Øi^»#awm;gè~pÛgìNs{6z’‘»ãºïÞäp¾Ê' \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_18.png b/library/phpqrcode/cache/frame_18.png
new file mode 100644
index 000000000..ee0d6a35e
--- /dev/null
+++ b/library/phpqrcode/cache/frame_18.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_19.dat b/library/phpqrcode/cache/frame_19.dat
new file mode 100644
index 000000000..95e26adc1
--- /dev/null
+++ b/library/phpqrcode/cache/frame_19.dat
@@ -0,0 +1,3 @@
+xÚíšA
+Ä E»öÖ.ÌNo 7Ñ›¶iiRÚN2‹áW%ðxÁ@ÚÚœê'­
+u6×êˆ.*S;}˜«ÒàÏT úèÌzrt¹ï%ç,ÒÅÚâÎ}ç;“âç)¹Ÿ˜âÝZÚîLåè¹÷¬Pçç$¯×÷ÏqËgœLÂôdJ‡;Üáw¸Ãý.]z#Ÿ¾«[ͽïOg‚­Æô"ÐË áBíî¦}Ç}‡;Üáw¸Ãî˜#1GbŽ„;Üáw¸Ãý_ÝC+w¢@Dfî÷ïç™uø2™ÅÚÉNþû9R7|pWßkïû®¿“ßßkºö¿ºú»¼ÎÓ \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_19.png b/library/phpqrcode/cache/frame_19.png
new file mode 100644
index 000000000..20fddd84c
--- /dev/null
+++ b/library/phpqrcode/cache/frame_19.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_2.dat b/library/phpqrcode/cache/frame_2.dat
new file mode 100644
index 000000000..7e42f31ca
--- /dev/null
+++ b/library/phpqrcode/cache/frame_2.dat
@@ -0,0 +1 @@
+xÚÍ’Í À F{vë&  à&°Y+?Z1öÐSŸ'y!¢ŸÌÁa815&£•Û´ŽÙHå£Ùžc³•l«ÏFÆè1º#é6 fÊÖü©§6Äø•O7ˆ¨†C¦«›ðÖžÏ8gI®ÏöfB¦ÃÄÿæ\DÔ»( \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_2.png b/library/phpqrcode/cache/frame_2.png
new file mode 100644
index 000000000..9c150ebe3
--- /dev/null
+++ b/library/phpqrcode/cache/frame_2.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_20.dat b/library/phpqrcode/cache/frame_20.dat
new file mode 100644
index 000000000..d5ecc1d8a
--- /dev/null
+++ b/library/phpqrcode/cache/frame_20.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_20.png b/library/phpqrcode/cache/frame_20.png
new file mode 100644
index 000000000..23a061d54
--- /dev/null
+++ b/library/phpqrcode/cache/frame_20.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_21.dat b/library/phpqrcode/cache/frame_21.dat
new file mode 100644
index 000000000..1974dd9d4
--- /dev/null
+++ b/library/phpqrcode/cache/frame_21.dat
@@ -0,0 +1 @@
+xÚíšA„ E]sëIX´;¹Ün6Up‚“в™ÿ]Ù˜þ< i-eWö‹¶˜)×äÅ•¼ÉÂ…H\jvqÙHL\6–šÝÐ…rI›¢LܹÜÕ%ÅÓ@´þ±V—vÆÂúý¤(ÏP4|ÎXnÒgÉß¼~]D¾ÉÕ×u1Us S\À°€,ÿÅ2Þ¢N§Ã?D›KºüF-:“eJ]p_À°€,˜a0Ã`†ÁÝ XÀ°`†Á ƒw,` X´]˜ˆ™‚¹‹˜°5 ‰®Y4{å±æñ2íûåvçJs†±Ûí9±˜í)õu±Û¹êÏØ,«]¸“‹Ù^_§7$ƒ_Í \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_21.png b/library/phpqrcode/cache/frame_21.png
new file mode 100644
index 000000000..291598c72
--- /dev/null
+++ b/library/phpqrcode/cache/frame_21.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_22.dat b/library/phpqrcode/cache/frame_22.dat
new file mode 100644
index 000000000..0f01802d2
--- /dev/null
+++ b/library/phpqrcode/cache/frame_22.dat
@@ -0,0 +1,3 @@
+xÚíšA
+„0 E]{ë.’]{{{³©Z¥BepÆÞwe@V›ERZ3»Á"*2o€4¦y‰)i#dÒbdFÒ…´ŒI"ú‘—4ž½W­IíuŠÓ45ßx«.Z­SÙ{ÁŸ¯8åËÿk={o.±qÊÙ£[œÍ:帒q»õƒy
+)t#á„N8ádCj-OOG}¼:/Ÿ:sz!Å)^<ùe½·S·uâ{ 'œp 'ú=ú=ú=¾'œp 'œp¢ß£ß£ßãN8á„Óÿ9©ªˆôpQQõ]HÔpz¾ØGœ^æ½Qº˜I|¾ß³u;9™ÎïÕëd;“X~$ËÙÑÉt¶ÊÛédy \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_22.png b/library/phpqrcode/cache/frame_22.png
new file mode 100644
index 000000000..bc97bd01b
--- /dev/null
+++ b/library/phpqrcode/cache/frame_22.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_23.dat b/library/phpqrcode/cache/frame_23.dat
new file mode 100644
index 000000000..ee3b37073
--- /dev/null
+++ b/library/phpqrcode/cache/frame_23.dat
@@ -0,0 +1,3 @@
+xÚíšA
+à E³öÖfo 7Ñ›U) %M!ΔÂûYu(<šð“sK²“Tœ›Ó
+É&§IÚ\i+¥Ðª™(m®´FQ¡¹¯h±æöüèv~n1„oÏ]sëçÖï¤_ÞŸÊ3`î_w2õȹ•lc[¼•;·Ûc֟ˤ’Nóª4Üpà 7ÜpÃímTÿ¸œ›‘ÝêrÞiñä_ƒç¿pS=7Þ7Üpà 7ÜpÃ>IŸ¤Oò-Á 7Üpà 7ú$}’>É·7Üpà ·tss‰Órs §åVÍÎÜÆ÷’mýï¡Ò¹ò‡Þñ}R~7ôà&¾÷º?7ùÞýÔ¦Iïbhâ{æ»<ÀMi- \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_23.png b/library/phpqrcode/cache/frame_23.png
new file mode 100644
index 000000000..b8f16ae23
--- /dev/null
+++ b/library/phpqrcode/cache/frame_23.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_24.dat b/library/phpqrcode/cache/frame_24.dat
new file mode 100644
index 000000000..7b92e29c4
--- /dev/null
+++ b/library/phpqrcode/cache/frame_24.dat
@@ -0,0 +1 @@
+xÚí›Aƒ E»öÖMX0;¸ÜnVP4ÚHSS»xßU3±/O´ý LiJ4ž±Vâ JCŠ%ý‰6VR&ÃÞD‘BœHjDù‚JÏ??™¯êBl­cDZñ½§'óU­ëXïUïÞ0æÃywÍį÷j¬é똳€3Å›¾ë˜cj†ù£{¨¥½:GqÄGÿÝñøŸûÚ°N†v;¹¶ç¬“J ‡ÄÐ<û‡É]ŽêëÈóˆ#Ž8âˆ#Ž8âH'§“ÓÉùÍÁGqÄGéätr:9Ï#Ž8âˆ#Ž8âØ“h­ˆ¯NÔt”Œ´Ö_ÝØ>t¹eëìS­¯¦æžù^\g¯õÎQe?ùvuöÌoïÕ;ˆï>ìˆ*ïwlò×mÑ \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_24.png b/library/phpqrcode/cache/frame_24.png
new file mode 100644
index 000000000..397c64f85
--- /dev/null
+++ b/library/phpqrcode/cache/frame_24.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_25.dat b/library/phpqrcode/cache/frame_25.dat
new file mode 100644
index 000000000..ba125182e
--- /dev/null
+++ b/library/phpqrcode/cache/frame_25.dat
@@ -0,0 +1,3 @@
+xÚíÛA
+à …á¬së‚‹™]rƒx½Y51mMÈBG
+ÿ¸*Sx|Ua5Ƶ‚Z—Š„-,Ž1ä²HÑPÒRj–šX5§®i†©’áG©>W¥ŽžRïöÕ/Ëâ+uT廯å Ïӯ嗴ªuæÏ¥Ú[Sía£[kví÷5•+5n§Á´JêÜ%+V¬X±bÅŠõ߬u'Á±þÔû SRýå÷štzZ»ì+÷+V¬X±bÅŠ•ÙŸÙŸÙŸûŠ+V¬X±bÅÊìÏìÏìÏ}ÅŠ+V¬X±ö±ª¤¥ÖVI©¢ÖÖ‘+k«qÿ[úËtŽ·oVZÍþvoNV³wÇ}µ{³r<ýR­Þ"RÍÞ]ê W«r} \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_25.png b/library/phpqrcode/cache/frame_25.png
new file mode 100644
index 000000000..25bc4454a
--- /dev/null
+++ b/library/phpqrcode/cache/frame_25.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_26.dat b/library/phpqrcode/cache/frame_26.dat
new file mode 100644
index 000000000..d34a73f15
--- /dev/null
+++ b/library/phpqrcode/cache/frame_26.dat
@@ -0,0 +1,2 @@
+xÚí›A
+à E³öÖ…,t§7ˆ7Ñ›U E)i7ï»*~cÃüÅÄXÖEBÆè°FC–˜³6¡:&çL,å¬Mv.ŽÂÎæKgŸÕ¸ãYMç>ŸÎí>ûmÛš·?ª•vô¹¾mg?ßÒ±Îþ³æηªd˜“Cµ¹U¦ÏIk•ÚÚE\ÕÙMs†f˜a†f˜a>œ[sÓˆ9쬩ެ8bö<kÕÙ7œ}ç†k³™§õ™ÿ3Ì0à 3Ì0à 3Ìä*r¹Š\Å7 f˜a†f˜a†fr¹Š\Å7 f˜a†f˜a†YÆÙÎ æd›4ƒ9kíÆÌÔÝyûX y‰gŒØÙ)›«dwnÌ¢ûU×>Ëî”]ßöLgÉÝÁ›³è¾äEo‚ w1 \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_26.png b/library/phpqrcode/cache/frame_26.png
new file mode 100644
index 000000000..f4a6b3938
--- /dev/null
+++ b/library/phpqrcode/cache/frame_26.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_27.dat b/library/phpqrcode/cache/frame_27.dat
new file mode 100644
index 000000000..b4d9ffd4f
--- /dev/null
+++ b/library/phpqrcode/cache/frame_27.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_27.png b/library/phpqrcode/cache/frame_27.png
new file mode 100644
index 000000000..8419ec230
--- /dev/null
+++ b/library/phpqrcode/cache/frame_27.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_28.dat b/library/phpqrcode/cache/frame_28.dat
new file mode 100644
index 000000000..8cbaa1961
--- /dev/null
+++ b/library/phpqrcode/cache/frame_28.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_28.png b/library/phpqrcode/cache/frame_28.png
new file mode 100644
index 000000000..7609d8e1f
--- /dev/null
+++ b/library/phpqrcode/cache/frame_28.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_29.dat b/library/phpqrcode/cache/frame_29.dat
new file mode 100644
index 000000000..5e4a71103
--- /dev/null
+++ b/library/phpqrcode/cache/frame_29.dat
@@ -0,0 +1,2 @@
+xÚíÜAƒ …a×Þº ‹™Ü@n7+*¶šÖÚ4‘!Í?®Jšðò ³”抮«]ª—ÉSŸâTf)–ÙsŠIÂ"…È”bžÝ0…Š|•"LuÙ¸î,Ž×EÇ1\6®*ÏuQÞ?¼>aÌÏ…ãþñŽÄRõ-r­“÷n.ïꯋ\®T¿ü:Ó*)|)°À ,°À ,þÑâêóåéx_ã¬}:^R„ƒUoÉ¢‰uÁ~ÁÞ‰X`XÐÐÐа_`X`XÐÐа_`X`XÐÐÐаwbX`¿¥PUõö)DÔÞ"cÈ{‹zçÎõ3ê›é<}¸ó¡^?b÷mÿÎÂìžƒíº°»óaûŽ´’Âê.]
+³{Q6uáT,9 \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_29.png b/library/phpqrcode/cache/frame_29.png
new file mode 100644
index 000000000..ffe072c86
--- /dev/null
+++ b/library/phpqrcode/cache/frame_29.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_3.dat b/library/phpqrcode/cache/frame_3.dat
new file mode 100644
index 000000000..188d531c2
--- /dev/null
+++ b/library/phpqrcode/cache/frame_3.dat
@@ -0,0 +1 @@
+xÚí“Á À E{vë&  à&°Y+¢b¤öÐkŸ'yù‘¤¿ÌÁa :äÀTXlÞ¶$W+Óvû®îœ¢9}gRæ¬@H0YPB½ÆÃEmÚÚ?ûœÍ±ísœÖ"bµìt2cnÖé†É:½ﺭë;¿Y§“ÃzÿQã«7¿Ô \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_3.png b/library/phpqrcode/cache/frame_3.png
new file mode 100644
index 000000000..945ee7cb9
--- /dev/null
+++ b/library/phpqrcode/cache/frame_3.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_30.dat b/library/phpqrcode/cache/frame_30.dat
new file mode 100644
index 000000000..44cf3d317
--- /dev/null
+++ b/library/phpqrcode/cache/frame_30.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_30.png b/library/phpqrcode/cache/frame_30.png
new file mode 100644
index 000000000..75dbddd24
--- /dev/null
+++ b/library/phpqrcode/cache/frame_30.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_31.dat b/library/phpqrcode/cache/frame_31.dat
new file mode 100644
index 000000000..ce429d0a6
--- /dev/null
+++ b/library/phpqrcode/cache/frame_31.dat
@@ -0,0 +1 @@
+xÚíÜAƒ …a×Þº ØÉ à&r³‚ Á´¸ªÎ4ù§«†´yù‚Ä·!¥mV3Iµv­!ÒœÖ2¢i\NSSä4EF2+65Å¥‰e¾þÃ/Wœs]šñ¾‰!„Á?ÿpÅõû¦=S~ùüÄ?Ëý+þx¦Ö6r6yö³Ùƹ}“Ç´™ë×eR1-W•l°Ál°Á›ûÒŒÞXŸz/>Væ«·ù§:ñÒÒÄAš8üý-+mTíÎÎbl°Ál°ÁlèštMº&]“³l°Ál°Áº&]“®I×ä¼Ál°Ál°Áº&]“®Éyƒ 6Ø`ƒ 6Ø`ƒÍÝi¬uy´ØXWòè±Éi¬²\t†ýz•—Š>•.î”z¾kÊß t²¿7©ß7òwJõÏ”¶4Òw‘ÒˆßÓÖÍ85‰ \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_31.png b/library/phpqrcode/cache/frame_31.png
new file mode 100644
index 000000000..b14d1fa26
--- /dev/null
+++ b/library/phpqrcode/cache/frame_31.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_32.dat b/library/phpqrcode/cache/frame_32.dat
new file mode 100644
index 000000000..aaa0808e2
--- /dev/null
+++ b/library/phpqrcode/cache/frame_32.dat
@@ -0,0 +1,2 @@
+xÚíÜÁ
+„ …áÖ¾õ€‹ë.ß ßDßl¬, ¦šMz‰ÿ6›†Ã‡ gcJËD;ô'.®A’IqžÞ‰ÄI,Ir¢Y¨»‘ËFk%‰DþOæy|EDªD×û(LÓ_YÊ>*ßš?aÊOƒ¿k±L_£<[c—ñ¶ï>Êc˘õuÔLIäÕ%Â#Œ0Â#Œ0Â#ŒÞotÑ¢šõµ}ÅÜ4Ífv_)‰ÂE¢pú¬h5R·88³1Â#Œ0Â#Œ0¢ÓÒié´tZÎ#Œ0Â#Œ0Â#Œ0¢ÓÒié´tZÎ#Œ0Â#Œ0Â#Œ0¢ÓÒié´tZÎlŒ0Â#Œ0£÷9q"¢ÉHÜœH™Qþµï"ÛÕ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
new file mode 100644
index 000000000..58d42db3c
--- /dev/null
+++ b/library/phpqrcode/cache/frame_32.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_33.dat b/library/phpqrcode/cache/frame_33.dat
new file mode 100644
index 000000000..a2613755a
--- /dev/null
+++ b/library/phpqrcode/cache/frame_33.dat
@@ -0,0 +1,14 @@
+xÚíÜAƒ …a×Þº‰‹™Ü@n7+*L++Ó柮óò‰ÌbbÜ*LCï‘°‡‰c k™H¥rš”j•²J5Yíi~0•_«òŒû×TÊTõ}å—e©>ýö5‘b_åwÐÍŸ?¿¤ßìæ§ÖÜù†\ý­RaÆi+7õßW©¦\ãþwLUNåL¦Â
++¬°Â
++¬°Âêÿ­jßÒO·ŸkcëÞñôç\Ë©|%•o<á‹k–­Lî+Î+Îv¬°Â
++¬°Â
++¬°ÂŠ>}ú ô8¯°Â
++¬°Â
++¬°Â
++ú ôè3Ðgà¼Â
++¬°Â
++¬°Â
++¬è3Ðg Ï@Ÿó
++¬°Â
++¬°Â
++¬°:R‰¨ªX³ÚB‰9«”IÔ=çkÞ±o/Swçؘ™Ù¯Ï`g¶áÅÊÌÈr_Ù™™Y¾ƒVSY™ÅzIefnmQoz >á \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_33.png b/library/phpqrcode/cache/frame_33.png
new file mode 100644
index 000000000..924c728e0
--- /dev/null
+++ b/library/phpqrcode/cache/frame_33.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_34.dat b/library/phpqrcode/cache/frame_34.dat
new file mode 100644
index 000000000..7ceb0259d
--- /dev/null
+++ b/library/phpqrcode/cache/frame_34.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_34.png b/library/phpqrcode/cache/frame_34.png
new file mode 100644
index 000000000..a477042d8
--- /dev/null
+++ b/library/phpqrcode/cache/frame_34.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_35.dat b/library/phpqrcode/cache/frame_35.dat
new file mode 100644
index 000000000..56bc3e28e
--- /dev/null
+++ b/library/phpqrcode/cache/frame_35.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_35.png b/library/phpqrcode/cache/frame_35.png
new file mode 100644
index 000000000..d29806c60
--- /dev/null
+++ b/library/phpqrcode/cache/frame_35.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_36.dat b/library/phpqrcode/cache/frame_36.dat
new file mode 100644
index 000000000..282c60d23
--- /dev/null
+++ b/library/phpqrcode/cache/frame_36.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_36.png b/library/phpqrcode/cache/frame_36.png
new file mode 100644
index 000000000..96ecb4213
--- /dev/null
+++ b/library/phpqrcode/cache/frame_36.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_37.dat b/library/phpqrcode/cache/frame_37.dat
new file mode 100644
index 000000000..015c0f24b
--- /dev/null
+++ b/library/phpqrcode/cache/frame_37.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_37.png b/library/phpqrcode/cache/frame_37.png
new file mode 100644
index 000000000..fcc51627d
--- /dev/null
+++ b/library/phpqrcode/cache/frame_37.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_38.dat b/library/phpqrcode/cache/frame_38.dat
new file mode 100644
index 000000000..71cf53eb5
--- /dev/null
+++ b/library/phpqrcode/cache/frame_38.dat
@@ -0,0 +1 @@
+xÚíÝAªƒ0ÐŽÝuÁA2«;ÐèÎkü(üg¾Ày•tp9Äï$Ëò™¹Dœ”ò¼\ºe^'tÒ-aIºŠFMšSškÂðIóŤÓ:7®¤|LúkŸNã8N7®œöi}ö‡×Ÿi,Ÿ[W†¿g®Ó´Ì°ë?3ô1÷i™¾N·}}=ÂOM:4“”)S¦L™2eÊ”)S¦L#$½ÿ ôÂJã­þÂJM:}ý]˜•ÖL›Ù§ÎSÿQL™2eÊ”)S¦L™2Õ¡èPt(:Šó”)S¦L™2eÊ”)S¦:ŠE‡¢Cqž2eÊ”)S¦L™2eÊ”©E‡¢CÑ¡8O™2eÊ”)S¦L™2eÊT‡¢CÑ¡èPœ§L™2eÊ”)S¦L™2Ý“¦”sJCIKÖÔ‚iÍ93ônº_Ñò ÿ¾¿ü¼“+R‡û®£“ièû£Žû4ö\Çg¿¥¤‘ïŽ;% }ßaÞnŽ£ \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_38.png b/library/phpqrcode/cache/frame_38.png
new file mode 100644
index 000000000..89238f3c5
--- /dev/null
+++ b/library/phpqrcode/cache/frame_38.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_39.dat b/library/phpqrcode/cache/frame_39.dat
new file mode 100644
index 000000000..53511f736
--- /dev/null
+++ b/library/phpqrcode/cache/frame_39.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_39.png b/library/phpqrcode/cache/frame_39.png
new file mode 100644
index 000000000..1dc9cd1bc
--- /dev/null
+++ b/library/phpqrcode/cache/frame_39.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_4.dat b/library/phpqrcode/cache/frame_4.dat
new file mode 100644
index 000000000..67b30e82a
--- /dev/null
+++ b/library/phpqrcode/cache/frame_4.dat
@@ -0,0 +1 @@
+xÚí”Á À E=»uÐ pجQ•ØCOMŸ'ÃË$ ³@à¨Ø3e–F©\FNXRyÉؾC{‰a8­Ræ Ńa2@ñ圉qküßÉH1ê(£ˆÅ`cç¦j³~Ë0ö¥¿ÃܨÖËÃعnXÿGåÿÄ€ \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_4.png b/library/phpqrcode/cache/frame_4.png
new file mode 100644
index 000000000..b72f9e70d
--- /dev/null
+++ b/library/phpqrcode/cache/frame_4.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_40.dat b/library/phpqrcode/cache/frame_40.dat
new file mode 100644
index 000000000..90d36dd13
--- /dev/null
+++ b/library/phpqrcode/cache/frame_40.dat
@@ -0,0 +1,2 @@
+xÚíÝAŠƒ@Ь½õ€‹îÞ@o¢7“˜`“Qfeºä•«PA>¦ÀÚô<?jjo5WNiz›yºWý‰ó´&]ß…C?“IœrþWâñ^;ï8·—
+ãýs<ðûöS{Å9^gEß}>ã°<]ßÕÐëß³bZ«nã¥^A›öQ}[÷9^ª]«yþìnajM܇K̘1cÆŒ3f̘1ã¸Æ{ßW5}ç½{ÍÑ7lMßÒïÞšxÜI<¼áK½¨Æáαyl3f̘1cÆŒ3f̘1ã«Û»Ù»={·“αyl3f̘1cÆŒ3f̘1ã«Û»Ù»={·“αyl3f̘1cÆŒ3f̘1ã«Û»Ù»={·“αyl3f̘1cÆŒ3f̘1ã«Û»Ù»={·“αyl3f̘1cÆŒ3f̘ñ÷çœSÊ‘ŒÓ’7¥HÆKÞ¼g\ç¾âuõßÏ_ÿªr'4Ü[çÞ-Æ]›…qˆûL·ç8ƱÛY1q„»‹Ä!î—ÞÔ/(%û \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_40.png b/library/phpqrcode/cache/frame_40.png
new file mode 100644
index 000000000..8034d862d
--- /dev/null
+++ b/library/phpqrcode/cache/frame_40.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_5.dat b/library/phpqrcode/cache/frame_5.dat
new file mode 100644
index 000000000..d5dafe186
--- /dev/null
+++ b/library/phpqrcode/cache/frame_5.dat
@@ -0,0 +1 @@
+xÚí”1À E½u 7ЛÀÍZµ‡|N†—üD B0@R$l,-™>VKZ[<ýØÚz—qÆŽ¨ØYJ&ƒiåš‚‹ZyË:Y'ë¯YµÁVÿ&—e•RÄ"§sj©Ýrþö+Ëé‰ù.·MÆŽ»–Ó9ÓòzµsŽ”É, \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_5.png b/library/phpqrcode/cache/frame_5.png
new file mode 100644
index 000000000..96b6494f3
--- /dev/null
+++ b/library/phpqrcode/cache/frame_5.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_6.dat b/library/phpqrcode/cache/frame_6.dat
new file mode 100644
index 000000000..0fc3d039e
--- /dev/null
+++ b/library/phpqrcode/cache/frame_6.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_6.png b/library/phpqrcode/cache/frame_6.png
new file mode 100644
index 000000000..05ca358b0
--- /dev/null
+++ b/library/phpqrcode/cache/frame_6.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_7.dat b/library/phpqrcode/cache/frame_7.dat
new file mode 100644
index 000000000..43375960f
--- /dev/null
+++ b/library/phpqrcode/cache/frame_7.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_7.png b/library/phpqrcode/cache/frame_7.png
new file mode 100644
index 000000000..7d2ff4f3e
--- /dev/null
+++ b/library/phpqrcode/cache/frame_7.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_8.dat b/library/phpqrcode/cache/frame_8.dat
new file mode 100644
index 000000000..669b325f3
--- /dev/null
+++ b/library/phpqrcode/cache/frame_8.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_8.png b/library/phpqrcode/cache/frame_8.png
new file mode 100644
index 000000000..db1f1877a
--- /dev/null
+++ b/library/phpqrcode/cache/frame_8.png
Binary files differ
diff --git a/library/phpqrcode/cache/frame_9.dat b/library/phpqrcode/cache/frame_9.dat
new file mode 100644
index 000000000..d79295ee0
--- /dev/null
+++ b/library/phpqrcode/cache/frame_9.dat
Binary files differ
diff --git a/library/phpqrcode/cache/frame_9.png b/library/phpqrcode/cache/frame_9.png
new file mode 100644
index 000000000..74ddf08da
--- /dev/null
+++ b/library/phpqrcode/cache/frame_9.png
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
new file mode 100644
index 000000000..51deabaef
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_101_0.dat
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
new file mode 100644
index 000000000..97e9e5dff
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_105_0.dat
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
new file mode 100644
index 000000000..eadf83a2c
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_109_0.dat
@@ -0,0 +1,2 @@
+xÚíÚ=
+€0 н§iï9'Åb‡$ ¾tËýáÚû^#iª¥Ëi?³ÅôÛbúK[AUØFå¾ÆµÄ³x]mŸ]2Ž-Ä–KŽ~ ÏVw}¶X›ûÆÆÆÆÆÆÆ&O²É“Þ666666yRž”'½%lllll/´åhœl…Ãîm ¹¤êádël™¶´3Ù+ïÛ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
new file mode 100644
index 000000000..5eb7f5de2
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_113_0.dat
@@ -0,0 +1,2 @@
+xÚíÚ;
+…0Ð>«Iö¿9+Eñƒ‚sá=ϤL1Ì„[¤÷¹FáZU‹4‡?i<ÿç;7çòç;‡ÆP¥Œ#ýW-[ñݯ6÷µddddddüc",;í"¼Ÿskæ‘‘‘‘‘‘‘‘Q&—Éerw######£L.¯Êäæ‘‘‘‘‘‘‘±Ð˜y¼1†^˲\òîÆØ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
new file mode 100644
index 000000000..781c7f875
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_117_0.dat
@@ -0,0 +1,2 @@
+xÚíÚA
+„0 Ð}OÓÞÿr³R,#3öñ¥Ë,âÃþ¢½o5ŸCµØÐq:õõÖ;;¬wvN­ÁJZGÅ=Œm»û}Úö ѱ¬¬¬¬¬¬¬¬µ¦2âÞi‹RïïkÆj_YYYYYYYYeÙ_ö·¯¬¬¬¬¬¬¬¬²¿ì/ûÛWVVVVVVÖkîáýd-úϺ,#¦ßÀOÖÎZc]|‡{ž¾Áúˆ­$™ \ 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
new file mode 100644
index 000000000..68810c347
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_121_0.dat
@@ -0,0 +1 @@
+xÚíÛ1„ ОÓÀý/·•w YMüSø Ä8>2SÐûÖF O­EÓÈÌÓc«W\ûÛ¼š‹{c§æpK›GÕžB·ÐšþímûŽxhfffffffæ/s2ÛÇÚ2W|*÷d®1ÛÏÌÌÌÌÌÌÌÌÌê*5³ºÊÆÌÌÌÌÌÌÌ̬®RW©«œaÌÌÌÌÌÌÌÌsöòËÁ\xm~8ß®¸ƒr0wæjsdm÷ªýü&óâ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
new file mode 100644
index 000000000..2c73ef1a8
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_125_0.dat
@@ -0,0 +1,2 @@
+xÚíÛA
+€ н§Ñû_®•‘TH`3AO—L4ü kí£ÍÃ(áÍÛewö›GWÖÙ××.í #ÃÞ2¿û¡} \ëçYú»¤´gggggggggg_d>Ïïµòj^™ÕØsíö;;;;;;;;;;»'ÇÉqö;;;;;;;;;»'Ë°ËqþuììììììììµÇ_Pì‰Íçö—ÏóYwÄ{eÿš=dÍ×ÌýþGû/ý“¸ \ 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
new file mode 100644
index 000000000..812ee8a66
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_129_0.dat
@@ -0,0 +1,2 @@
+xÚíÛ1
+Å ÀÞÓèý/—*Ÿ„DøEØ'ÉhgõtÙ-ì}_£pV‹· \"Ìb=sþ—ÁÌå™ó[ƒÐJŒô=8DhÅoàºÛž' 0XÐ ÑüÎÛ´©è‘¬e 0`À€ ˜ôÊ Ì j" 0`ÀÀ¼ Wf`^P0`À€æ½2ó‚šÈ€ ¼Ò óÉôd07(ì“<OÁŠåo¡§ëÁ— 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
new file mode 100644
index 000000000..03b41d36d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_133_0.dat
@@ -0,0 +1,2 @@
+xÚíÛ1
+€0 н§Iï9§Š¢ÚTyí–)<4äh§N¾‡SÒš¨·]°èZŒ­?¶[¿µH<™u…ïâÐFIø7®·´žRÛ`Á‚ ,X°ø±EÖÞ¹×Ë´]»Wg±¦…yÁ‚ ,X°`!ØÁYÈ#æ ,X°`Á‚…<"È#æ ,X°`Á‚…<bg!˜,X°`Á‚‹WyÉO 4Ñ·˜¸wf¿á>Y‹/XLÿGb…yÁ"ê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
new file mode 100644
index 000000000..f6d993b03
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_137_0.dat
@@ -0,0 +1 @@
+xÚíÜ1„ ОÓÀý/·•+FÉZ?®JšÉ Læ7Ôº¬ØÝ*ÑBÚa%L~šŒË»òä”ÉØéÊ“C“ðJ›´YîIWJ ½™ý.K]ñR˜0a„ “›$ç“ïINTwÎlLža¢Ÿè±L˜0a„ &Ld@PÔO˜0a„ &L˜0‘e@P?a„ &L˜0aÂD”e@ý„ &L˜0aÂäÏM²ŸIlL&)dl˜ígøÃacR™<É$ö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
new file mode 100644
index 000000000..8c685c8ea
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_141_0.dat
@@ -0,0 +1,2 @@
+xÚíÜ=
+€0 н§iï9'EÑúÖDx͘%<lð[Zë|ZP­N ¦NÃæ‘MÌ7;·múfovmœ 6-Ów³§Þ¥}•y¶ã°aÆ 6lØ°ný_¼tÊeÒivØüËƾ±‹Ù°aÆ 6lØÈšòYÓ.fÆ 6lØ°a#kÊSldMû† 6lØ°aÆ YSÖ”5í6lØ°aÆ 6ƒmâœÙØ$æÜ& 3dyãecSÙüÙ&ìNÕLû†Í¾&ëîº< \ 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
new file mode 100644
index 000000000..9c9c1ae19
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_145_0.dat
@@ -0,0 +1,2 @@
+xÚíÜ;
+…0Ð>«Iö¿9+EñÇ{ˆõ$åm†ƒ^˜&µŽ§u¼³S"µÍDŒþ6ÚŸ]9ùÉè8ìU“M£“bÔÒ¾£Y¤Òù[ß2拉Ĉ#FŒ1bĈ£Ï%ôµiRNšæ½–ѳì#;›#FŒ1bĈ‘N«¯1Òií#FŒ1bĈ#FŒtZ}‘Nk1bĈ#FŒ1b¤ÓêkŒtZ;›#FŒ1bÄèõFV-ŒÂuè"IoD-Œ*£7uû×jÚ>b´MV“+ \ 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
new file mode 100644
index 000000000..d25835029
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_149_0.dat
@@ -0,0 +1,3 @@
+xÚíÜA
+€ н§Ñû_®MEQXP৞.Ý|94³°ÖeµÁ{³JL¨všŠÕ#«^Ü÷Ïn[õ ß?;µ
+ZIV-ñ»ÚÄ*wï¸Ë’1*+V¬X±bÅŠ«ßX¥ü·¯g¥ÛwŒèqX}ÇJ½RÛY±bÅŠ+V¬X±beΠwfeΠ^±bÅŠ+V¬X±bÅÊœAïÌÊœA½bÅŠ+V¬X±bÅŠ•9ƒÞÙœÁœA½bÅŠ+V¬X±bÅŠÕl•ó0ÞÎ*0Tßj`?˜öÝΪ²ú¢Õð;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
new file mode 100644
index 000000000..fc79e9ede
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_153_0.dat
@@ -0,0 +1 @@
+xÚíÜ1€ ÐÓÀý/礑h¢&F¾ú`ìÒ¼@I;Pë¼ZÀ^­•XÛÍŒÙmfÏÆ.™=Û5 [if-õœ­R+!wr»Ëœg\j̘1cÆŒ3f̘1cf–Ôo.±2¬?Š1ûž™zæ `ÆŒ3f̘1cÆŒ™¹†™¹†zÆŒ3f̘1cÆŒ3fæztfæê3f̘1cÆŒ3f̘™k˜k03×ð0cÆŒ3f̘1cö³¬Ï9;³ÐÄŽÍö›‰`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
new file mode 100644
index 000000000..ad749f305
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_157_0.dat
@@ -0,0 +1,2 @@
+xÚíÜA
+€ н§Ñû_®•QRù©§»Y ùkí«…ìÍ*q͵ÓîØ=j7§~ÙnNýÔ.p%Úµäs·i¯ÝÕã.½×ÈöرcÇŽ;vìر{Ù.-W¬õ2={êì¾mgÞy+رcÇŽ;vìØɳ2;yÖ¼cÇŽ;vìرcÇNž•ÉØɳæ;vìرcÇŽ;v2™<ËNžõV°cÇŽ;vìر“ge2vò¬yÇŽ;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
new file mode 100644
index 000000000..4bdc5fdd3
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_161_0.dat
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
new file mode 100644
index 000000000..3a17a0510
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_165_0.dat
@@ -0,0 +1,2 @@
+xÚíÝ;
+€0À>§Iî9+ÅàDyÁIÊ4Ë ÷5Ö:¯¶W«ÄÙv«dù¢åqñߜܴ<þæd×2x%[¶žËU™%ðÝÞî2×]&K–,Y²dÉ’%Ë¡,S¿Õ—“r2ydÌ=,ÿk©_º{X²dÉ’%K–,Y²d)Û0³”mè—,Y²dÉ’%K–,Y²d)Û0³”mè—,Y²dÉ’%K–,Y²”m˜Çe,eú%K–,Y²dÉ’%K–,eæq–² ýÒÝÃ’%K–,Y²dÉ’å…eî:ËŠ<³Œš!Óÿ¡ÐYV–,ßñ:B¿dù|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
new file mode 100644
index 000000000..c4787d9db
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_169_0.dat
@@ -0,0 +1,2 @@
+xÚíÝ1
+€0À>¯Iþÿ9EQÑ=˜¤Ls æä¶IïË{³Zt¡ã´R¦™þ}òÀôï“SÓð•n:ª|§›R[è?î¶Ô_*S¦L™2eÊ”)S¦L™™&ϦëI šê¯O˜2ÕOý£˜2eÊ”)S¦L™2e*C1ïËP˜ÊPôS¦L™2eÊ”)S¦L™ÊPÌû2¦2ý”)S¦L™2eÊ”)S¦Le(æ}¦2ý”)S¦L™2eÊ”)S¦Le(æ}¦2ý”)S¦L™2eÊ”)S¦³iöc7;Ó"…Þ™FͦÞÙ™v¦L Üý^¥Ÿ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
new file mode 100644
index 000000000..5ef85e7ad
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_173_0.dat
@@ -0,0 +1 @@
+xÚíÝ1ƒ0ÀÞ¯±ÿÿ¹T ¥ˆ¬[4véæ2ŠØƽok݇ÕÊ;¦Ó²]fûôÖžýdûä½ölj°lGÒÿö0n+œß»m³GŒË–-[¶lÙ²eû"Ûêï·ûY»}o¯öíÀ–íÕVÞÊ[¶lÙ²eË–-[¶lÙ²e«ÓÕ°ÕƒÉ[Ï2¶lÙ²eË–-[¶lÙ²e«ÓÕ°ÕƒÉ[Ï2¶lÙ²eË–-[¶lÙ²e«ÓÕ°ÕƒÉ[¶lÙ²eË–-[¶lÙ²eËV¦«a«“·lÙ²eË–-[¶lÙ²ef[ÿB°“mа÷¶Eû„”;¶N¶-ÛœT¸/r’·lÿ¿?ØÔ*Ñ \ 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
new file mode 100644
index 000000000..78a26a77b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_177_0.dat
@@ -0,0 +1,2 @@
+xÚíÝ1
+…0Ð>§Iî9+?Š²Øèß—”iÖ‡ dšÌ¹¯ÕxÖˆxÝNÌø/ÆÕ§|{öظ²ÿöìÖ8d¥¯´ÿø0òhž×=öùcFf̘1cÆŒ3f̘q¼qÂ=ïw6Ê;l·»4cÆ•±<–ÇŒ3f̘1cÆŒ3fÌXï¦Ò»1Ö»ÉcÆŒ3f̘1cÆŒ3fÌXï¦b¬w“ÇŒ3f̘1cÆŒ3f̘±ÞM'ÄXï&å1cÆŒ3f̘1cÆŒ3Ö»é„ônŒõnò˜1cÆŒ3f̘1cÆŒÃ3U<‡ \7í+’Þ(<OÆŒŸ·ÎŠ™–ÇŒßÛÕä4@ \ 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
new file mode 100644
index 000000000..368c9941f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_21_0.dat
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
new file mode 100644
index 000000000..e4a5b6d8a
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_25_0.dat
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
new file mode 100644
index 000000000..74a216b4f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_29_0.dat
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
new file mode 100644
index 000000000..2ec712a7a
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_33_0.dat
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
new file mode 100644
index 000000000..1588cfce1
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_37_0.dat
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
new file mode 100644
index 000000000..e369027e3
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_41_0.dat
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
new file mode 100644
index 000000000..452f126c8
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_45_0.dat
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
new file mode 100644
index 000000000..fdd2aac15
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_49_0.dat
@@ -0,0 +1,2 @@
+xÚíÕKÀ EÑ9«ýo®#?H/›6g$Ï-ª­,X]
+˜›xݘ;Àð·˜ XÔ°ì9ºˆ<ÜѺ¤åq¤Œ2 Af÷îHð7ø/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
new file mode 100644
index 000000000..572d279ef
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_53_0.dat
@@ -0,0 +1,2 @@
+xÚíÖK
+@!й«Ñýo®QÑϺ:(m&ܯžs-¹¬®É6õÑZ{¥m4Y†²Xâù®.FÀÙ­‹ê¦XZi·Ðùj=:έ֋bå¿‘VH 8 –#¤[—ù²¾‹ãYвç¾^XÔ÷e \ 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
new file mode 100644
index 000000000..ea81e6dc6
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_57_0.dat
@@ -0,0 +1,4 @@
+xÚíÖA
+À À{^“üÿs=YLÕš (
+ou¨– j) ¬ª
+Z7y„ÙëÍñv,Ô´ìwVQ ži»¤ìGiÒ¤¹ÅDfÂÛ•ÉÄwo4ùѤ¹ÐÄoÎLÿÌéLȼÁœ©·›Á³Õì}î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
new file mode 100644
index 000000000..93d2444d8
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_61_0.dat
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
new file mode 100644
index 000000000..df29d7bfb
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_65_0.dat
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
new file mode 100644
index 000000000..8a2cfbd7c
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_69_0.dat
@@ -0,0 +1 @@
+xÚí×KÀ Ð=§û_®+­mÏBìà’d|Q"s+1®®È"¯),ß=“EÛàa TÄ"çÒÅãnæE-3 ,°ÀKY‹wÝ=ZšZïT Þ.,°À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
new file mode 100644
index 000000000..3de460662
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_73_0.dat
@@ -0,0 +1 @@
+xÚíØ1À …áÓÀý/×ÉFSM(´Æ7†—/JTmeÓ•¤‚lš´É×s™|½©)YY“UÝS%Á7{i¹é(L˜0moÊ짻'¯÷ãªw‚‰Ç„ {œ=ÎŒ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
new file mode 100644
index 000000000..2717fd86b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_77_0.dat
@@ -0,0 +1,2 @@
+xÚíØA€ DÑ}OÓÞÿr®0  ÎBÃ/;b†Hp/‹­*K‡E7íG¶þã/_l}ïxˆ‹MP
+[(ç­Š³ÄZÞ›•lI6lض´eÏ·³×Oû˜ìÝÍÆ^À† 6î,î,ö6lØ&lù³Æ& ÛÏ^ÕWcó}m©5uåÿöEÛ;â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
new file mode 100644
index 000000000..2d9a052fc
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_81_0.dat
@@ -0,0 +1,2 @@
+xÚíØ1€ …ὧiï9'•Bß ñ‡áñE¤Mpo#
+³& ŒaâÙ6ãõ)cæ~Úèb •1Ôß±‹´âߧµ|Y$FŒ1Nõq_·´.¯Ôð¿¹31bĈ‘~M¿æÎ`Ĉco{B£807úŒòôdtŒ’³võÿøfãßØÜþ \ 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
new file mode 100644
index 000000000..eb8197b20
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_85_0.dat
@@ -0,0 +1,2 @@
+xÚíØ1
+À …á=§Iî¹NE‘Z_†À· ¯m E÷Vqyº2Yh,S‹[ÏúŸ­gý¥UXJkd¼×.Öß~>Öž!ÅŠ+V¬å¬ª½õöí÷.Ýõ±2¯X±bÅŠ•ÿ¬Ì+V¬X±–²ê.ökBèÞz±·ÔwðƒÕ±¦Ì€gÌkë¡YZý \ 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
new file mode 100644
index 000000000..aaa4c5267
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_89_0.dat
@@ -0,0 +1 @@
+xÚíÙ1€ …ὧiï9'Œˆ€Ñ×ýËHl?Lšà^"ë&M—™?bî—qÃÜ?˸äÉ,µ9²þó!µ‰z¢]VêÈScÆŒ3æ_š•÷à¾cÓé!î`nÍô3f̘1cÆÌŒ„™ 3f̘1/fÖ>.Uæ¤ÄcóË»;ã ¨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
new file mode 100644
index 000000000..e218fa0ef
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_93_0.dat
@@ -0,0 +1,3 @@
+xÚíÙK
+À EÑyV÷¿¹Ž,ÚO¬mÞ rãPHŽ0 {’´š°ôäå2ûbö¨ìýÞc{t¦Qáƒ]
+{QÞ{“Þ{弬֒¤ÇŽ;vìØ_Ú³ßÕ}ÏÂ÷ýËL€}l§ß±cÇŽ;vì̑̑̑رcÇŽû¢öüÐÎ.LÛæÕegwì3ö´žqe¿ÿѾ@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
new file mode 100644
index 000000000..74ac719d0
--- /dev/null
+++ b/library/phpqrcode/cache/mask_0/mask_97_0.dat
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
new file mode 100644
index 000000000..ec939b521
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_101_1.dat
@@ -0,0 +1,2 @@
+xÚíÖ1
+À н§‰÷¿\Q÷ªEóþ¢d  1¢¦ÌNô<±#½ËÕ–¯Õ-7u™þ.ÃÓl²Ô¦eiXXXXXRZVíÊVeIo1û,,,,,v%‹?ŒÙgaaaa±÷YÌ 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
new file mode 100644
index 000000000..e1f5c99b4
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_105_1.dat
@@ -0,0 +1 @@
+xÚíÖ1€ ÐÝÓ”û_Î¥‡b€÷ KóB¬?"Ó*#WÌʘt€éÍùíügÓŽ“JîéqUM9¸•‡‰‰‰‰©ÔTùêçLLv“¾Ç¤ïÙLLLLLLz“¾gG01111šòy„iåÑߘ–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
new file mode 100644
index 000000000..7e0d6d164
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_109_1.dat
@@ -0,0 +1 @@
+xÚíÖ± À À>Ó˜ý—Kƒ€°•À}“ˆÆ:!£èiY‰™'*3§]fÛsþÛÉÓÒîm¹ºb[ÞJÂÆÆÆÆÆƶŖÝKÆ9›}ccccccÓ'u.6ûÆÆÆÆÆÆƦs±é“Þ6666¶R[ÿ^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
new file mode 100644
index 000000000..1dd666d9b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_113_1.dat
@@ -0,0 +1 @@
+xÚíÖ1€ ÀÞ×ÿÿœ -8fL(pBŽlDM™è9";ýÄ-÷ò÷;?1îpâÐ{¼\åÆú%-ŒŒŒŒŒŒ“3:@Ûad4ŒŒŒŒŒŒŒŒú*£NîÍaddddddÔÉÍ#######ã#c]75®ÓåÚã¢Æåæ1ÏxYuñ \ 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
new file mode 100644
index 000000000..8921f6437
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_117_1.dat
@@ -0,0 +1,2 @@
+xÚíÖ» À À>Ó˜ý—Kƒ€ø$ø^’ 8Y–QSV'zž8‘þjzëÌʇ¬™^]Þסµ‡¬õ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
new file mode 100644
index 000000000..64bd8ba04
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_121_1.dat
@@ -0,0 +1,2 @@
+xÚí×1
+À н§‰÷¿\— ¥C¡PbÑ—EÁÁ<DñGdµŠŠQG̪±3óèð©û×k?3ï¸sÉ9_Žz¢9iåÅÌÌÌÌÌÌÌ|3WþÃú3³ûÌÌÌÌÌÌÌÌÌ,WÉÌr•7Œ™™™™™™™™YÆ`–«¼aÌÌÌÌÌÌÌÌ›sd^ü¿Ý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
new file mode 100644
index 000000000..d5881dd5d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_125_1.dat
@@ -0,0 +1,2 @@
+xÚí×1
+À н§‰÷¿\— :ŠòþÒ‚ƒ>$’DdÆ©ÄÊ•Y»³ÿŸtëÚ…öλ»÷ÏÕÛó0£$ìììììììììì›ì§ûù¹ÆήÞÙÙÙÙÙÙÙÙÙÙõóììêÝg–a7ÇyëØÙÙÙÙÙÙÙ¯³ç—½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
new file mode 100644
index 000000000..62cd1c9a1
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_129_1.dat
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
new file mode 100644
index 000000000..18d68dce8
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_133_1.dat
@@ -0,0 +1 @@
+xÚí×1€ ÐÝÓ”û_Î…€“ºh«¼¿h˜šÒ|"zÚÛ‰™-*dNÁâÔâÙó¦H¼‡«QÄ¢ÕR ,X°`ñc‹¬Þ9ÎY°(na_°`Á‚ ,Xè,XØ,X°`Á‚ Þ#:8 ﻓ ,X°`ÁBïdÁ¾`Á‚ ,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
new file mode 100644
index 000000000..284d7beab
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_137_1.dat
@@ -0,0 +1,3 @@
+xÚí×1
+€0 ÐÝÓ¤÷¿œKh]D¥‘¾,-t ò#²ÚŒŠQ[T©Ñ “K“s§7_Š›è¤È?9|•B&ÙX›^L˜0a„ÉÂ&3÷“þ„ÉMÌ&L˜0a„ &2 ¼ÃD4c™0a„ &L˜È€òÐŒe„ &L˜0ab·—w˜È€f,&L˜0a„É7&y2¹a²ònßoL˜<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
new file mode 100644
index 000000000..83220ddb4
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_141_1.dat
@@ -0,0 +1,2 @@
+xÚí×1
+À À>¯9ÿÿ¹4¢6)ƒ3×$`s ²¸uÊ®‰>Wdš¾ ›)›g³•'°±MÂ{3\d6u¹’bØ°aÆ 6lؼn³û]ÜNØ°9ÄFÞ°aÆ 6lØ°a£3°a#oØ°aÆ 6lØ°ÑØ°Ñ5e16lØ°aÆ ]SŸb£kÊ6lØ°aÆ ›mê—ͤÍß;CûcÃf‘¼IdsG¹ÿ \ 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
new file mode 100644
index 000000000..6a9950f7a
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_145_1.dat
@@ -0,0 +1 @@
+xÚíÜ!€0@Ïk®ÿÿ¦¡ 4a)³qæ2i.YCUO{35²UZÆFŒn]ÏfN>bd£ðwtzJF}ÁFŒ1bĈ#FŒýÆ(¡¯FŒ6r1bĈ#FŒ1ÒE1ÒiÝlFŒ1bĈ#FŒtFŒÜ#FŒ1bĈ#FŒtZ}#÷ˆ#FŒ1bĈÑl£þeôÀHÉùG£µÜ£@£Ù’î \ 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
new file mode 100644
index 000000000..02a3cdc6e
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_149_1.dat
@@ -0,0 +1 @@
+xÚíØ1€ ÐÝÓ”û_Î…ˆƒqÁHÞ_Xšòc‰èi«#Gd̘ŠÕ”Õ›á÷g…¬LUè^Ý®VR«>dKV¬X±bÅŠ+VÛXeùo¿ÎX±ÚÌJ_±bÅŠ+V¬X±bÅÊ;ƒÝ™+}ÅŠ+V¬X±bÅŠ+VöAV¬ô•ngÅŠ+V¬X±bÅŠ•}+ï úŠ+V¬X±bÅŠ«VýËjÒÊ>ø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
new file mode 100644
index 000000000..2abfca20b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_153_1.dat
@@ -0,0 +1,2 @@
+xÚíØ1
+€0ÀÞ×\þÿ9›Ãbt³Ešc'›ªÎHHÍ•š9³efßžmff²MïÙíª›õ #.̘1cÆŒ3f̘1cf–Ô7¯3f̘Ùg̘1cÆŒ3f̘1c¦o2cæ]Ã?€3f̘1cÆŒ3fÞ5ôMfÌì3f̘1cÆŒ3f̘1Ó7utfÌì3f̘1cÆŒ3f̘=ÌúËl¡™¾ùj¦£3ûÕÌ>ÛÈì¤Ð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
new file mode 100644
index 000000000..17344b891
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_157_1.dat
@@ -0,0 +1,2 @@
+xÚí×1
+À À>¯9ÿÿ¹4S¦d/Ì5‚Õ1ÈÊVÍ)SkŽJžµ»­vßÜ7´³ÝÞÝíé…ÛÍeGä°cÇŽ;vìرc÷²]Z¯¸îÙ±c'ïرcÇŽ;vìرÓ+رÓgå;vìرcÇŽ;}V¯`ÇNÞù+رcÇŽ;vìØé:;vòŽ;vìرcÇŽ;½‚;}VÞ±cÇŽ;vìص±›'»ÍvzÅ#;Œ]Œ¼klw¯oA` \ 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
new file mode 100644
index 000000000..669ade1b8
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_161_1.dat
@@ -0,0 +1 @@
+xÚíØ1€0ÐÝÓÐû_Î…XӨš yi~…ˆ¬Q©bÖÕkvÈp±á³ê7'M u¸Ù=¼]ņÙð([ 2dÈáÏ +þÛ\' 2”‡ 2dÈ!C† 2´s0/3d(½) 2dÈ!C† 24ë1dhç 2dÈ!C† 2dhÖcÈ¡<dÈ!C† 2dÈ¡ƒy™!CyèMaÈ!C† 2dØÞ0¿ —šõ^š—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
new file mode 100644
index 000000000..abb48f0b1
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_165_1.dat
@@ -0,0 +1 @@
+xÚíØ1€ ÐÝÓ”û_Î¥LK^–æ…#²FµŠYWt¨Ù%Ë–ïÂÿœ4¶ÔåÁ÷r¹šM,³éQºX²dÉ’%K–,Y¶²¬ú¯þœ°dÉÒ¼dÉ’%K–,Y²dÉ’%K’%K» ó’%K–,Y²dÉ’%K–v2$K–vÞ–,Y²dÉ’%K–,YÊò8K–楷‡%K–,Y²dÉ’%K–2$K–,ÍK–,Y²dÉ’%K–,ÛZæ—åVKò£¥<≥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
new file mode 100644
index 000000000..ba21b710b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_169_1.dat
@@ -0,0 +1 @@
+xÚíØ1À н§Áû_® ÑîM,ØÇâàB^ æ‘5*V¬º¢K­N™n2ýú¦¹©NòNOµ‘i6>ÊS¦L™2eÊ”)S¦L™2­œMç S¦LÍS¦L™2eÊ”)S¦L™2•Må}¦LÍSS¦L™2eÊ”)S¦LeSyŸ)SóÔÅ”)S¦L™2eÊ”)S;Ù”)S;ó”)S¦L™2eÊ”)S¦v(²)S¦v(æ)S¦L™2eÊ”)S¦íLódºÍT6}a*ï3mljžmzC' \ 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
new file mode 100644
index 000000000..436918c0b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_173_1.dat
@@ -0,0 +1 @@
+xÚíØ1€ ÐÝÓ”û_Î¥''Ó@y]Xšò1?"g¬:1çŠfn˶ÌöË»ö¬­m¼·¯«»™m.?¶¶lÙ²eË–-ÛF¶«ÿß>glÙ²•·Þ2¶lÙ²eË–-[¶lÙ²e«O`Ë–­¼eË–-[¶lÙ²eË–-[¶lõ lÙ²•·lÙ²eË–-[¶lÙ²eËV¦O`Ë–­¼eË–-[¶lÙ²eË–-[¶z0}[¶z0yË–-[¶lÙ²eË–-[¶E¶ùe[h«OøÍVWö…­¼=Ìö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
new file mode 100644
index 000000000..12e2e522f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_177_1.dat
@@ -0,0 +1 @@
+xÚíØ1€ ÀÞ×ÿÿœÍE¨¬Œp0×XÐà„,a#rÚÊ}®¨6}ÇŒ§¿Ùÿ»¶‰±~Ž‡£\Ð8 •ÆŒ3f̘1cÆŒ—7®ðÎ{Ö3f,ÝyŒ3f̘1cÆŒ3fÌX_¡¯`ÌXï&3f̘1cÆŒ3f̘±ÞM_Á˜1cy̘1cÆŒ3f̘1cÆŒë+3f,ÝyŒ3f̘1cÆŒ3fÌX_¡bÌXï&3f̘1cÆŒ3fÌxãü2žd¬¯øÔX'Ä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
new file mode 100644
index 000000000..f87e0a112
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_21_1.dat
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
new file mode 100644
index 000000000..3a225e30f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_25_1.dat
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
new file mode 100644
index 000000000..0a1cb3b5d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_29_1.dat
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
new file mode 100644
index 000000000..318949df0
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_33_1.dat
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
new file mode 100644
index 000000000..5bd9e3aa0
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_37_1.dat
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
new file mode 100644
index 000000000..52e9e58f4
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_41_1.dat
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
new file mode 100644
index 000000000..b35c567dc
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_45_1.dat
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
new file mode 100644
index 000000000..d20d71710
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_49_1.dat
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
new file mode 100644
index 000000000..a676d7dfa
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_53_1.dat
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
new file mode 100644
index 000000000..896ed4357
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_57_1.dat
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
new file mode 100644
index 000000000..4165a4bd2
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_61_1.dat
@@ -0,0 +1 @@
+xÚ30€CbpPº™ÝØÅi`÷@ê&ÚßH^§Ðn¨a†dQ»Gíµ{Ôn<v“Z®ÁÅGíMk£vÚ=j7¶¶â ³›Öå9mäán7â›<»ª³Â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
new file mode 100644
index 000000000..db8db88a8
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_65_1.dat
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
new file mode 100644
index 000000000..03bba657f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_69_1.dat
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
new file mode 100644
index 000000000..a729fdf04
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_73_1.dat
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
new file mode 100644
index 000000000..0fe0b03e8
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_77_1.dat
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
new file mode 100644
index 000000000..eacbdb1a2
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_81_1.dat
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
new file mode 100644
index 000000000..b8a20c754
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_85_1.dat
@@ -0,0 +1,2 @@
+xÚíÙ1
+À н§‰÷¿\©]‹‰4ðþ˜AA hÄÌØM¬\Q‘µjsë·úAk§U·ûújm‘un2RÃÊÊÊÊÚΚ5·ž:k;«»ÅÊÊÊÊjƲº[¬¬¬¬eoÅí­›[™oð¬ÿ[ÇÎk®õ¨ðZä \ 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
new file mode 100644
index 000000000..e9d226f35
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_89_1.dat
@@ -0,0 +1 @@
+xÚíÙ1€ ÐÝÓ”û_Î…‹N…h}%Àƒ@ iDOËHŒ±*cä"æûµ<öØgþâÈ)û<mõBsŸ¨¥‡™™™™ù—æÌwðja.av™™™™™ý‘ü7˜ÝAffff極‰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
new file mode 100644
index 000000000..f37836c61
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_93_1.dat
@@ -0,0 +1,2 @@
+xÚíÙ;
+À À>§Ñû_.Ä4I‘ìâ‡yí‚Ž¢¸`)-5*¥ç(™é£of[Ósm€}åÑÃöý¶õÉö6YM ;;;;;ûG{ô»zÕØ·µ»«ìììììììz1vw•}œ=úwuûìýLÆ%û?û"ç=Ç~e—i \ 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
new file mode 100644
index 000000000..24fa60fc3
--- /dev/null
+++ b/library/phpqrcode/cache/mask_1/mask_97_1.dat
@@ -0,0 +1,2 @@
+xÚíÙ1
+À0н§1÷¿\—ÐtncKÌû«ƒ<DŒèi3#Gdgt(lxVûÉP¡ÃÔ9ÜFñ¡7lia``````ØÞq/]5†­ všÁ½Äàne``````xùÛ-mXá^Êú±3Ì5,´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
new file mode 100644
index 000000000..e39fd2cf1
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_101_2.dat
@@ -0,0 +1,3 @@
+xÚíÚ1
+À н§‰÷¿œ‹C‡â ‰Ux!“’?1ªe÷«ž ä)Ÿç“ás”Ê*¼KÛ®LfòšB¡P(”ÝJÖ®¤Ü¨x/
+…B‘a(2 …B¡P(2 E†¡P(ʲR÷Så(%qWR®S¼—ÿ”iY‰ \ 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
new file mode 100644
index 000000000..7b63e31ba
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_105_2.dat
@@ -0,0 +1 @@
+xÚíÚ!À @ß×ÿÿ\Mƒ«iØp4sÁ€™ 6¬ ê™‘Ys®"¤7þÛù&)=ñ; ÒÜŒð"‘H$Ò¥µ¯;é|IžH$‰DÒ÷t#}OžH$‰DÒ÷Húžä’H$©·”þ­ÕIZß#HgKòÔJºt”$• \ 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
new file mode 100644
index 000000000..252f6d807
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_109_2.dat
@@ -0,0 +1,2 @@
+xÚíÚ1
+À0н§1÷¿\—@¶NÖˆ<q’À#ƒð#v­ßúÔ´-e~_«¨Š¿­[Ú÷«ä¦Ñh46JKžÓFjöF£Ñh4šÌE“'i4F£É“4y’F£Ñh´¾ZÁEcS-;—Ð&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
new file mode 100644
index 000000000..26b5d7eab
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_113_2.dat
@@ -0,0 +1 @@
+xÚíÚ1€0ÐÝÓÐû_ÎÅ¡‰‰Ðª0óÚäD\5*{ª#ˆ½bò’H'o+vUÓÇR1ŸPÐD"‘H$øÑ>‰D"‘H$ÊäD™œH$‰D"Q&—WerûH$‰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
new file mode 100644
index 000000000..b4dcce46f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_117_2.dat
@@ -0,0 +1,2 @@
+xÚíÚ1
+À À>¯9ÿÿ¹4!m dOƒs\§0X,laÕ5#¿÷Eª¾>Z[íœÖ·ŽÉêã½ÄR©T*•J¥R?Q-œº«*¯T*•J¥R©º?U÷—W*•J¥R©TÝŸªûË+•J¥R©Ô¤Úùó~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
new file mode 100644
index 000000000..a2a0097b1
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_121_2.dat
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
new file mode 100644
index 000000000..0ea40fdae
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_125_2.dat
@@ -0,0 +1 @@
+xÚíÛ!À P¿Ó”û_ƒ@ U(Ûkp@^Mú£Ú®5ÕôªúËîòâ-ú‰:ðöVF_žÌ\t:N§Óétú÷õ¼yžN×qt:N§ÓétºG—ãô;N§Óét:.ËÐå8:N§ÓétzA}ÿµ‹ôÔyžN×q¿Ñ;+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
new file mode 100644
index 000000000..bf048394b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_129_2.dat
@@ -0,0 +1,2 @@
+xÚíÛ1
+À0н§Ñû_®KÈVÚ¡¨'.Éôþ!«²¶w]A0XðÄú÷~˜ «ÚÞ  ö!›š€€€€€€à£ fK# x˜Fy€À4È 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
new file mode 100644
index 000000000..9e78b6de5
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_133_2.dat
@@ -0,0 +1,10 @@
+xÚíÛ1
+À н§‰÷¿œ‹à&´`¢ô…Lâð”üÁˆQ-½g=Aq•bëú¹ŠÊª<‹všb½+©)((((((((ÊIën*…<b§G(((((((((ä
+yÄ{AAAAAAAA!˜Á)ä
+
+
+
+
+
+
+Š•¢ð'ùeŠ¬¹“‚â½ÂMý©¢fv{ \ 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
new file mode 100644
index 000000000..95c3c48cd
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_137_2.dat
@@ -0,0 +1,2 @@
+xÚíÜ1
+À н§‰÷¿\—N‚I,/d+Ê£`ð/F|5*zª'H.”,xëO[KšKª«øŸŒ–’õ‰MBBBBBBÒT’|?!!9”8Å$$$$$$$$$$2 ‰ hžÈ€$2 yBBBBBBBBBB"eÈ€æ ÉŸ$µ¯IÜ%É¿Û“œHœb’©_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
new file mode 100644
index 000000000..da07da2e8
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_141_2.dat
@@ -0,0 +1,2 @@
+xÚíÜ=
+À н§‰÷¿œ‹t*-ˆ?±¼M…‡á[ŒhUöõ]WÐüB¯ç;–ÎÔd¨wS’j>÷­lš ††fŽÆ„ÓÐÐÐÐÐÐÐÐÐÈš44²& ¬)OÑÈšÞY“FÖ4á444444444c4~œ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
new file mode 100644
index 000000000..9ff2bbf3f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_145_2.dat
@@ -0,0 +1,4 @@
+xÚíÜ1
+À н§ùÞÿr]
+Ý,tˆQ^È&ÊCˆð“§ÆÒ~ë
+щ¢Éj~mɾ¢.ÕåŽFgÑüìMDDDDDDDDDDDÔST™×ˆˆêD¦ŸˆˆˆˆˆˆˆˆˆH¦•ŽˆdZï‘L+¯É´DDDDDDDDDDD2-‘é'"""""""":BÔäת½EåY„ˆ¨Ddú‰¾û† †Š \ 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
new file mode 100644
index 000000000..d52e0484b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_149_2.dat
@@ -0,0 +1 @@
+xÚíÜ;€@ÀÞÓÀý/gcaGÖBXBç'“-ˆ¼Âˆ«²»ouÕ§UQ½dõRVOm¡šTƒÎ*Ç«Ê;;šŠŠŠŠŠŠŠŠŠj¨ªå»ŠªEe2PQQQQQQQQQQQɨ¨ä TTTTTTTTTTTTr»3•œÁ¼¢¢¢¢¢¢¢¢¢¢¢’3ØR©ä &ÕßTsþŒ·»ªk¤¢z_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
new file mode 100644
index 000000000..3b0604101
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_153_2.dat
@@ -0,0 +1,2 @@
+xÚíÜ1
+€0 ÐÝÓ¤÷¿œ‹8ZP!¿úB¶ÒòèèZuÔÈ賶"û“ìbuºñö™‹ÈÒ*îÎƲé)]MFFFFFFFFFFFFö†¬%= #‹‘™ddddddddddddr ot2¹†yFFFFFFFFFFFF&× #“k‘‘‘‘‘‘‘‘‘‘‘‘É5ÈÈL 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
new file mode 100644
index 000000000..2baf535e2
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_157_2.dat
@@ -0,0 +1,3 @@
+xÚíÜ1
+€0À>¯¹üÿs6‚M¹ÎqUH1¤XØ&Uç̘½fÝ/u-çûé'ñíæ.ºû[ÍKGGGGGGGGGG÷H×|NG¨“(ttttttttttú¬NF§ÏÊ;::::::::::}–ŽNŸ¥££££££££££Ózèè$
+>«“Ñé³…ŽŽŽŽŽŽŽŽ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
new file mode 100644
index 000000000..d2df7594e
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_161_2.dat
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
new file mode 100644
index 000000000..2e6cd7c6f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_165_2.dat
@@ -0,0 +1,2 @@
+xÚíÝ1
+€0 ÐÝÓ¤÷¿œ‹Šè ?òBÆVü¥UG¼žµ%åùÐêþ¸åÙ×*“+ú_ŽfÊËs MIIIIIIIIIù–2d;£¤l¨4‰()))))))))))eöqJÙ†IDIIIIIIIIIII)Û ¤”mPRRRRRRRRRRRÊ6lº””² JJJJJJJJJJJJÙ†}œR¶aQRRRRRRRRRRNeòK?R픔͔&åW½3U \ 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
new file mode 100644
index 000000000..4052062b8
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_169_2.dat
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
new file mode 100644
index 000000000..0a30ba530
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_173_2.dat
@@ -0,0 +1 @@
+xÚíÝ+€@ PÏiº÷¿ÚfÝtóš:>y &d U߬ÔýÍS´´[íþª»ùé¡Õ]5Z;a¼Û5VÛž™´´´´´´´´´´AÚÀï[ZÚË´Œ–––––––––––––V¦«¡ÕƒI0ZZZZZZZZZZZZZZ=-­L‚ÑÒÒÒÒÒÒÒÒÒÒÒÒÒêÁhiõ`Œ–––––––––––––VFK«“·´´´´´´´´´´´´ÉÚü?‚ݧÍìhioÒJ0Úà}³¢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
new file mode 100644
index 000000000..d2c52f990
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_177_2.dat
@@ -0,0 +1,2 @@
+xÚíÝ1
+À EÁ>§Yï¹4’V$Í~± ,CŠ…¼&UóŒÞ÷;OoŠk5b÷ÑÏ™áâ”óŽG°x9¥Û%&&&&&&&&&&&n$îöõOL|‡Øv#&&&&&&&&&&&&&ÖÝbbݘ˜˜˜˜˜˜˜˜˜˜˜˜˜Xw#&ÖÝl7bbbbbbbbbbbbbbÝM"ÖÝl7bbbbbbbbbbbbbbÝMa!&Ö݈‰‰‰‰‰‰‰‰‰‰‰‰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
new file mode 100644
index 000000000..7466be4bb
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_21_2.dat
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
new file mode 100644
index 000000000..0bc44c034
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_25_2.dat
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
new file mode 100644
index 000000000..5112d11ef
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_29_2.dat
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
new file mode 100644
index 000000000..5bac0c80d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_33_2.dat
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
new file mode 100644
index 000000000..bdfc0bd43
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_37_2.dat
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
new file mode 100644
index 000000000..c55c63e8c
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_41_2.dat
@@ -0,0 +1 @@
+xÚ30€C¸ †¯JB€&¶Ã¹†ШÊQ•£*‡ªJXi@lÉ0øUÂý> *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
new file mode 100644
index 000000000..ad44ff188
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_45_2.dat
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
new file mode 100644
index 000000000..6e8edff24
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_49_2.dat
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
new file mode 100644
index 000000000..682cae2aa
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_53_2.dat
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
new file mode 100644
index 000000000..66a5c056b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_57_2.dat
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
new file mode 100644
index 000000000..77d3815eb
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_61_2.dat
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
new file mode 100644
index 000000000..caf184ada
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_65_2.dat
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
new file mode 100644
index 000000000..6a3801bf5
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_69_2.dat
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
new file mode 100644
index 000000000..74945b718
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_73_2.dat
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
new file mode 100644
index 000000000..903cba4a0
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_77_2.dat
@@ -0,0 +1 @@
+xÚíØ1À н§Áû_®‹CMŠØ>òGót Ñ«eó¨+Ž×FWÄZE¼­mÓ&gÞ‡F£Ñ¶h‰ùF+×t/F£ÙYvF£´õ³ïµÜì¥Õjçô[*7òÕa¶ \ 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
new file mode 100644
index 000000000..17a9ac2a1
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_81_2.dat
@@ -0,0 +1,2 @@
+xÚíØ1
+À0н§Ñû_®KÉÒ©Vi!O\"á‘Aøˆ«ò]¯:‚x»‘çÃbWµ½1ÅuȦ&‰Ä_‰µT ΋6œH$‰ÒU^‰Dâ~bׯëb=gˆ³âžûXî­ÛÙ \ 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
new file mode 100644
index 000000000..72c74ff9a
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_85_2.dat
@@ -0,0 +1,2 @@
+xÚíØ1
+À0Ð=§1÷¿\—B7¡ÖÖOþ$á‘A0$â¬ý8W­ ¦ê­þwjguÞu¿­æ§Š¡R©T*u•÷SÖ§Ž¨æ•J¥R©ÞTóJ¥R©ÿRö‡ÕêÞ¢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
new file mode 100644
index 000000000..06c9a4fe3
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_89_2.dat
@@ -0,0 +1 @@
+xÚíÙ± À0 À>ÓÈû/—&E*câÇQqâëÃŃ ªzf$òš«ÈËrM…ßåô„ß<ŽÈsa#d2™L&’?ïArYŸÉd2™LöG"ë3™L&“{ÊÙë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
new file mode 100644
index 000000000..f5202963d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_93_2.dat
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
new file mode 100644
index 000000000..38842b989
--- /dev/null
+++ b/library/phpqrcode/cache/mask_2/mask_97_2.dat
@@ -0,0 +1,2 @@
+xÚíÙ1
+À0н§Ñû_®Ki·vH4 <q  Â#®Ê©ýÔ„ÂËôsÔ-TUÕ²S¸_YÔ@ k…‘¼DØI°@ äV‚ÜJ a©PtÅÿ—0œ—›ö¡C8%ó¬ \ 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
new file mode 100644
index 000000000..fa9925121
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_101_3.dat
@@ -0,0 +1 @@
+xÚíÚK€ EÑyWSö¿9'D1ñŸ¾ªp ã /9±Ðîu•èÝ,kžu9–Ò¤¼$¶îû%‰Ý­wAL¹¤b%ClA³ƒzqÛ´å붌‚bˆ!†ØÇĤwå™XÜ4`Áõ¶_ö'FWrŽ!†bˆõ&Æt1Ä<FWrŽ!†bˆýXŒé‚yŒ®äC 1ĆÓý©²Ó‡Ì)E{WúÙ¯AÓ…gLž1]¼-&øƼ§®”æ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
new file mode 100644
index 000000000..d8a28ce98
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_105_3.dat
@@ -0,0 +1 @@
+xÚíÚ1€ DÑ~O3Üÿr6„Ð@(œ1ê'†„¬ûâÂJ}4Ï£¦gk 9’7ÐéA=­÷ž¯Ÿèi»÷p}‘“w¸õZJo¬ýûÜ8Ë¢ÏJB=ôÐCÏs= =÷;ô”Hê³zT.çz衇zô{ô{ô{T.çz衇zô{ô{ô{T.z衇zoÔS$P«T õhŽŽE©Ž%•Ô¿ôbßž¯r•ª\RåL$Ý \ 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
new file mode 100644
index 000000000..48d94040e
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_109_3.dat
@@ -0,0 +1 @@
+xÚíÚ1€ DÑ~O3Üÿr6Ñ‹Ý ÁO(‹Í¾™©V6ïÓsy±¹š¡¹Ð>’)ë_%s×_½Õƒd3KŽO1^ša†§LŸá,†$’H"‰$’KzRP—t[I&¯ÿX’ÝÍ9‰$’H"‰$’äIò$y’sI$‘DI$É“äIò$»I$‘DÉ%eëÌsò!¹¼=—™‚äLAZ5—œ'åÌ“IVý“rîn¸»/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
new file mode 100644
index 000000000..023b27304
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_113_3.dat
@@ -0,0 +1,2 @@
+xÚíÚA
+€0 DÑ}N“ÞÿrnDëÂFj2úK‚ÂÈCÂt?W«ÜݲîZ“iêÀ.qÕÁ‹ŒoýP ô¯ªª%SmjÕÖÂ7ËÞ¦‹:·©ª¨¢Š*ª¨N©Ê:@¤:݇·ìýÁŠ¾º•*€¹Š*ª¨¢Š*ª¨f©ÒW9dª2˜«¨¢Š*ª¨¢Šj–*}•S@ Ê`®¢Š*ª¨¢Šj½ªæ¯à§ª6ðJlº¾êÑ¿Ã}ÕÕ}ÕÕ§€•T‹¿UßaÈ24hnt \ 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
new file mode 100644
index 000000000..79cc04d14
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_117_3.dat
@@ -0,0 +1,4 @@
+xÚíÛ1
+Ã0 Ð]§Qî¹.¡xIÚB$úŒ‡€Á?~!É<ÇQ?ß#–ç¶Ð5µ/tIÝJ8owøié{áßçâ¬}£Sø˜^ã~‡¢½q猉P„ &L˜0áJá¢î1ÊúϻݢðD×K'¬J¨Ã„ &L˜0á…õÃn
+«ê0a„ &Lxgaý°Gƒ°*¡&L˜0aÂ{
+g{è¡Ÿþ2¨ë‡s¢Ή~˜ðì7\]%r¢Jôö9nZ \ 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
new file mode 100644
index 000000000..aff5a7be5
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_121_3.dat
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
new file mode 100644
index 000000000..e2febdbdd
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_125_3.dat
@@ -0,0 +1,2 @@
+xÚíÛ1
+Ä Ð~N3ÞÿrÛ„]·‰BБÝ'?<Âà/̼VÛµ»Ýóþü¨ ïÒ”¿ÿ´…<–’0-_±Jä[¥ü?† +wÔÄ^;*ÃyòäÉ“'Ož<ù’/9ÏÏɯì9±<áîyÓÆœ'Ož<yòäÉ“'¿J^“Òa—È›6¦ yòäÉ“'Ož<ùGòš”{–¼icΓ'Ož<yòäÉå÷ßPû–¯ §·šó|Î]¨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
new file mode 100644
index 000000000..b1ce63b74
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_129_3.dat
@@ -0,0 +1,8 @@
+xÚíÛA
+€ н§ï¹6!n” ðG<q‚4øhð/ªºG?;ÇhÓs¤€¹‚LST¨õÞ÷ëOj»÷åúâ 2#¥ÐÓ
+DÛ×y`¶Ü«ïÙÒP @
+ÏÎ\†BêŽ4*yt$‰
+(P  /È ò‚¼ #Q @
+äyA^t$
+(P @‚¼ /È ò‚ŽD
+(ü\¡¢ô–.`ý§íÉ›j¥oªéC °Sˆ ç;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
new file mode 100644
index 000000000..f4181507a
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_133_3.dat
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
new file mode 100644
index 000000000..e24ac5b51
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_137_3.dat
@@ -0,0 +1,2 @@
+xÚíÜA
+Â0Ð}N“ÞÿrnªFÔHSš™à YQ|øé‡ÒZ÷µEìf•æuì,%Ë Í$‰uj÷ÓG£:Ãßzèèóo»Âu¶,:O òsâY»Ä°ï’e:tèÐI¡sÅÕj÷¨|ãÌ+ê»Nø5ŽŽd“ltèСC‡:tÎèè;Úèb:’M²Ñ¡C‡:tèÐ9££ïh£ËëH6ÉF‡:tèСCǽ Ú¨{A%›d£C‡:tèü³NìÓ$^ur ò˜dV—èô±'\Ówj–¾S³´Ñt‚þ;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
new file mode 100644
index 000000000..a3f6a2480
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_141_3.dat
@@ -0,0 +1,2 @@
+xÚíÜA
+Â0Ð}Nó{ÿ˹)%]ØjÀf /d!ˆuÈÃOŠUûÚæícµîõô0}šùaº4ùR9ëòÊ_½õ¡T~é`˜ÓÙÌ_ R[’T‡Õ®¯ððn1öÝ’Â"EŠ)R¤H-*•p—~H…Ü¥ßJýäÞ„Ô°”égú‘"EŠ)R¤H‘J“Ò§4ß‘2ýL?R¤H‘"EŠ)RiRú”滀”égú‘"EŠ)R¤H‘ò ­>¥ùz†Öô#EŠ)R¤H‘Z@ªbÂl-)ÌÝ¿ñ<ߧ*©OURŸ"5&•ö›š5ý*iúeÎ 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
new file mode 100644
index 000000000..338b7e7a8
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_145_3.dat
@@ -0,0 +1,3 @@
+xÚíÜÁ
+‚@Ðý|Íóÿ®”•:Œ^ñ ³JyÌ¡¤ªyM§î×j‹×-'
+9¤V—SÛýÖ¦K¶©9ëÇe¬µ)PíyUûû¹£wËeÞ-m jÔ¨Q£F5jÔ¨RËiÙ«ÔF4×_wk}·0+µµjRBR£F5jÔ¨Q»ƒš¾¦eßOMBJHjÔ¨Q£F5jwPÓ×´ì˪IH I5jÔ¨Q£FͳÇúš–íÙc éw5jÔ¨Q£FíµŠ:¡œÿÑzS«Ž*2¤¯UZ_«¾CÒ×*­e_Oí´ïZ¥%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
new file mode 100644
index 000000000..30bc5fabc
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_149_3.dat
@@ -0,0 +1 @@
+xÚíÜA‚0Ð}Oó¹ÿåÜ â¦Hé ¯éÂô“'¬Z×2{oVÛ|Ι«%µ™ê>‚yû·R{‡!8îäÂI+JpI|#¶Ýfì–5κ[âP A‚ $H Á‚Q}ð)Õ&<¹÷E‚§ JQ)J A‚ $H Ás5zþ¥¨%H A‚ $Hà4A^£ÿ5A)*E $H A‚ $è½ Þ3ïMHQ‚ $H A‚ç æü3Þ§`ÞP¯©®o¢Ý>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
new file mode 100644
index 000000000..89cdec031
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_153_3.dat
@@ -0,0 +1,2 @@
+xÚíÜA
+Â0Ð}Nósÿ˹)7mJ¦õ…,Å}8µêX=c¿W^G“e’ÝNó<v]]bí­Iͯ_½Ïû¸gY+M³§j íò“»vË‹tì–Œ&Mš4iÒ¤I“&MšÿªxÞœÑÜu~o[¯~ö4W55­¦¥I“&Mš4iÒ¤I“æS5ML¯©i5-Mš4iÒ¤I“&Mš4o­iz`z@SÓjZš4iÒ¤I“&Mš4izÅôÀôÀs(šVÓÒ¤I“&Mš4iÒ¤¹¬Y‘ÁzK 6ñ¦Ï›•:=¨ÔéÍ_hÆþ6·7m¥6mÞM{ü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
new file mode 100644
index 000000000..167e6f844
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_157_3.dat
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
new file mode 100644
index 000000000..72a26a4fc
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_161_3.dat
@@ -0,0 +1,3 @@
+xÚíÜA
+Â0Ð}N“ÜÿrnªF±ÑTká…,„€NûðÛ ÄZ—Ñ’f7J÷:³Æ’^`WáÙ”U×á»nXÚ¤¼Ç§M-½¾‡™#V¹¥+ß¡ËÛ+9z–ÜÒ–YÒ l”)S¦L™òo•cŸ±¯Ê±O_Cå?ß©õ%Ê;*Kl‰M™2eÊ”)S¦L™2åYeý²]ÊÏÊ[bS¦L™2eÊ”)S¦LyVY¿lW„òGÊ[bS¦L™2eÊ”)S¦LÙÙ
+ý²]g+$¶ßeÊ”)S¦L™2eÊ”­Ð/Ûq¶BbKlÊ”)S¦L™2eÊqÊ™ÿ‚þ¨œ]à­Â£{Î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
new file mode 100644
index 000000000..870af8f4f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_165_3.dat
@@ -0,0 +1,2 @@
+xÚíÝA
+Â0Ð}N3¹ÿåÜT‰ #ØZþÀ Y¥uÈí:ÆÌ›¯1–ϱE®Uæ¹TÙT|SüþÒ·Ô ñ ¿qž)òm-sG²øì ¾ ýBæÈ.C‘ĉ'Nœ8qâÄŸâáÿÕ÷âwv7û[Æç'„tgÄÿ!.Õ¥:qâĉ'Nœ8qâÄÄõãv`ˆ_+.Õ¥:qâĉ'Nœ8qâÄÄõãv`ˆ—êR8qâĉ'Nœ8qâΤèÇíÀ8“"Õ¥:qâĉ'Nœ8qâÄIÑÛq&EªKuâĉ'Nœ8qâ½Ä+¾È9:¹}kFT?^úñêпG¼Åo<0Õ«Cªg/æ_ \ 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
new file mode 100644
index 000000000..943109526
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_169_3.dat
@@ -0,0 +1 @@
+xÚíÝA‚0Ð}O3Üÿrnˆ¢‰ñ·¾¦ ¨)}á'3ªæ1EÎÇh‹ßÑ]î4üP[ £_«ñÁ¥]Kvè‡<ÃË™fpý©#ýûª¶y_Êlù[œgëe£ôéÓ§OŸ>}úôéÓÿoý ªµ%uJV/µ°“{¿„þ—ô%¿ä§OŸ>}úôéÓ§OŸþ¨úê}Ýú§êK~ÉOŸ>}úôéÓ§OŸ>ýQõÕûº=ô/Ñ—ü’Ÿ>}úôéÓ§OŸ>}ú£ê«÷u{èï×—ü’Ÿ>}úôéÓ§OŸ>}ú£ê«÷u{蟪/ù%?}úôéÓ§OŸ>}ú¿×¯.N4ÿ»<Oúµõ±‘”z¿z©÷lôêz¿zéö ¢Ÿøî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
new file mode 100644
index 000000000..746698627
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_173_3.dat
@@ -0,0 +1 @@
+xÚíÝA‚0Ð}O3ÜÿrnPkŒTTèŒyM$&e/|ù"ÖµdÝÝjÝuþy[¥a»i‹KˆÑ{úòÌM S&z[B…UBÂRIÂCÞ!Ón5Æ\w«4ìB $@ $°[”ÿ°£3Ûëc²½E^%”xw á ÒA:@ $@ $@ $B‚fI³D ÒA:@ $@ $@ $p¶Í’f‰„Ã%Hé@ $@ $@ $@BR š%Í ¿” ¤ $@ $@ $@ )$h–4K$L ¤ $@ $@ $@³„ü_{”PgØÛ´yŽÍ>áƒVMm–¢R³•š¥‘ø™Òá¸t(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
new file mode 100644
index 000000000..9586979a1
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_177_3.dat
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
new file mode 100644
index 000000000..bcb4eec49
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_21_3.dat
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
new file mode 100644
index 000000000..0ffc375fc
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_25_3.dat
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
new file mode 100644
index 000000000..6150ac128
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_29_3.dat
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
new file mode 100644
index 000000000..6053b5e39
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_33_3.dat
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
new file mode 100644
index 000000000..5dea5b9cb
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_37_3.dat
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
new file mode 100644
index 000000000..ca9ddc2aa
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_41_3.dat
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
new file mode 100644
index 000000000..3daad97f8
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_45_3.dat
@@ -0,0 +1,2 @@
+xÚí”K
+À D÷sšñþ—ëFJ(&™)ô³0d¡øЇ’³FÞg!Œ[8Ò=èÛ&ËiaÂÎD)Åd8&AËÕ¬¡a³áÀÛä 1'™I–I”«×³ž7Ù9ù­ exÀ“ß¾È ÄÒIìû&Ö´¯Cçu´ÍJy‚ \ 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
new file mode 100644
index 000000000..7f6508ddd
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_49_3.dat
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
new file mode 100644
index 000000000..8800beab1
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_53_3.dat
@@ -0,0 +1,2 @@
+xÚí–K
+À0D÷s½ÿåº ­¥‰Ñ! -(.Bp&|ˆ"-t–&`Æq‘Q-"†ð9Ù_+)Be/H8¾ãD®¼%‘a~šÐ}spKFN˜úöœ¶Ö=,ÂÆ;‡;a^tª4÷–‰Ï\™ÞF™ÎáÂÀÊÎSNé§éâ \ 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
new file mode 100644
index 000000000..4e1e5da38
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_57_3.dat
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
new file mode 100644
index 000000000..bf1a3cc7f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_61_3.dat
@@ -0,0 +1,2 @@
+xÚí–A
+À0ï¾fýÿçz‘4-%š•Ò*Ãâd°Ðpž!ÝyZÜ«‰æ‚uäõ(ù¸~ë=¹&ÉÛ“´‹)œÌR2â"/ò"ÿ<9çŠFΊ=r§þbòšó"/ò“ƒîÌíçrw¹"2®¯¹ãçÈøùBòèŸ#3-Ø0-KÀW \ 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
new file mode 100644
index 000000000..85892089b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_65_3.dat
@@ -0,0 +1,2 @@
+xÚí—Q
+€ Dÿç4»÷¿\?R•Û …Å,û!¨OŠ²-òNv®Í1 :Âc¡Zœuï Ú"U‹MÕF ~jK¨€´…-la‹[^q^³Q\éœ=…o”-la‹ÿZpUÒÞB¬„äÿ ±@IµÖKµJzÉ¢|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
new file mode 100644
index 000000000..55318a87b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_69_3.dat
@@ -0,0 +1,2 @@
+xÚí×Á
+€0 Ð{¿&ûÿŸó2¤'—®dô l†=,¹F½îéy;$§ì‡¤”WEË-R„Š¨³:¢¡%T,O2½×g…"Ä"‹,²È¢/DÍyĈ˜¹ôɧ{þO䮳È"‹,:N„vÈEñWNÎ#(&,ö,‘䕺Š®ë]æ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
new file mode 100644
index 000000000..15be77f64
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_73_3.dat
@@ -0,0 +1,2 @@
+xÚí˜Q
+€0 Cÿ{šìþ—ógè;è¥JJ?dÔ¬K„=ÚRaÃsJhTJ6exÎkaºú¥§\$é‘n¯´IE,-/ÑÓXB¢è*Ñ…=ËâžíÚÒýweeé4™¢è¸tÿöÌ’tšLщî«t t”ß«œèà¯bž –gF…fž ÖáqºõoÖd¢Ðdn-ð? \ 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
new file mode 100644
index 000000000..ec7828044
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_77_3.dat
@@ -0,0 +1,2 @@
+xÚíØA
+€0 Àû¾&ùÿç¼­BŠiÖRaK"té`I@³¶|¶º…fX—ö±Ôâ­yiöåólõE‘:Sza18G¾À‰if˜K*©¤?–:YÜC1쌞졘(ቷ—êöJ*©¤’¾’jÊl*Õí•TRI×KëÌîR^Ø™æœÞksûÂ)cÌ)cÌ)³JZø¦¶óí¥äãa· \ 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
new file mode 100644
index 000000000..47bc0f793
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_81_3.dat
@@ -0,0 +1,2 @@
+xÚíØ1
+À Fá=§‰÷¿\‘,JÑGAúÄ¡‹ýhjÀÌ>ÚÙ#Ê3X™À’ø:çk÷Ô¹\ûFM JÝhuÇú½3¸¨>ƒT­ZõŸÔ{ÇãPSgøP'¹ÉkÔV¸jÕªU«¶_Û¯ý¯U«V­º•»=P Îo†O:WÒ‹ÞäÝjü[ŸWxÒÎmò Ù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
new file mode 100644
index 000000000..02c4f8cdb
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_85_3.dat
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
new file mode 100644
index 000000000..2b4cb59fc
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_89_3.dat
@@ -0,0 +1,2 @@
+xÚíÙ1€ …ὧ)÷¿œ *.@àUÁü ƒÓÓ|±¶‰î¹’âeŵ6Û¢‚‹äw5*÷ô) oôi¨K®‘¢4nk>Áè1}d>œÐ@ 4ÐXYC¾oœò Û¡1<º©A§ h F„ûÆt
+ß 4Ð@µ5´—ž1ÁWrÒï>7û«û†Gíµ}}¤¡x7|ÇN‘gÆîÚN \ 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
new file mode 100644
index 000000000..b4cc8a971
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_93_3.dat
@@ -0,0 +1,2 @@
+xÚíÙA
+€0 DÑ}N“ÞÿrnJɪQš~éB¨Œú06 û£n®aá¸<<¦×‡‡ôÿe6×M—R™ýCùÅPÈ ¥LÀ±ôÌ“išØ9MŽ 2È ƒLkÅ®½dD»v*ó"a·ÔX†jBdAdªdèôZöÀTßdAd®qYø0exö÷ö¼Ÿqe§çÊN¯«Œú©ª&WV“ææQvcô \ 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
new file mode 100644
index 000000000..7adc9ebaa
--- /dev/null
+++ b/library/phpqrcode/cache/mask_3/mask_97_3.dat
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
new file mode 100644
index 000000000..1c97dc048
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_101_4.dat
@@ -0,0 +1,2 @@
+xÚíšA€ Füÿs^1 b¤‹ÆáИª]ÃØÖ4šm+Æ8Ð+˜Ve¬Ä^H­R]–\Íc‡®ŠÛ
+·oõWN#¸îXáéØá+lð ž­HE³cp \à—^.Î9qñW9ø¼ïç"ò…:¸À.ŸæBßÿó÷ùBƒ \àæ0Ìa˜ÃPǨcp \ÞÍÅïO•’‹N¥qjpGÖô}“ô}¥Ê$.äË…Š§ÐŠ \ 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
new file mode 100644
index 000000000..0211cdb3a
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_105_4.dat
@@ -0,0 +1,2 @@
+xÚíšK
+€0 D÷=Mrÿ˹‘øA …ÎTáe‘EFóL2 #ŽÈÌé¹¢…_I!“‹•ßú­£ç딤Ѻ““Î-Õ«km¿Oñá]sS T6*ùª'8Á NŸâ$Þî'N¥Z‹Êí^œ<JvNôsNp‚œà„ßÃïá÷è'æœà'8Á ¿‡ßÃï1÷˜{p‚œàô?N¿µnœ¼JóüBÏ…ùü^Øüž[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
new file mode 100644
index 000000000..2cc0c815d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_109_4.dat
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
new file mode 100644
index 000000000..99bd73f69
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_113_4.dat
@@ -0,0 +1,2 @@
+xÚíÚA
+à н§Ñû_®‹Jb)t&„çBBÒøK_•‰¤Ö³µÖ6õC+5/q_Üghfâ×Çú©Éíÿž¿CbH+¾p›º¿¯§;WK?ÞüGútô ‰ñ¿*GŽ9r|‚c`ÕÑc¾¶Î9FKHÌq4­«9räÈ‘#Ç…ŽêUÏ×ÍGë*GŽ9räÈÑ>¹}rûäÖUë*GŽ9r|ºcÌ[Á£cNâ¬Þ[_=Æ׫5¼^ÍJ¼£ù¸ 1*ôq›v \ 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
new file mode 100644
index 000000000..386725918
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_117_4.dat
@@ -0,0 +1,2 @@
+xÚíÚË
+à н_£ÿÿs]4Ø¥©Dg¤nò¸à‰2Jj}´ÖÚÒ¾·RsSWG¶R¿ŒÉ§†žÚ)5¬»ÞE†áämá#ܯ•ã¾Õðk_"ÃzŸ”š3Â\¹råÊ•+×r ­L»k|ê/{„¹;Ž'×àÔ<WóÕ:Ì•+W®\¹rÝÜU=lŸ3ÏÕ|µsåÊ•+W®\û;÷wîo¾Z‡¹råÊ•+×ý\ƒþ¼sÍKýÃûzešS×”z83u#Wóubjdð àÝ$Ÿ \ 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
new file mode 100644
index 000000000..84957eb7b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_121_4.dat
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
new file mode 100644
index 000000000..b98dc813a
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_125_4.dat
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
new file mode 100644
index 000000000..8ecfa2508
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_129_4.dat
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
new file mode 100644
index 000000000..69f83acbd
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_133_4.dat
@@ -0,0 +1,3 @@
+xÚíÛA
+à н§Ñû_®›Òš…BþÂËB¨2à‹f™ó{­µ
+ÇíÆcf¥¨°gÈKqøã=óÙ)Ú®£‹»çWÀŠlK2Þ¿ÊË8:oþCRd¬\pÁ\pñ@­ï+$EÅÿÏùQ.ìÎç\pÁ\è#úˆ>¢Ø/œ#\pÁ\pÁ…>¢è#ö ç\pÁ\p¡è#úˆ>âqŽpÁ\pÁÅ.º¾$¿ºÈIqü𽤠dô‘ÑG’R»°_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
new file mode 100644
index 000000000..0c09c487c
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_137_4.dat
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
new file mode 100644
index 000000000..62b03f243
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_141_4.dat
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
new file mode 100644
index 000000000..33fb21124
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_145_4.dat
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
new file mode 100644
index 000000000..de99310f3
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_149_4.dat
@@ -0,0 +1,2 @@
+xÚíÜÁ
+!н_£ÿÿsmœÉ Œ„Á+XÓ‹9=ó.ªõ=Zkça”š]ÕÞ’> K¯jò´oé ¾ªý|¯SªŠSWKùZmË׌ºƒÃjé¾€Ã\’Š¹çЪ2ï W\qÅW\qÅÕñ®"~·ß× ­jvÚtòê®òªŠv¥_Ùíƒ\qÅW\qÅW\q%g3Èä ú•}+®¸âŠ+®¸âŠ+®ä r9ƒœA¿²rÅW\qÅW\qÅ•œAÎ g3èWöAû W\qÅW\qÅW—«œÆ]åVµ~v{êDŸ™3ÔÈœ!¹ªƒ\é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
new file mode 100644
index 000000000..e827dd16f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_153_4.dat
@@ -0,0 +1,2 @@
+xÚíØ1ƒ0ÀÞ¯ñýÿsi,')p!äµ4.ÜГ;±½¿WUmßçj=¿²„²ê°Ê.NO¾þ>úûšçTµÚ[÷¾S7vÜÛœg¶q•„?æ÷ÞÒ
+š{pe¹o“3Î8ãŒ3Î8ãŒ3Î8{ØYXzðá,°²Û_úO¤ÓYfeñÎô3sÓÜäŒ3Î8ãŒ3Î8ãŒ3¹†\C®!×ÐÏÌMs“3Î8ãŒ3Î8ãŒ3Îär ¹†\C?379ãŒ3Î8ãŒ3Î8ãŒ3¹†\C®!×07ÍMÎ8ãŒ3Î8ãŒ3ÎÎq¶þÚé,»²ËmMrs›k¤Wvœ3ýìÀ~–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
new file mode 100644
index 000000000..ad5fcf69d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_157_4.dat
@@ -0,0 +1 @@
+xÚíÜ1Â0ÀÞ¯ñýÿs4˜"FPà=iRX¢XÉÛ0ç멪€u 4ftÑÖl}Òm¾øßýžéâž­»Sû|²ËÑŽëSÌ û¶ŽÄPÏ5<]öÉrÇwÜqÇwÜq÷£»È^QáéN6ÃûáéZ¸sß™³æ,wÜqÇwÜqÇ>«Ïê³ú¬ûÎœ5g¹ãŽ;î¸ãŽ;îôY}VŸÕgÝwæ,wÜqÇwÜqÇwú¬>«Ïê³æ¬9ËwÜqÇwÜq§Ïê³ú¬>ë¾3gÍYî¸ãŽ;î¸ãî[ww?P3Üå§ÛþòÑƘÝggtŸí®¡;÷]ûû.3àw4A¯ \ 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
new file mode 100644
index 000000000..7604c4540
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_161_4.dat
@@ -0,0 +1 @@
+xÚíÚA‚@ Ðýœfæþ—s!AL€Ä_|,ˆ™4òl)iï¯mŒ²ßl­×‰0'¼÷ +E¸û…£ ÷–]N\ºêüxÅ#·‡§2Ÿç/ü¼_¬{—7gÛò9ì¼Ù·ÔÀÖ}óï2‡rÈ!‡•?}-³#<Zü×χëj"¬áP>T—Õe9äC9äC9üÀ¡~ùöý²÷6Sʇ겺Ì!‡rÈ!‡rÈ!‡æôËÞÛ˜sÕe9äC9äC94ç _öÞÆœƒ|¨.«ËrÈ!‡rÈ!‡šsÐ/›s0ç ªËê2‡rÈ!‡rÈá8ì§}D‚ÃÎìçw£ùýrï—«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
new file mode 100644
index 000000000..d83d63165
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_165_4.dat
@@ -0,0 +1,3 @@
+xÚíÚA
+1 Ð}OÓÞÿr.ª"Ñ*?úfÑÅÌP‚óLHIï—kŒµÎ«õZQ¦…8
+Gy÷êqkñ-ž¿ÿÎn5£Œ½Ú+?ÌÒñùù¾Ýâ¿ø|ÖŽ÷Òþà·kKn®E¢¬ñŹä’K.¹ä’K.?ï2º£˜.ó£|¼EJ§{å2<Ê:.åKu\ç’K.¹ä’K.¹ä’Ë—úñ¿êÇmu)_ªãê8—\rÉ%—\rÉ%—\šÛÐ;'2·!_ªãê8—\rÉ%—\rÉ%—\šÛÐ;'2·!_ªã\rÉ%—\rÉ%—\rinC?nnÃ9‘¹ ùRç’K.¹ä’K.¹äò;.û²óHqY'ÊݽéþN·F?Þ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
new file mode 100644
index 000000000..4aac95c1e
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_169_4.dat
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
new file mode 100644
index 000000000..9df4d865d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_173_4.dat
@@ -0,0 +1,2 @@
+xÚíØK
+1À}N“ÜÿrnÂa øÃ~ZY!ÎÐJÑt^ï×5Æ(¸/«õÌjk–z[pjµ§_Ø?~v:|jwúÕ–_mû£îXzòoõ–Ó6?nËÞŠ<ö°j³$pË-·ÜrË-·_p[z¾=ÞVíæ–Qí¦3ÝæTéV¿ÕoÍ ÜrË-·ÜrË-·ÜrË-·r09˜L¦ßšÌ ÜrË-·ÜrË-·ÜrË-·r09˜L¦ßšÌ ÜrË-·ÜrË-·ÜrË-·r09˜L¦ßšÌ ÜrË-·ÜrË-·ÜrË-·r09˜L¦ßšÌ ÜrË-·ÜrË-·Ür›æv­æ6¯Ú÷ßý?•,eå`=*K¬6Ú­~û§ý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
new file mode 100644
index 000000000..6437d2511
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_177_4.dat
@@ -0,0 +1,2 @@
+xÚíØA
+!À»¯Ñÿ.1B„éMyð”![ c÷þ\cŒ²ûZ­çV\¹Üq“Š7ßâÝEó‡Oýzg~ÅkëøË¿jž;pg”Šu²Í[*7Š×½¥ºöÀŠóTpÌ1ÇsÌ1ÇsÌñqÇ!¯ÿ‹ã Šw/òr¯ÿå8«âXÇú±~l®à˜cŽ9æ˜cŽ9æ˜cŽ9–»ÉÝänr7¹›~l®0WpÌ1ÇsÌ1ÇsÌ1ÇËÝänr7¹›~l®0WpÌ1ÇsÌ1ÇsÌ1ÇËÝänr7¹›~¬›+8æ˜cŽ9æ˜cŽ9æ˜cŽånr7¹›ÜM+8æ˜cŽ9æ˜cŽ9æ˜ãtÇû§oEÇ™ŸÉN¥Xy¹[ËÝR+¾‰cýø¯ûqNÑ\,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
new file mode 100644
index 000000000..e006b67e4
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_21_4.dat
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
new file mode 100644
index 000000000..0c7c44bbb
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_25_4.dat
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
new file mode 100644
index 000000000..c28dc20e8
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_29_4.dat
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
new file mode 100644
index 000000000..5834b6fb5
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_33_4.dat
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
new file mode 100644
index 000000000..4bf2e26ed
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_37_4.dat
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
new file mode 100644
index 000000000..b75b7d052
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_41_4.dat
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
new file mode 100644
index 000000000..1b921f300
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_45_4.dat
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
new file mode 100644
index 000000000..e417f9476
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_49_4.dat
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
new file mode 100644
index 000000000..7e88826dd
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_53_4.dat
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
new file mode 100644
index 000000000..84669c7d6
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_57_4.dat
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
new file mode 100644
index 000000000..d127c3be2
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_61_4.dat
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
new file mode 100644
index 000000000..c24343d94
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_65_4.dat
@@ -0,0 +1,2 @@
+xÚí—K€ D÷œ¦½ÿåtX£Ð™.4ÓE1^ÂãÓhv†»OæÍx„ùéW“ð0 ñ°JHÅ»‡½­ðz[ÿ^܈[vâȾ
+yy‡ZÀkß=`„™êv·cíǃî…<ȃ<üÚ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
new file mode 100644
index 000000000..a73b1144d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_69_4.dat
@@ -0,0 +1 @@
+xÚí—;À0CwN÷¿\—ˆ~¤¨;C$3°$<)/m­ºß¥žeÎ¥T±‘2  —:¥]ÿ^VV¡%ƲzAïnÈpv…s"y‘y‘y)zöá¤dÄu6½àª½Gú¾È‹¼ÈËi^šÂ/<ÊtÓrÂrrÚ)9ͤlõrìó‚.¶‡Ö \ 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
new file mode 100644
index 000000000..72f89227e
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_73_4.dat
@@ -0,0 +1,3 @@
+xÚí˜A
+€0 ïyMòÿÏé¡´)1Ý-‚lE3š=Ô}¬ˆ(Öô°9ŸTÇdÎÒò–E/eO ZOžîãÛÅ»KíY;ÛúpS5Ð+‘ÄëNžäIžŠžà|
+"©eìvúö+DÝ“æNs'Oò¤WŽkîäIž¾ð„ì†Ìž¸¤FúòrÜi9Î&óô«ÿ ‡]?Ãó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
new file mode 100644
index 000000000..993c48608
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_77_4.dat
@@ -0,0 +1,2 @@
+xÚí˜Ñ
+€0Eßý÷ÿ?×ËjFe8¯0êú uØN©0Õ­µ‰lB´†6‡:«h·<½õ–§¥CÜe\,¹ †ìÔÜ—~ø & rd0 »Sz£7z+ô–êoº»ÓÜþëäÝŽVâuÊ:¥7z£·Wo¿š ËÎSÖ)ë”Þèmoù3ë O‹y;:*h¥Þ>û¿a€ïCe \ 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
new file mode 100644
index 000000000..dd6521613
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_81_4.dat
@@ -0,0 +1,3 @@
+xÚí˜A
+€0 ïyMòÿÏy‘XE m7"89ä 2’Ѹ ûQ1ݳÌëˆ+¸x‰x;ÅÓt35DIY÷¶1x\:už³ýº•}î¦e/ ê§Æ#ñø¢Th<
+‰ùùU¤BzÔË<²×ì5ñˆG<’×ä5{G<⢿®5Äñ<饫>¯]ž×UÄr¿xuÐ ” Üû \ 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
new file mode 100644
index 000000000..c8d5123e2
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_85_4.dat
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
new file mode 100644
index 000000000..5b9bd7ec3
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_89_4.dat
@@ -0,0 +1,2 @@
+xÚíÙ1
+€0 …ὧIî9«Æ% Í Š‡ VÞðÚ€f×r÷ÅÖ0}òzì=¼#9ùìéûÎäÒ•:§þû~›sØó¹¨1BÕg&ë4pÆgœq.p.»í°&g·ÿÂT05Érgú™sgœqÆçrgæ¯Ïuô3çÎ8ãŒóëkÿ.Egm²»b*ÐÍ&›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
new file mode 100644
index 000000000..be7f5e525
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_93_4.dat
@@ -0,0 +1,2 @@
+xÚíÙK
+À „ὧIî¹n$}P‚ÅŒBù]¸‘Né§È@ÍÎáî%sŒfkÒ«¢}CzòoA}aʽ2½|¤îé~ØÀªD&žl=¥êÀÜç¦Yœ®•ÁwÜqÇ}³» q\ÜEéY³˜já®K_âÎyçžÁwÜqÇwz$=’É=ƒ;î¸ãŽû_Ý‹ÿ€>ÜõéŸ+ÑpÓÓöH“öÈéÜ9ï¢DÞi \ 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
new file mode 100644
index 000000000..5d848caad
--- /dev/null
+++ b/library/phpqrcode/cache/mask_4/mask_97_4.dat
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
new file mode 100644
index 000000000..c21869e83
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_101_5.dat
@@ -0,0 +1,2 @@
+xÚíšÑ
+€ Eßýšíÿ®+£%=ÜM¢3Cbvó¸ Ѭ›«ÍNkû¹´gqõkqq{©%ôO¿ÒòüoçžùÈû,i–¨ÅKÖeœeçÁ3[›|‰îiž¶÷‡¾õ˜ã©V¥¥h]` Æ` Æ0¦Ê•±¸zË´TÔ0Gu×ì/qŒ8F®„1ƒ±3¶:WÊò>õ˜´#ŽÇÈ•0c0öQÆ8»øE=F#Ž‘+a ÆþÄXÖÍž+cV©%9W>ßíQž]Tk©¹“Y-gL¸÷óîq¬DËè‰‹Ï \ 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
new file mode 100644
index 000000000..bc8798c64
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_105_5.dat
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
new file mode 100644
index 000000000..25a394402
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_109_5.dat
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
new file mode 100644
index 000000000..25f42b8b2
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_113_5.dat
@@ -0,0 +1,9 @@
+xÚí›Á
+ƒ0DïùšÝÿÿ¹^Ò6¥I63[è[EDqÌc˜ÅÑ+•ÏjÃy¤ì81•û\c
+·‹7Úc«åªÆõû?uý}DK™4¦}Çï,¥kkûgì--ž3[÷½´U…Æ‚y„UX…UXýSV ³:Ï«ëûÕî,÷è|æýкSúô¾Š¯â«°
+«°
+«°
+«VÉ«¢¼*ÑXÒ[á«ø*¾
+«°
+«°
+«°zŠUò*ßN÷Vø*¾J€UX…UX…ÕSóèXiýÊjTi4f¹õZkU^­Ôè_‡ìê­~ŠU‘çxþ }Õ®ñ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
new file mode 100644
index 000000000..f236940de
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_117_5.dat
@@ -0,0 +1 @@
+xÚí›Á„ Dï|Mçÿn/*{ÁM¦ÕÍ+„˜pÐI_&mˆ-äŽèѾžCæõä­òÏ3­2u­?o-kgB7wc=¯™‘ªU%yíoÝùRæhÓ¯șDo:Ö¶y¤R£JkQ^a†a†a†ÿáqOgÚiJ¯ýç ;úœáqOgÚ)ÓŠãÃø0 Ã0 Ã0 Ãð[¦v×ö>ç=>ŒãÃ0 Ã0 Ã0 ÃOf˜z˜3Ž»=>ŒãÃ0 Ã0 Ã0ü.†3ÿ÷ïZ£$¯×·8\õp”ÔÃùw4½Çá:ã¨ÖZÀp¤:q¹ÖÄù§X 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
new file mode 100644
index 000000000..9bb5c4158
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_121_5.dat
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
new file mode 100644
index 000000000..2161c50a4
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_125_5.dat
@@ -0,0 +1,2 @@
+xÚí›A
+Ä E÷ž&¹ÿåfc;S´¶$?‹‹”ŠØQ4ëáYaßhûyJ}9ºg=×Ú=©liŸ´.;nh_ÍÔýïwzýží.÷qôƒCW”¶üÏȧyº× uëÞë’PkÏ;ÌÃ<ÌÃ<ÌÃ<ÌÃ|*óqëùÎü,‡ m“kWæqçNÊl—%ª ŸÇçñy˜‡y˜‡y˜‡y˜‡ù×Ì×^Ïæ2ä°…sX|ŸÇçaæaæaæaæ3Ï™9lH‹Ïãóø<ÌÃ<ÌÃ<ÌÃ<Ì¿›÷웿Ì[í¢õüên`ì™TíÚûqŠ¶8ó¡^—vôy©öŽ« \ 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
new file mode 100644
index 000000000..f0c1d6502
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_129_5.dat
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
new file mode 100644
index 000000000..46be8b094
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_133_5.dat
@@ -0,0 +1,2 @@
+xÚíÜA
+Ã0 DѽOcÝÿr]4%1mCTåÉƯ„Ð÷xÎœ[DvÌ=Æá{Fúú–E¤Ïµˆäq½?Ý¿Ü9ûkeÑ­ù}±'2^ý•cœçš4G”žÛ:¶3=J£K-šôF0‚Œ`#ÿÍHÒþˆwð'#ß<{Ú~—Z4é :BG舻F0‚Œ`„áGø~„ŽÐ:‚Œ`#Á?Âð#t„ŽÐw-Œ`#Á?Âð#ü¡#t#ÁF0r·…ïÙ}Qõš}e¤üÝòR‹Ú;ø<ùçCžéV‹}Ñ—‘ìó¢ËÙ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
new file mode 100644
index 000000000..064e7f2f3
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_137_5.dat
@@ -0,0 +1,3 @@
+x򒆄
+ƒ0 …áû>Móþ/·ÇkÅ1mÂøªÈXº³ü=‰–ö¾µÈhýÕÚîså×áH"ãk ÇM„:îúê–3qÒOü¿W}ÿ9’Ô–¬I”‰“ýHž1ÙG;þ- Ï©sìîÚ¶ù?Ò[%M
+Å v°ƒìü#;£zg^ÝÔ3Õd}Î6‹“Å9ÛÆΨޙ×@7õ”Ò„ïð¾#gÃv°ƒì`;׳£Þ©\ï$ÔÅåŸð¾ÃwälØÁv°ƒì`çvÔ;ÞÖ}7Êwøß‘³a;ØÁv°ƒkA­µ”ïð¾#gÃv°ƒì`ç=N2wúxg§WÓ¤@n?Ûëc}½SQ“:ûZd?+¨ÏÎú9vÆÎzß)£ÉæÝá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
new file mode 100644
index 000000000..60c1a8e81
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_141_5.dat
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
new file mode 100644
index 000000000..9303c07f9
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_145_5.dat
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
new file mode 100644
index 000000000..4256cefd0
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_149_5.dat
@@ -0,0 +1,3 @@
+xÚíÜ[
+Â0Ðÿ®&³ÿÍùcµ }-s+'Š‡œ^;AÇxŽêã=¦ÅëQ­Ï_gUÝﵪæãx­ÆÞGûõTí½ëȺV¹ïúœU̪UE®«å¬æõ_IÇ´;ÿŽÇT1×öÅóôÌ Š©µ
+]W 2È ƒ 2Èà ¶|oß5ØuóꆬuI¶:(WK­U躒ƒrPÊAdAdA; vÞ®íÑoíÝ_zNOæÏ{2rPÊA9È ƒ 2È ƒ 2Èà9íÑß}^O挞Œ”ƒrÐwQdAdAýn½žŒßMÈA9(dAdA¯^Wó„² ŽäZ…Ý.+•³GŸ^«ÌÿëKêÉÜÑ`×µ}Ë`_FÖê÷k \ 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
new file mode 100644
index 000000000..deea09d77
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_153_5.dat
@@ -0,0 +1,2 @@
+x򒆄
+‚@Ðw¿fæÿ®—¬¨Ð¬`ïÖÙD"I¶ÁÃe­ê<:aÔu,7ï«öOfÖÛ³šuÀëPÍ6Žî~ñís¾zÕÁÏûãsÞÏ,jÄÕ¬c¯³ëÌVöZvߨmé° ¸ì—s^uÜH®YðuÆ&›l²É&›l²É&›_±9¤¯±ÚÜê ;]³Ä^Ðjs«O;ì˜Ü”›rSn²É&›l²É&›l²9½Íy×›ƒÖèzAÖ ’›rSnÊM6Ùd“M6Ùd“M6§µéÞƒ»÷@/è±$7å¦Ü”›l²É&›l²É&›lzŽzAžC‘›rSnÊM6Ùd“M6Ùd“ÍOlîþ7á°šUìu¶NªãÖ›»F¯Úcú·óÌêÍP³P›—œSÔ,l;HûO§ \ 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
new file mode 100644
index 000000000..176e2a69f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_157_5.dat
@@ -0,0 +1 @@
+xÚíØ1ƒ0DÑÞ§ñÞÿriœ˜( r*¥· „\™Õ~>Cï£*¥ú¬v¹ïsýØ]Åœ_{W!Çzﶬ/ÏÝÞõ÷ÝÅÕ)½Ë™»¹Áöä¤vÿ ›ÏV‘®×6ÜV‘•Þ»ð¹Ã,f1‹YÌb³˜Ê Ìn^o¯¿>¿þí\Oï]øÜñ,Ïò,Ïb³˜Å,f1‹YyVž•gåYžåYžåYÌb³˜Å,f1+Ïʳò¬<˳<˳¾1‹YÌb³˜Å¬<+Ïʳò,Ïò,Ïb³˜Å,f1‹YyVž•gåYžåYžåYÌb³˜Å,fÿïÝukys77—Èì}ïvçŠÉæmbž=¥wÙsw³)ï»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
new file mode 100644
index 000000000..70d5fb008
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_161_5.dat
@@ -0,0 +1,2 @@
+xÚíÜI
+ƒ@н§éºÿå²ÑDp@ èo|m ˜¢ßrHk㨤Ñ~c˜½o³^ÝÃJz­×°‚–#5l»¿î¦S_92Ûî ©“[¯}¾ÜÃÈZÊŸ‡ó=œìTê2ìÿÆ€×P‘™2[cVì衆ÌC–Yf™å'-‡ÛìXÎ9>üv§Ë~u»“½sK5ì`Êe¹,—å2Ë,³Ì2Ë,³Ì2Ëç-ë—ßÐ//¯/o_q¾}KÇç¾ä²\–Ër™e–Yf™e–Yf™å³–õËoè—Ý+òÿ¹/¹,—å²\f™e–Yf™e–YfÙ³úe÷Šx¶B.Ëe¹Ì2Ë,³Ì2Ë,³Ì²g+ôËîñl…\–ËrÙ16Ë,³Ì2Ë,³üì<œv.×r륆Á½Þ¼‚™ýrO5ÌÿŸöÔs_ýZÎÉ”uËI¹_ÃìÞ*Ÿ \ 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
new file mode 100644
index 000000000..94af813d9
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_165_5.dat
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
new file mode 100644
index 000000000..921a77076
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_169_5.dat
@@ -0,0 +1 @@
+xÚíÛÑj„0Ð÷|Íäÿ®/¶niµ¢K¹£'ŠÈÊ.rö:ÁT-m&¶ZÛx9¯yüq§3rÿµOgàv¼OO_zׯ§u`]ÿüÈ·¾ßitëا™ãt½Ùñil¦oc¿‚ö1ã3j9Ž%_g|ëÔ§Æ)ûì³Ï>ûì³Ï>ûÏ°¿=×teÌ&õþ_ã4¤Þÿ²¿=×t¥UŸÊ}¹/÷å>ûì³Ï>ûì³Ï>ûO´¯Þr½5/u“¹>¹/÷å¾ÜgŸ}öÙgŸ}öÙgÿ®öÕûO®÷½Ûsv®OîË}¹/÷ÙgŸ}öÙgŸ}öÙ·–G½o-w{¬å‘ûr_î{ægŸ}öÙgŸ}öÙg_½¯Þ÷nµ<r_îË}Ïüì³Ï>ûì³Ïþ=ì×n]˜4Nk§Öβ_Êðÿ­÷«M½¿ž¦×ûû´Ï8ím?ñÿ´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
new file mode 100644
index 000000000..f9a674136
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_173_5.dat
@@ -0,0 +1,4 @@
+xÚíÛ[
+ƒ0Ðÿ¬&³ÿÍõG1Ðø¢gäD)[°Cz¼±÷eDÖѷц÷=R¾NÏ6²îóÚFÒíJm ÞÏJq÷Pœ}ëxÞö séîÑ_¾õ}¶éGÚF©y;žíú¿‹
+[;ý]™öé¯eÃk[®ÅQbT«m±yË&0 L`ÂÌ„Y?á¨ÇðرÝÚæ¼wØ›· ïfý„£ÃcÇÊÕVNä9Á½˜À&0 L`˜×„Zý„¤}0=F=F9ANä÷L`˜À&0 L`Bz¬Y²fIñß=F9ANä&0 L`˜À&0 ž‹´fIÑs‘r‚œ 'È L`˜À&0 L`<iÍ’£ç"å9AN˜À&0 L`˜ðVÖ­aB¯XÛ"ý„±²ù×,U­m…>Øö±
+=Æw˜óZ¶gBÎœ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
new file mode 100644
index 000000000..b07c636b6
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_177_5.dat
@@ -0,0 +1,11 @@
+xÚíÝÑŠÂ0Ð÷~ÍÌÿÿܾحˆšŠ ÎuO,"% ñô:$Xui=¹ÕѶ«×ÕƒŸïô¸g÷Ƹ?Îq­.úÕSo~æz׉¹õWï:ó™·=Žh1cÜqóøèñþ]ì”Ƕ¼îiÇÖ!÷¼ßçírß8Æó˜¬`+XÁ
+V°‚ õŠµÓê»j›Ïjž;—8ÆóX®+ä
+¹ÂoV°‚¬`+XÁ
+V°â?[1µ^ñh-Ö³5Z;§¶©¶ùrmS®+ä
+¹ÂoV°‚¬`+XÁ
+V°â;¬°ËZ,µÍYµM¹B®+ä
+V°‚¬`+XÁ
+V°‚ö™Z‹eŸ©Ú¦}¦r…\!WȬ`+XÁ
+V°‚¬`+ì3µKmÓ>S¹B®+ä
+V°‚¬`+XÁ
+V°¢cþò㊛Ç{g;¦^Qq5¡ZU»ÆÕÝ®ûŸQÛLã0+*&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
new file mode 100644
index 000000000..04f97ea69
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_21_5.dat
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
new file mode 100644
index 000000000..c20b59b1f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_25_5.dat
@@ -0,0 +1,2 @@
+xÚ‘a
+@!ƒÿï4îþ— ޳ʢš™ ?,"ÅÔÌ"j½¦¡Ž?n<¶OÕÛäa ¬w, l}rG‹M;ϦÏ9[ží ¤¢_ú±x|ŸÊÖ=´l4lK¨ýv½ \ 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
new file mode 100644
index 000000000..217ec1b8a
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_29_5.dat
@@ -0,0 +1,2 @@
+xÚÕ’]
+À ƒß=M¿û_n0W .«Ž=-ÁŸ4¡mÄy×B€ìÓ+² ‰·ÜR×á“çôˆ‹†$¼­Æƒ.=s/,+îB÷7žó³q®zÄ~§q>=GéÙêŽZùyÎ:—Ü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
new file mode 100644
index 000000000..726d7fd75
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_33_5.dat
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
new file mode 100644
index 000000000..6d32ca6fa
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_37_5.dat
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
new file mode 100644
index 000000000..e07c6172a
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_41_5.dat
@@ -0,0 +1,2 @@
+xÚíTA
+À »÷5Íÿ?7˜«ÈXMtxÒ´x©¤ …¸?@‚˜›7@ò¾~"éN$õ‡SÖÉ°Ä{ø+C³¨ÛA'Êör\PŒpè<Þ÷-¼ ͺ: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
new file mode 100644
index 000000000..5168a17f9
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_45_5.dat
@@ -0,0 +1 @@
+xÚíUA€ »ï5íÿ?ç„U:N&Z"†”:;4P1=ƒbNvSGÆM1¶ÜË›½n<ëv`q³¤{ìîßMg§ã¶4þå=Gó-T¹‹º?›“Ôß='kíÈu™Û­ž“õ>‘ëß'¯®çþÜ(éκŽö 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
new file mode 100644
index 000000000..9f3f3cd7d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_49_5.dat
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
new file mode 100644
index 000000000..449807bae
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_53_5.dat
@@ -0,0 +1 @@
+xÚíVAÀ »óúÿÏíâ"Ë zYf5ƘJC ª ˜A;ÄÜáé¾Âlû\˜,†ëdòR.¯ \(åe_Ýú ³æôеaNi5†ª\żŽ†ÿÐÐë‡aLPòò(¯ÐàÒ;×ý±2שÃãå¯jÈN6O u…+é¯Ñl{y•«6odúá^ ãÚàç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
new file mode 100644
index 000000000..c7dd81f39
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_57_5.dat
@@ -0,0 +1,2 @@
+xÚíVA
+À »÷5Éÿ?·‹NÝlªƒZ‹HAbB‰Z0aÓ ìÎMÆÒÃd`1Ýz”'"<Õ1™æ9nvͨ.ãô )bÝ»µ~¤;˜<KÛÒö‡Ú¾x_×Ö÷ÛEu 3ã·][ÿ/[T«oËJÛϵU羉4Ïçévå HûPnÖäë|»òÛ˜Im!wîL1/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
new file mode 100644
index 000000000..dee749fbf
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_61_5.dat
@@ -0,0 +1 @@
+xÚí—Q€ Cÿwšíþ—óC ÁÕ–ÏB ‰¾´.Ý›•wÙpí¯¯»žKv€g;ÌÞû|3:ÅÆ}÷Ø“c0þÉ´ j­­Öj7(©lÑwe^™WæJæɾ…ÐSïÌwßÐt_e‹¾«Î«·Tæ•ùŠMœÏßOçsæô9ubs=Õ?þ‰ò~~Š­ù>Ÿ9ú¾ÕZ#tõBÁ~ \ 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
new file mode 100644
index 000000000..ecd938068
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_65_5.dat
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
new file mode 100644
index 000000000..ead4edc1f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_69_5.dat
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
new file mode 100644
index 000000000..00001176d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_73_5.dat
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
new file mode 100644
index 000000000..1652cdc2d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_77_5.dat
@@ -0,0 +1 @@
+xÚí˜Q€ Cÿwšõþ—ó#&C`T£±ÃÃ6¼”ƹ—B¶ü(«Þ©9Ü Ù'Ö†äÑÖìƒÚ¢ÓÀÀzk·å"hõÜêÝv.` »øâücXöB5[ñ(ÅÖF>71Ó/3ò4ÎØΪz÷^'ÑÔÝ[˜Fyglg•®M>•OÅTLÅ4Ï”{÷&3ëWy*ŸÊ§b*¦ï`ºÚ<3õ;´‘îÞVo0÷/s—6nÿ‘§Ï0Íya½ß[û”ªmácE \ 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
new file mode 100644
index 000000000..71215e952
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_81_5.dat
@@ -0,0 +1,3 @@
+xÚí˜Á
+À Cï~Móÿ?·Ãtz°U4½ŒÔ"£ }tšÕÀMX2|.îÉ‹¸Ë™F\œžð¸õÑÂ~mõ‘4 ÷±¿ØXu
+Ù”, ÍÌw—:— E†Æ„>ŠµXÿõ̯=_Ö]g>±>óÂÆzæמ‡/ë)5ךk±k±kùµüZs­¸X‹µX¿¬Y{Ü®Ñè}ô¶áç~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
new file mode 100644
index 000000000..09cf0e281
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_85_5.dat
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
new file mode 100644
index 000000000..5fff53069
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_89_5.dat
@@ -0,0 +1,2 @@
+x򒪇
+à „ÿû4Éû¿Üþ¸5eÆÙå®npQ¤´ Gú™cÖÍf‡µðl^^‡;;bŽ5;`¬k¶©¶U͹߮¾ßj`ÍNósÜùùO=Ú\[a6‡žÁ°¶~ÞnLÍD?‹ ±!6ÄÆ°ñuüÈF%w¿*Ȭ²ÌkÎù¦f¢Ÿ77”SĆØbƒÃ†êXodw_ùØ—mµ¨â†â†ØbClüÈNÛ™ ck&äîY¯­VoÜ¡™×·B×¢»Ø¨œAl6Æ šæJjÜx \ 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
new file mode 100644
index 000000000..ec4240bd3
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_93_5.dat
@@ -0,0 +1,2 @@
+xÚí™K
+Ã0 D÷>æþ—ë&©»ð¯µ& áÉÆ fP^”ÁŠ8BY5ÊÇs(imœ®¼ÙÒ®¤±®=f—µ÷3¨/wÛ§§‡E»¬y¯§ŸïYŽQ¦wf‘á[}¯å¨ ²„[»9ï0303ÏefÇÏÌ™Ùñ3'3=<òÆK{níæ¼Sg¨3ü›`f`f`æ¿Ìdø™ÞÞè®oiü£¦ÎPgø7Á ÌÀ Ì܇GµjkÞG]í}?V/æë kÒ×Þ÷ÀWi72–Js™vÃ|*"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
new file mode 100644
index 000000000..509d1174f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_5/mask_97_5.dat
@@ -0,0 +1 @@
+xÚíšA„ E÷œ¦½ÿåf!3bf5í¯Æ¼Bˆ‘ùé£|#f=<3l6<›§Ž_+xjÿ©ÁÛ) “ÙÝ©Ãy°“ïÿ¯ ‰J ¹yXiïÜ»ª5¤IzsÙžîcëuÄeQ¡¡ °K°K°K·d)â—>,ͼwx®DƒÖ·.,;ãÂsÔ%êg,Á,Á,=€¥ëýRÐóὓ¼7u‰ºÄK°K°ôT–D÷†<(n lY’þŸÞhÐùVÛ¹s÷Þ•ôy¸Œ¥´ýP±§Eñ<¸ö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
new file mode 100644
index 000000000..13f97a0fd
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_101_6.dat
@@ -0,0 +1,2 @@
+xÚíšk
+„0 „ÿç4Éý/·Ën_.‰Ê2#ˆS‹H”6±_“PâÞZ ›Ïf˳_¡îé,ï7ØžÛà+·%×åWÇÂîd„–âÏnå}–“_&«Ok;Œ×úP¾Çfµ>³t‚yY×¾]Öns °;s·æs‚Ú,º!Lk¬ÁÔ…cbLŒ‰12cÔX9Ëó1 ÔÀZç#XÐò±En#;ÏsvŒT~L~L±RŒ‰11vsÆ.‹•”³‹1‚ò±¿ò1ù1ù1ÅJ1&ÆÄØÓÙŃó1ù1ù1ÅJ1&ƞī²gËØ KLƪjl¬¬k{g¼Úž5óKò1/ëÇù¯~,aŒ»ù‰õc««ö$“Þ \ 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
new file mode 100644
index 000000000..a58fec749
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_105_6.dat
@@ -0,0 +1,3 @@
+xÚíšQ
+ƒ@ Dÿsšäþ—k¡®ÙBÒZ»#o)Sd}ÌGÜ·Šå¹lú쯯Ö^‹žúú³®)G]Sñ4ÝS×ëšÞÞñ¸ó?½#BºZö:Õã+{þñÅ×s§ÁH¨KþNóiIŽÂ!¦«mþòe1
+RWe9!ÿ¡`ö`ï¶ìUy¯Ë€§uë:檞»ëÖåšU=w×-ûo•ÔºwB·}cMÞKßÃ÷è¹°{°{ä=òyßÃ÷è¹°{°{ä=òyßÃ÷è¹°{°wSö¤caoìi'Ýföºé½õyO=C•yO=C•y¯›ß[Ÿ÷Äó{SÞ»œ=—;Ÿ|v4}ϯ2‰¨¸0§ \ 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
new file mode 100644
index 000000000..be7b4749e
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_109_6.dat
@@ -0,0 +1 @@
+xÚíšAÂ0 ï~ýÿÏDBHÓC½HãV2‡Æ0Ùn¥uoªò£lø쯯²¯Ë»=Û¢s9[ˆŽõl'«ºÝ?™íë7ÏíR"¯ &“§Û2™ÕßÏ:7QqX_•n» §û]£$ÓÕš–EIYôÁ*¦³ÆL”üq0 “0 “0ù{LJýäз(s\ɳwœô¾‰¦X÷-Ó7^öÑIt„I˜„I˜„Iü$~?‰N¢“0 “0 “0‰ŸÄOâ'ÑIt’g7LÂ$Lþ-“›„¡€Iuzrfr M÷“^ê'}“éÍ÷“•ùÉ(ÉO~RŸé]1Y²ãLÄžuÒå9ó¡QÍÓ• \ 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
new file mode 100644
index 000000000..397f52741
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_113_6.dat
@@ -0,0 +1,3 @@
+xÚí›Ñ Eßû5ôÿN£°¤Õ‰ëõÁÃÈbF6¨on´¶¯,m›>·gSÅ9ìñÞRWã½ðˆcŒÇ•9Œ&»%‰1ùöÏ_÷Þcx= GR^°šw-z?Ãêdzõvî=î,¹ê°}Ô¥?ǹژ³:Å9œmÓ=—ó=@U”¶ä²‰„UX…UXýVe ³ûÕÜÅ~Õby4WúÕéiæ¿:Ýe=ó‰ó¡<SZmAWÑUtVaVaVaõZVñ«5~µüÿÕþ´åVè*ºŠ®Â*¬Â*¬Â*¬^Å*~•wk¹ºŠ®¢«°
+«°
+«°ZϪb¥õ‘ÕayT¬f«ëüj¾ÖºÊ¯jÖZÏ~µÉß´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
new file mode 100644
index 000000000..99108bef7
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_117_6.dat
@@ -0,0 +1 @@
+xÚí›a Fÿ÷4íý/§‰#EœŒv3¾nŸŒŽ·/m ª›Y´©›T¿õÑwm<õ~?ölûjÁGÛ×îøšC×qSÿ/¯¾6f£tÝŸ¥oï¿Ó”f^ûl'ó7`ÁŸZø²ÌCÊ Â?×úŸ¥heª®²i¤¥šXq4Ó[Ù€´Ô‰…a†a†aþ†û9]P‹ÌÅñ³YžÍìéM<6îçaË[äð¸gÞ:Œ£Ã0 Ã0 Ã0 ×g˜x8:ÎYã¨z;7§C‡Ñat†a†a†aøº ³Æ±,§C‡Ñat†a†a†‹á´íþO çU6Ô «8¢âáÌ=ðgî÷xx\ǵƑXÇQåt§2¬©JœZ‹ä:¬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
new file mode 100644
index 000000000..f3c329945
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_121_6.dat
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
new file mode 100644
index 000000000..ff64d44fc
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_125_6.dat
@@ -0,0 +1 @@
+xÚí›A„0E÷œ¦Üÿr3™±¶&H °yØb+öùSlhí0Ͳ6L¦ëöwEŸÍÑ¿žœfÇ®I‡»÷¤vî;»íó&vwž,oýÅ]ué¶dþ]|½k棘øÞ9ÔŠCú“¦}îs“1»9Jw9Ë¡½Zb¢=ðŠèå€PK&æaæaæaæa>€ù’õüɼ—Æú$<>¯OÑôvòÊù'ÅûËåCçÑytæaæaæaæa~›ùòõ|êžÔÙ'9li‹Î£óè<ÌÃ<ÌÃ<ÌÃ<ÌÃüóìI‘æç°è<:ÎÃ<ÌÃ<ÌÃ<ÌÃüóÙ•WæDz¸‚y¿:.z=¿ª ŒÝ“ʯ œsØVšÃ¶E=ll›_k0_#võ°³Î¯˜mÝ÷›j \ 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
new file mode 100644
index 000000000..b4695c3ff
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_129_6.dat
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
new file mode 100644
index 000000000..40911dc57
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_133_6.dat
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
new file mode 100644
index 000000000..43ccb68c6
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_137_6.dat
@@ -0,0 +1,2 @@
+xÚíœÑƒ Eßû5ðÿ?·e…¥ÕÍÍ^²4fHåp[1-e)UQÊV¬û]žU™W÷Nî5ù§o“*8|›Œ÷Û©ìW¹£š6žbk?Ý÷ÿ{‹f¬´„ì|>¾sÖª‡ìür6öö¸“6‡«ú°6ÉrÒŸ¶=ûüv¸Ú²þWy±Ú ¢¶Š-¸Ê'
+ìÀìÀΟ²ãÅ;q tQE>U–϶öf‘¯•ê³­ìxñN]TcÑ(sâ®7tÝAwðÙ`v`v`v`çkvˆwfŽwtû;]«ùÞ ;躃Ï;°;°;°;çÙ!Þ™;Þaoôå]ºƒî ;øl°;°;°;°Ã· | Ê· èºƒîà³ÁìÀìÀìŒì(3}Œìl.­š?«…"Þ‰r}äÇ;Ú\}¼S¦Ù-AžœüwÚ<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
new file mode 100644
index 000000000..0340409a4
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_141_6.dat
@@ -0,0 +1,10 @@
+xÚíœa Fÿ÷4íý/§‰c Òêâ¤]òزÈ…¥ª[²¬¤=Éð[E럓ÖÜósî¹m,éšÛfÒn/ß|kj\ä¿òj§?g½ÝþòÈ[qþû(NO˜Zc5ûŠ©SGGP[oM×Vá’Ö¸´éf¼¥÷vÖL<<eÓ
++‘Äša*XG6¬ÄÀ)˜‚)˜‚)˜‚©cLåúS½6±tj¨Mö]o÷ÀßW8¿D~ñO·šD£`•?µ×†N¡Sèk?˜‚)˜‚)˜‚)˜*ÉþÔUü)ïÌ×? þSIÁ=
+t
+B§XûÁLÁLÁLÁT5¦ð§®âOqæîQ Sè:ÅÚ¦`
+¦`
+¦`
+¦ø†Š3_¾¡E§Ð)t
+¦`
+¦`
+¦`êâL¥‡¿yb*?2ÐÈT5i½?U!ÆK÷§*ÄxéþT7iý™o¸IÃEI¦´„R•ˆEÖuJ+MÆ7 ºÄ' \ 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
new file mode 100644
index 000000000..6c1421513
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_145_6.dat
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
new file mode 100644
index 000000000..69e988350
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_149_6.dat
@@ -0,0 +1,2 @@
+xÚíœÑ
+ƒ0 Eßó5ÍÿÿÜÆfµƒ47ÍÝ8UD“6Ëñ’ÓÚ2¼z´mØpßž¦ªk8«»¥öŒ}åÅGì«ÉôÓ•ÅëN}?}æÄW“:ƒÈÚguàWA´ËŒ7 ~Û;­)ƒÇâãØ{̪ǿ+ÖWPþºOÛ¢¤öÍþrµEƒ\j˜wG)yË–àw©À‚A„A„A„AM%òÁá™æ2ùà`µµ2«’d”³l–¯àÚ|p}¦eqP’¢ƒè :ˆ    Âàe j想=úlïþT5™©É ƒè :ˆ    Âà© ²Gÿë{ôÔdö×dÐAtDaaaaaï&Ø£§&Ãwè :ˆ    Ö1¨ÒÙð•Á-MRb0éÖW˜f½ ëöèuzŽ5™&Y“iIѺšŒNÑ€A­—»PÑQS«ÎþL}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
new file mode 100644
index 000000000..3ab6130ed
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_153_6.dat
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
new file mode 100644
index 000000000..b45c0ceec
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_157_6.dat
@@ -0,0 +1 @@
+xÚíÝA‚@DÑ}Ÿfæþ—ÓDÐN%¾Ón Ã§ü,ÚÖ–ÕSVÛVí>·ÇW³Ã³»—CöaïzÈ6îÝÉUü¼~Ò»·{`ný•Š¸õÙÉÝ»dvVýy~µrÒ·Z¯"çq·Ûk{>g$ÅáXK¶õÈU}m\b÷ja¤GÞx˜Å,f1‹YÌbö¿™òÙ]½z¬‘­Ìž½ƒš^¯.ë5Ó[?Ö嬜•³r³˜Å,f1‹YÌòY>Ëgù¬œ•³rVÎb³˜Å,f1‹Y>Ëgù,Ÿ•³rVÎúmŒYÌb³˜Å,fù,Ÿå³|VÎÊY9‹YÌb³˜Å,fù,Ÿå³|VÎÊY9+g1‹YÌb³˜ýŠÙ‹ ½̦M7>2{9zºÏ¶hŸm3Éçûlò|ã9ßxóÙ¼™ä#f#Ÿx•6 ÿ˜³-î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
new file mode 100644
index 000000000..ecec68b1a
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_161_6.dat
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
new file mode 100644
index 000000000..d641dfa3d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_165_6.dat
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
new file mode 100644
index 000000000..ae689723d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_169_6.dat
@@ -0,0 +1 @@
+xÚíÝáJÃ0Ðÿ÷i’÷9[ÛJÓɘók{²1Äb˜!gßnhHkS뉭-­V?·¯KI¯»ïôó×ÏÝ1íý1Ýû§Æ£ÝŽ/½¨·Á˜ŽæÉ`þê/zû)*º=°Ÿ3Úì¿g6õöý^k6ÖÓ5CæÇéêYË<ÉK¨ÍkMùÚã[õy@ÓGµ&_=~¢²Ï>ûì³Ï>ûì³ûãµ¾ +õþõ'{«„Õ§_õVËŠÚx­-âJýËø<ӛܗûr_î³Ï>ûì³Ï>ûì³iûêý;×ûù÷öœr­OîË}¹/÷ÙgŸ}öÙgŸ}öÙ¿¦}õþ½ë}÷ö¼x­OîË}¹/÷ÙgŸ}öÙgŸ}öÙ·—G½o/{{ìå‘ûr_îûÎÏ>ûì³Ï>ûì³o/zß^÷öØË#÷å¾Ü÷Ÿ}öÙgŸ}öÙ¿†ý£d²ì'ŸÊ³µ|ÔQR½ßNSï·Ã3¹’êý³œËÓãÏåYÖú²ÏäÚ³ÿ‰ZÉ'Çms¿EŸÇ·j›5ø \ 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
new file mode 100644
index 000000000..95fa97c7b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_173_6.dat
@@ -0,0 +1 @@
+xÚíÝaŠÂ0Ðÿ9MrÿËí¢­M SÜ*:a_-²5hh_¿)©uÛZÖ­[éþ®÷¦lïÓoûÛ’sŸmKúšíø›NÇ{òÿãHÌ?x­Ï`l‡#fï9>’ÚŸ[¯õeé·Ð„ÏŽß“­¡ ï?þ^ìóöm÷ó®­ð*û/KËm¿—ãhËy%ÞËv-nKl¥í»Âè–í¤kK¸L`˜À&&Ìê g5†¯µ•(·gºwxôY¢ÜžîÞáa¬žpVcøZ[‰Æ#O=¡ëSNä9Á½˜À&0 L`˜Ç„¥ê ¹ç't­jŒjŒ]QNä9Á½˜À&0 L`˜Ás–ÌYRcü@QNä9 L`˜À&0 L`‚ç"ÍYRcô\¤œ 'È r˜À&0 L`˜ÀÏEš³¤Æè¹H9ANä&0 L`˜À&ü²¯ 7špÜ6¯`Â|õ²¬õ„hm¸œs–ò¯ ××ë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
new file mode 100644
index 000000000..e9f0476f0
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_177_6.dat
@@ -0,0 +1,14 @@
+xÚíÝÑn„ …á{žÞÿåÚ¤*4vÛ´u¦û¡1‰£²ø{<L­Gi‘Kí¥ ¿ëGUÌíäŠß÷Ç]çmÜ/ó6žÜÛjÿõ?mZ¤müzÌy/úξgÍjÏÿ\ÌÕ“—¢<`Å_¶ã>f{Š¿Ð¿³_ñù,¶,K9o 4ŽÇµôù7lËñÞniJiggiår<¤-MGÆ
+¬À
+¬À
+¬À
+¬xuVÄ÷+zÌÒRøCÌr9‡+Gqç6ÞQWžñb"ø×Qe×ï"ùWLº‚® +è
+ß XXXXX/ÁŠ|~Åj,ÖnŒÖmu¼MÞæÚÛ¤+è
+º‚®ð ‚XXXXXñ¯Ya,–±X¼Í;¼Mº‚® +è
+ß XXXXX晋ež)oÓ<Sº‚® +è
+¬À
+¬À
+¬À
+¬À
+¬À
+¬0ÏÔX,Þ¦y¦t]AWÐXXXXX;V¤Hù‰92mŽ¬Øe3éWdÉQØÇbeÉQؽÍ]>Ó˜Þf’|¦ƒ·™–5²H“û¸ëŠší¥÷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
new file mode 100644
index 000000000..6bd505b4a
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_21_6.dat
@@ -0,0 +1 @@
+xÚQÀ Cÿ9M{ÿËi]èÒýX‰1¤À Å-½ C!»É³Dìû7 W ìÙœ§Ø&rDñ)~Î]<MÎ ·3(>{ƒïA ¡«ÿíŽa²¼Sý \ 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
new file mode 100644
index 000000000..d45083aab
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_25_6.dat
@@ -0,0 +1 @@
+xÚQAÀ »÷5öÿŸÛ2)êe+Ä(XmÊZtÆ*(õÚ¹«;ÃçtJã<峂†_Ú¤‡3°oŠÜ½Ú´"Ì¢a²zh}Ñ&qv€µSGÊÖ™,ó-÷‡™J›Í4}³™¦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
new file mode 100644
index 000000000..0408e2240
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_29_6.dat
@@ -0,0 +1,3 @@
+xÚÕRA
+À0 ºûšäÿŸÛXcÔõ²ÓL(4E”ÔˆB
+8CÖܾ޳nÃM©+lǪÃÕ†Ožé1]&•Ú¥4UëD-6-$:6ÊdZá?yæÛlôÝf£?í˜ åŽ8?žß²±<Ûlôž}ž¹g›göí * \ 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
new file mode 100644
index 000000000..8de4ba5c9
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_33_6.dat
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
new file mode 100644
index 000000000..b37ff0ab6
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_37_6.dat
@@ -0,0 +1 @@
+xÚí”AÀ &ýÿçÚT `½ôèj<PÜ0¡¢jB#ÿ&š´âù,Yo´îê…fU¯Ùjó*UõÕú•ÑYÀ–¬[ƒ•oY5 Œ~Š5 T7bnb, …]Æ˘ûñü‚³¦‘ƒ-‹¹Ñ÷ñÃÌqF:s¢tæDcèØhÙ \ 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
new file mode 100644
index 000000000..c1535f785
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_41_6.dat
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
new file mode 100644
index 000000000..a7da7ee02
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_45_6.dat
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
new file mode 100644
index 000000000..64ded7093
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_49_6.dat
@@ -0,0 +1,2 @@
+xÚíVQÅ ûïiàþ—{K&·ÂêÇûYX¤³ØÙ0ï̦!=ÛýŠ­tÇån&ÅðfpŒWL
+±`¤/¯<Ï“KVrU¢\1öbGpáê@ÄìÓ‘&fNëŒ/+ƽqÙà ¢`ðàòAWÿçêSƒÉßRGpõþ_5|Æ|zÀ×xν:¸¢ªåJ©‚+WE©m4hÛ4Ú3tÜ­ƒ.×Á©A­g`\ÉÒù¬÷ʤþ*ÙÅ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
new file mode 100644
index 000000000..9139e3259
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_53_6.dat
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
new file mode 100644
index 000000000..61e7e2428
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_57_6.dat
@@ -0,0 +1,2 @@
+xÚíWÑà |çkàÿ®K¦ÂÜQ¹-Ë^@cª"Wr^U‡YÅÔM³>_Ý`åÃî8¦Ž¹€GÁ1“œ`–B”Ý`;»ù+ØÂì}åÄÌØ&s£ÒçŒ]<§J…QF=mb3 UŒF'ÚØ6¶Æ–á„E âü€¹5õJa÷wZØÖù60¢¬
+ß[¹·ë¶9¡±ý9¶”ì{Á–SšÛ\Ýž8Õ`k&­Áœos}{â[Rß¾ý[¥+—þwðºÕO‹èd^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
new file mode 100644
index 000000000..f2d3f10df
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_61_6.dat
@@ -0,0 +1,2 @@
+xÚí—KÀ D÷s¸ÿåÚ¤µE~Ý‚ihÌÄ'™
+ÑŽÍÀòNÏ'oVWßéà£jspèÚCzÓþìÑο©¥ÃaÌÏg!«…#WD%~Ü˃Y?±JÛfŒÚåR€E¸¢ŽÁKoæͼ™Ç˜§ü|Ƀˎ*ÌOÿP7 Šž‡åÛn¾ë¼½¥™7ósã†`ž½ïÌÍÖÀõsúåçdôD¾Ÿÿ¹Ÿsé~>ý<ßiÌK'Ž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
new file mode 100644
index 000000000..550fc8fe7
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_65_6.dat
@@ -0,0 +1 @@
+xÚíWQÅ ûïiäþ—{KžNLk?˜e$ŒQ´ikÝìÆÚ4¸çö1{˜á‰ð×`+®!úÚ®ºM Á? áû “’°È1b°8†ž £·¦.ŒÞ^ƒwÌÞò¹ìèsn²ÁFjè5¹…EaQX|‹=wä¼@°2v<òÅ‹Åž»‰–|4w»êê\ÔUXÇBQz+óÊT±ÈTǹÖcøBÓzž/4­ç8Õë,‘»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
new file mode 100644
index 000000000..a3e4fa0f2
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_69_6.dat
@@ -0,0 +1 @@
+xÚí˜KÄ @÷œî¹™dThÃðí¦ hLSSEžq eY@<ã¯+Þ*£|ß窮 %‹®‹>¥¡¨®‹¹zÃ*7ë–Åe´¤öÆ6ãQ¶½©S`šÞ.²¯>»sE Ë'¨%@[‘Ž6°@PË0Ãh £aôFÕxtpl²2§Âóý ‡Q-g1N†feo^ßøÑüë†Ñ0F¯dT>N_ÕOö’‘wË‹G3ìùªu†åœÁ»gˆå {‘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
new file mode 100644
index 000000000..ab71b70ae
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_73_6.dat
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
new file mode 100644
index 000000000..ad5a660e3
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_77_6.dat
@@ -0,0 +1 @@
+xÚí˜Ñà EßùøÿŸÛ²i‹ÙÅVäaË.š¦±F©§pST›YÖô4q÷ú~´z…«=Ÿä:öÍ’ û6îøÍüôm8‘¾:#0PضiDy:2Å '§ùZ­s±Š&}Ïôç滜\r‘0\¥Åš•˜Xw¬Â;iP¬äàÈ”Lœ)ÒS¬±£eÔ•Ü{hˆDu9÷L‘žb½•©JÞÒS÷ŒSÆ)™’)™ÞgZš{÷þeÜøŸé)ã”qJ¦dúLw+ƒ#Ó3-V0ÅÕ·lîjƒ¹™ýÚ ×S-ÕS ê½9=ݯ÷¦5ÁPPïõq1Mõ?å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
new file mode 100644
index 000000000..28a6d0752
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_81_6.dat
@@ -0,0 +1,3 @@
+xÚí™Q„0Dÿ9 Üÿr»ÉÚR³LÕvök‡šÆ`´¤¯0 º;æi6ÜûçÑÚ\|ñí_¿êccÔ1«¢h¾ýuŒ§½ioÞó#2ƒ¬}x*.YûtÃ&¸­±
+Ö°¶ÀÖq/K‚;3ÌväeÐ̢Ȋ҂AÛH±ë?`]é5ÒðK¿¡Êü´†w¿!}{Zû߲žW
+Œ”yâ·¾Àž^§_y­¼k±k±–^K¯•×ªáb-ÖbÝYSÚ¸'ÖœNóÈuÃ×õšÕ#M½fõHS¯Q?|]¯IýðA¯ÆÚi™Mû÷‘yíì¤yuWà \ 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
new file mode 100644
index 000000000..d5403e49a
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_85_6.dat
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
new file mode 100644
index 000000000..eeeb5d197
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_89_6.dat
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
new file mode 100644
index 000000000..6ff38db68
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_93_6.dat
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
new file mode 100644
index 000000000..3a2072efd
--- /dev/null
+++ b/library/phpqrcode/cache/mask_6/mask_97_6.dat
@@ -0,0 +1,2 @@
+xÚíšaƒ0…ÿs¸ÿå¶dÅêÒÒFx[²=4ÆH–ùŠoŠj3«4í&§s}¹*ŽÃž— ÷a V¸cˆ&3žêÜ5‰arWç^aþ«÷LClÉÒzžqì,ÝÌÑ1†xî µ‰SQ»N»ô»]·¢/GiuÄ`&æ ¢–wƒ%‚,‘%²D–ÈYú"K½t¸¤+åHE'|R2Ï(v1¨öv–¢ÿqiëëŸqd‰,‘%²D–~€¥è%Ø»Jjï}íͺĺÄgY"Kd‰,ý+Kñö
+–]W–të+sF/)ü]¥.zNòÚÝ'`°>®½1='#–`+bƒ¥l]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
new file mode 100644
index 000000000..1f6bc5129
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_101_7.dat
@@ -0,0 +1 @@
+xÚíšQà Cÿ}rÿËm“Ê`éÚÊfªjòTé#±¥ÔäÞ54'tûí…îf¼aÈЇo°–$±c<ÙËêãÝÓÕñHÝ Ìh8„lÕÛûþÁëo=½Ä„ŽÅ§àHvº©;‹z€¤!ƒ|/‹FŽÐ3cfÌŒ‰S×Ê…±±ゼêñ 8©KŽ)4©9 ”Qç1ç1×J3fÆÌØÅ›S+ÅwÖcçõ˜ó˜ó˜k¥3cf캌ùîâ¾zÌyÌy̵Ҍ™±1¦{¨²bL÷¶çÍX™S+óï.to{>ô˜îmO§ÇJ2²û3cÄ<6ãXn0F´ ) \ 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
new file mode 100644
index 000000000..6b0cacfe9
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_105_7.dat
@@ -0,0 +1,2 @@
+xÚíšA
+Ä0E÷žFï¹a MÒ™˜N¾Px)¸pQ£¼è_è~ž|ñ(b¿F’„šç$.Ÿa¿o“ÝòWÿGNÚPæUÇ–·‰Mþ%{‡ëoôHQôÙUñl¯Ö´¿¬L^>+Éçm­“#{°{eo&Y2sÛoM•)gncO9s›ßZŠ³´3wÇo™„Ú+Âè{ô=f.ìÁìÁz½‡Þ£ïÑ÷˜¹°{°{è=ôz¾GßcæÂìÁÞsÙkCQÏžpÓíÊ^¶€&Ñ{^£÷¼Nï­Ê·UïÕìï ìe5°ç}¯æE‰wGûßn+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
new file mode 100644
index 000000000..9875cbe8c
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_109_7.dat
@@ -0,0 +1,2 @@
+xÚíšA
+…0 D÷9MrÿË}µÚ*˜ _x-d˜ú:Î"îÇŠ¢Ý-kÅ"Šâ¨š¢œ•dŒ{›¿Õ»ü¤·ñã¯ó³ÞÊגɬ|<b2+ßU á¶ý­ÊîÚ%Z}‰.Úq%Gi²¾¶h QA9˜„I˜„I˜üG&‹Éž·<ßø oÍ:Ï,ubÞ2}ãmÞ„_ D'ÑI˜„I˜„I˜ÄOâ'ñ“è$: “0 “0 “øIü$~D'ùwÃ$LÂ䇙TÌOvLVOO^˜<ÓøÉòùÉÞOúbµÄOºÎOºÖOºÊ›™Þ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
new file mode 100644
index 000000000..b6e215982
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_113_7.dat
@@ -0,0 +1,11 @@
+xÚíšQƒ Dÿ÷4pÿ˵M´PeQ‘6éÃd?Ô¸°>'ƒÒÚràQ5+ sûŒ¡)Ûc•Õê7úÕ-ÑÕó»1nní–ºqÿÉ”–ÔÍJtgô¬^îʉwÿ̘Ň-ùƒ?ÿ*š&Mmý@ee5éø^Ñ
+c¢”°
+«°
+«ÀªÒ,¬¶ýªïbï\1¿×3ýjõ4óØT¿ZžfÅ¢·»o鯠«è*º
+«°
+«°
+«°:›Uüêt¿*ü¿ú½¹ºŠ®¢«°
+«°
+«°
+«“Xů²0<·BWÑUtVaVaVƒYÕl
+Þ°ªÙkýf5éýª_Ö ¿ªÙkýáW5{­«µ€ä–5pnõC¬éªZ:¬Å 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
new file mode 100644
index 000000000..cde78c10d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_117_7.dat
@@ -0,0 +1,2 @@
+xÚí›Yà Dÿç4pÿËU•²ÈêIª>"ù%6æed ‘Ò8rðS ÍNsŽµU¯ánëk5¦Xe­øjѻު®u—Ûî¦ô¿ö±VÛXgøê,l`øøîuÝÊÀî÷£!‚h‰XZù\VãlM±ìë|[ͬÝÂ0 Ã0 Ã0 ÿÃí–#hF'ëøc]²±ž¾¦iéí>ìúŽûHÐat†a†a†a~<ÃÔÆzØyÆqkO‡£Ãè0 Ã0 Ã0 ÃðææŒãªžF‡Ña†a†aþ)†§2ÇË°éfÃ’áþ%ƒÀz8ùëátO=¼žâ€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
new file mode 100644
index 000000000..d5d577f7e
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_121_7.dat
@@ -0,0 +1,2 @@
+xÚí›[
+Ä Eÿ³šdÿ›ú°ŒÆi;^az,ø#6Æž^rÝׂ§h¶ŽôµÈêÐ&Ýì¨çÜ^amýËÀ•YŸ9×_Òغô5C·r–6ë®ðt^ù^ÅWlûÅÐEä˜ôز~É¿|èM®èmýÁåÛmSò}÷¶Ó( Û° Û° Û°}ŽmQ½]ŒZ§Vüq½]¼ÓvËѲ"™M¹1fÙúGÔÛÛ, q½½ÍB·Ñmt¶a¶a¶a¶ÂöÄz»eF²3»cxI¹—D·Ñmt¶a¶a¶a¶ÿŸmÎnð’ý$ºn£Û° Û° Û° Ûa[}ï¦`[yëæÀö–°¾Þ–Þ»)Ïn<¹æ4ÜKú/éó¼¤O¢»s§l¨nçlÔmŸµÝ/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
new file mode 100644
index 000000000..f9ec0887b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_125_7.dat
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
new file mode 100644
index 000000000..9bf51d529
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_129_7.dat
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
new file mode 100644
index 000000000..b643ffeda
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_133_7.dat
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
new file mode 100644
index 000000000..11d212bf4
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_137_7.dat
@@ -0,0 +1,5 @@
+xÚíœÝ
+à Fïó4úþ/· úc§‹«_Ç‚+¸{üSÚK<E±Óœ%um‰Ä”¶OÄÃcåPÕNsûÑuõÝß+Ÿ šÒʺQS,E)Öµ÷^ÿf¼Õaç—_ÃHkoKrÇ6»DÓZQ›öï‹Úö F><ŸÚÎo[l
+ìÀìÀΟ²Ó
+©ý0û¡7Ö‰µVÆl;b¶–ëüè™7æõfM¾S´†î ;è1ìÀìÀìÀìL³C¾<ßQí[+@wÐt‡˜ v`v`v`v&Ù!ß ›ï°7ÚX+@wÐt‡˜ v`v`v`v8 ÊYP΂¢;èºCÌ;°;°;°saG{™Ä;Ú»>vRœ|ÇžåùŽö®K¾£½ë£ØMÎðHÖ
+‚³#Ð(S›ËÎòúqÌçd \ 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
new file mode 100644
index 000000000..98dffab00
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_141_7.dat
@@ -0,0 +1 @@
+xÚíœA„ E÷= Üÿr“IëŒTY@¿ÉÄÅ0!µøø|1”²—št¹bG0µæԗѤ…s¡2Z/îç¿oa‚ìøÜ\ÿq¬ãzÜÛOnÒ‹MºÏñÞn™šñt„áX"Kÿ—m‘eM}çÚòCpµíÄP™L^¾µŒ„S0S0S0S£L ø)Ç”‚ŸÚ˜êYß¾%žÔbÑý,õS©l?ÕzC§Ð)tŠµLÁLÁLÁLI2…ŸzŸŠRX¶h¾£@§Ð)tŠµLÁLÁLÁLI1…Ÿz‘ŸbÏ·óŽB§Ð)Ö~0S0S0S0Å7´ø)ö|ù†B§Ð)˜‚)˜‚)˜‚©÷3Õ–«L%Ÿ tfª¬wM±Ÿ*:~ªhù©»¡Zºç«sn’cª÷$1UTtJgÆ8‹ÌÕOYºE \ 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
new file mode 100644
index 000000000..4aa2bac11
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_145_7.dat
@@ -0,0 +1,2 @@
+xÚíœÑ
+à Eßó5úÿ?W6Zµ ¦-›^é±àƒ2‰q§×ÄbG‰Ÿ¢X6(ƉuÍ"“LbÑbÝGuû÷ŽÎ¼®··Gkø¨:HwA[¿jšÔm¯øH¢ø¬Ýžï3ïŬýîßâOðkQ{l·|ê»èT›†EmÇ JfÙLÊ?ŸÚ2"&Á¬Á¬Á¬Á¬ÁÚ¬)Äk©ÝRf¢—µÙcï“Ñ̉ÓåFŠÑ,§“z©¦=躆®±‡„5Xƒ5Xƒ5Xƒµ7±F¼¶\¼¦p–ÚUs#躆®±‡„5Xƒ5Xƒ5Xƒµ°F¼¶d¼ÆYö•Üº†®¡kì!a Ö` Ö` Ö`o‰×8ËæÛct ]C×ØC¬Á¬Á¬ gMå­‚5…[´N¬%éÄk÷h•ñZp®?›¯IÜ£•Ï²ƒ^n$ˆÑæÞY7A×ÖÆëZP[¶ 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
new file mode 100644
index 000000000..809f00554
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_149_7.dat
@@ -0,0 +1 @@
+xÚíÜÑnà …á{? ¼ÿËu“Ú†­…´2»ÕG$nˆˆcççÈF¡µKëÉ×Ðb3ª÷ôþÖªt³îûªPc çÌ¥Ó7[¢?9:ñÕý['éÁë9'¾*Ó– àGæÜa°½hÖ_¿¹/«zÁ+Î6XB‡>ê˜2ôqYÀJ…0Êù黚BfaƒÄ 1ˆÁª ȇ9c7Gë ùOl©ô,Å^¥ßÅ꽓òÁ3ƒÕòA:Hé Ä 1ˆA bƒÄàÿ0X4œ%Ù«½û#ÇÔd>¢&Cé ¤ƒÄ 1ˆA bƒ<šA{ôo¿G¯&óLM†ÒA:H1ˆA bƒÄ 1è¿ {ôj2þ› ƒtbƒÄ 1ˆA &1Xç`¼_ Ö9ÛðÊ`«™®B˜¶G_çlÃ5™:g5™¶ajMæÍLÔÁŠËèƒIý <|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
new file mode 100644
index 000000000..c1ab27664
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_153_7.dat
@@ -0,0 +1,2 @@
+xÚíÜQ‚0„á÷= ½ÿ匉B5ˆ
+ю惤/ͲåïØIÙiº^-àî®Zkm|»YDhë9 ›ÎêÃ\{’KÇƶ·{Ÿy—³Ç3ßv†¶Ì»œE]u`RÚÇrý"›ß}ÛY ½ëeÂ2{ÛVV8][×.n:+2_ç¶ÊÂBÃ&6±‰Mlb›ØÄ&6ß`3i¿9Y³³åΌ諡yÙúU}ÔŸ82f-vÚ–Õ6 nÒMºI7±‰Mlb›ØÄ&6±ùólæî7ãÎð‚þÕ ¢›t“nÒMlb›ØÄ&6±‰Mlþ2›ÎüÍÙ^Ð/ˆnÒMºI7±‰Mlb›ØÄ&6±é;gxA¾C¡›t“núO‹Mlb›ØÄ&6±y€Íy•ÇfP¥Õ[6Ÿ4ºßÌ«Ù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
new file mode 100644
index 000000000..2db27f685
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_157_7.dat
@@ -0,0 +1,2 @@
+xÚíÜM
+ƒ0Eáù[M²ÿÍ•‚­ü£s¡_„ ž‰ÇÛã ­}F¹†Qks½‡Ì{Ý%¶WqÛ÷×îø.ž­¬Ýþϯ­]Ü8evV½ßbvV}è®_µÜEÌ»n3W^KÃ\Ÿ`äÖV캽çZl³˜Å,f1‹YÌþ;³af±Ôkž·Þ¨×úiàè“ÁÄzÍôÖËz?urVÎÊY9‹YÌb³˜Å,fù,Ÿå³|VÎÊY9+g1‹YÌb³˜Å,Ÿå³|–ÏÊY9+gý7Æ,f1‹YÌb³|–ÏòY>+g嬜Å,f1‹YÌb³|–ÏòY>+g嬜•³˜Å,f1‹YÌþÈlâùƳi§o˜ý.\¦ÏÆo<úl;9º:Âg[®Ï¶lŸmÁÔ^œ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
new file mode 100644
index 000000000..35ba8ff48
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_161_7.dat
@@ -0,0 +1 @@
+xÚíÜÑŽÂ …áûyšòþ/皨E)Æ®›î1~4áÂœý93,˵´ «+µØZT=Zeâ¶C»¹ú.<sþô¹ŸvÙÞÏ>~ißµ§¯ÊÞÖ&>Œ,–ÿÔï´6eù˜·í•Ö~,láW]ì ®»º2Íê꺱Ý\Ñþ;×µ2j"–±Œe,ËrXŒÝµVÓ(ícìµµZÓ–1‘™§8Þ©í§‰±/,'ÇØt™.ÓeºŒe,cËXÆ2–±Œåß±,_þŠ|ytõüç£ï|ÎÜ]¦Ët™.cËXÆ2–±Œe,cyËòå/É—­ysî‹.ÓeºL—±Œe,cËXÆ2–±lo…|ÙZ{+è2]¦Ëbl,cËXÆ2–±Œe{+äËÖŠØ[A—é2]¦ËXÆ2–±Œe,c9åÌCÐXÎ<ëþÆò’Ÿ/owsP¾œyÖý]¾œ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
new file mode 100644
index 000000000..e27fb8edf
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_165_7.dat
@@ -0,0 +1 @@
+xÚíÝQŽ‚0Ðÿ·š²ÿÍM&A,NĘ̈!—x0é‡&XZׇZ»-KØ«[êÞÉeÉj‡½Œëæx,ƒ§¼ú.ï·g}ë`;ÿþþ+k{ËÑ~1ŸŽÿ}á+k{ËØ¥ž™¾SGùWãgî}‡Ý¬@Û?_µö8í¾o+·k][·hô”Wü8~·u·ÜMÆgœqÆg|j<õ·ú¶¶Ú*ßq=<¯”Ïü¤æÛ“RwÆ“ëñÕøøÌüÄÌéŸÈq9.Çå8ãŒ3Î8ãŒ3Î8ãIÆÕãUGÿ?~µsnr\ŽËq9Î8ãŒ3Î8ãŒ3Îx€qõøÇÕã®yç979.Çå¸gœqÆgœqÆgÜ=)êq×À¸'EŽËq9.ÇgœqÆgœqÆwOŠzÜ50îI‘ãr\Žû­Î8ãŒ3Î8ãŒ_ÆøVvd}²ÇÞøü¡aõx˯ÇÛ5êñã)¹&ÿ9)ñÙÞf¼¥çxþ3øYH]û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
new file mode 100644
index 000000000..ef1a181f2
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_169_7.dat
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
new file mode 100644
index 000000000..3b5137125
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_173_7.dat
@@ -0,0 +1 @@
+xÚíÝÝjÃ0 Ð{=Mòþ/· RbÖH¬û«´rj\Ç=ý,ºm·coúZŽ8;»ïmÏ÷½mÛÝë±0b÷ƒ_ßšt$~Wu5ÛÇšNnÜ'?dÕf2¶í(oÁïßGÚ,Løþù÷õ6_{»zÅÑ÷Æ? Ë9úwq9Ç àS!ÆŒëÛ9Îoë€î2 L`˜˜pµŒ¬––O»Enï¶v8L˜²v8L¸º UáY×"ûd}ê K›r‚œ 'È ÖL`˜À&0 L`B'fÕ:ïO8ÛTcTc\kŒr‚œ 'È ÖL`˜À&0 L`BìY²gIñ§kŒr‚œ 'È ÖL`˜À&0 L`‚ç"íYRcô\¤œ 'È r˜À&0 L`˜ÀÏEÚ³¤Æè¹H9ANä&0 L`˜À&ü'úÿ!Ø;êÅq+¶Yõ„l*´Ü³´þ=Ø€ã9¶jŒ[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
new file mode 100644
index 000000000..068477c92
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_177_7.dat
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
new file mode 100644
index 000000000..4f9f1386d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_21_7.dat
@@ -0,0 +1,4 @@
+xÚQ
+À0 Bÿ=Þÿr]š˜-?]Rl‡ä݃2•¦¹nc
+ð[Ž¹öÝnùAÃ".–j+êi
+~‹x3<úaXÚ{H†ÖC1xÉÀ)â„á¤ü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
new file mode 100644
index 000000000..cefe1b972
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_25_7.dat
@@ -0,0 +1 @@
+xÚQAÀ »÷5ôÿŸ[F@©àaƒ„ÄÔÖZ̲… >;’ÐÀQ±ÊIÖÀQH8Rÿ¼ñÒˆGÉ"èz,ù½&‡ñþ;±­Ð'oñ»97”%P8%÷6oǽ;]ÞúNWnÝ[äf7¹ÌÕvÔ \ 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
new file mode 100644
index 000000000..e3d7391b7
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_29_7.dat
@@ -0,0 +1,2 @@
+xÚÕR9À ÛýšøÿŸ«ŠÈQpX˜$læŲf!I2pgSãªêªMZj·ºóÌÃÂ<K.êØ·
+ÂÇ—­Ñê^DŽ/è_yž/ßgcxVÙ0ŸBf#ŽÖÿ]BÇϽʳhí9Þ¹ËóÀ›^Ÿä \ 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
new file mode 100644
index 000000000..1763f4286
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_33_7.dat
@@ -0,0 +1 @@
+xÚíSAÀ@¼Ïkøÿçš6¨¨á²Ç’8Èì0 7-n† ZbE0¶"™£°t]…£µ3Ztqúó>"útŠðï¡e0¾¿#Ô›`_Ë1-±ÞóŽé´câÝÍ÷òha÷~/¡Eh™4¦Åæ"ä˜~Ï \ 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
new file mode 100644
index 000000000..87d9a1a9d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_37_7.dat
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
new file mode 100644
index 000000000..8acec04f0
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_41_7.dat
@@ -0,0 +1 @@
+xÚíTAÀ »÷5ôÿŸ[fDYæ(O’^¬ÅbR3/~t/L"¹Ä7SQQ5…jÔ\S—šiíñÎb£ß#Õ†ÈÂ×+Ç£¤w#æzõx?Þ㽧A-ëšw•u曑Y7$b.%AËÇ;•w«Rµ÷ñï•œ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
new file mode 100644
index 000000000..dbba31d0b
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_45_7.dat
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
new file mode 100644
index 000000000..be5dce8b7
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_49_7.dat
@@ -0,0 +1 @@
+xÚíVË€0»÷kàÿÎhœC-X.žÆ<ì¨h6Ì‹ 3À½ð,B Ô”ó,ç@’Ï€d5$K¸"T|p•%9"¼ypæ,ïâæ¡=<ÆÉm¡•÷˜Ô‰!‹«?¸¦÷DÀW"˜²(®¸Aó-Ö\- J\©{0p¥lÁWW]ƒÒŒ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
new file mode 100644
index 000000000..7028ef6d7
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_53_7.dat
@@ -0,0 +1 @@
+xÚí–KÀ D÷s¼ÿåš&´Råkºiª&,H)øtD×jÁ =¨µÐÎQa˜ž«P"d¹s1ZyC®|hey ­üCvéaH°›7ø‰+ùO…Åu¥QÎsZtb…°Íð7 µvãúÀŠ­h™VµÌ µ~èùà·1#ÿ~‡[Ëf˜†ùÙæfHkZ¶JtµœŸmZÎÏ6½—ÉsÕúá‹ ƒw¸rÍ&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
new file mode 100644
index 000000000..ee3107a3c
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_57_7.dat
@@ -0,0 +1 @@
+xÚí—A€0ïûšöÿŸ3&•ÒH)Kb¼Ð&ˆqÅÖžÕ[-ÌÀÞÏÖŒ …Ú9Ér¡Ys ×.«ÎiÝÓ¾`´ìòØú~—­ëGé{cœiƒÕ‚»\Y<˜.©|·Åì2´ØÛŸÙ2š ŠQQ[[÷^N·ë€88½líÏÃÁ[}[šPl?g+o*Ï–˜4W¶û1  ü Õ33˜Ò[¿\Gosó­bkèm”mËômÿÊ^¬¢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
new file mode 100644
index 000000000..76f8d7271
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_61_7.dat
@@ -0,0 +1,2 @@
+xÚí—K
+À D÷sšäþ—+-µ*5ÿm²¤cŸaT¢1Ø9—YÌ쌧êL9 糶¬²çísù//i‡‡Ê\„éb®ö©æÂÄ«âÞë-"^²DŒH-iÝ;bnA¢¼™7ófîet¶7Ù·yÌ£E:r”<4ß6ó(üu÷y{K3oæ"óÌý|a½oÌ?ᜟ‡ïç«Ÿ“ò´pù9åýœj~NêÆ›Èìs¹ÑçTYú¡ Â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
new file mode 100644
index 000000000..d8b920626
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_65_7.dat
@@ -0,0 +1 @@
+xÚí—A€ ïûøÿçŒI‘*í6^L!é…°¶ ¸i)mTÇT] VW\ï9e@—4Ku^Â#N%:ö,ÖÙmYÈÂJNã„è9¯“Šà¶©ˆvAè2úþÑÏœ”HÉ"YüšÅÜö +?`ýBXDüBX̽{¿‹Á.³Ëw‘ÿ¨d‘,~΂k’,¸^ïbQâ~±.Ãà\¯wó ®×ë^«Ï÷îOY˜ÞEôJmXâÑÏ"% \ 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
new file mode 100644
index 000000000..c2db0204a
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_69_7.dat
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
new file mode 100644
index 000000000..f414e4a58
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_73_7.dat
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
new file mode 100644
index 000000000..3e52bfd3f
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_77_7.dat
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
new file mode 100644
index 000000000..78e08dfc6
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_81_7.dat
@@ -0,0 +1 @@
+xÚí™ÁÄ Dïó5ðÿ?×lÒ"ÍŠÝ•¹u4áÀa„>ukv oÌ40Ý÷ãT±%9¯‘Ô6²ü÷ªU5‹*sI{`¹ªÿ™_²>S?ç}(:yâTïlï{G&E\”Ö6¨õ}"A’¤X‹õ XϬ«²³Ç<Âmwx°fÜá‘G”<k£ræU•eεεX‹µX‹µüZ~­s­;\¬ÅZ¬3ë¸|y¬ /ÍwÖÕÃp˯ë×Æ÷ëUÛ[~Í}O¬«oÓ`mÌsÍÝ‘¤)~,Ý \ 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
new file mode 100644
index 000000000..a53824aee
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_85_7.dat
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
new file mode 100644
index 000000000..32934a441
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_89_7.dat
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
new file mode 100644
index 000000000..1955f6b7d
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_93_7.dat
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
new file mode 100644
index 000000000..b277368bd
--- /dev/null
+++ b/library/phpqrcode/cache/mask_7/mask_97_7.dat
@@ -0,0 +1,2 @@
+xÚíšáƒ0„ÿßÓÀû¿Ü²D[ÌÚâV.K¶«Iÿ`…â'ž³sxáº÷Âyäå”$ùxãxÃ"Îéª×= O^&pêb¶ÊÈYʬž$êKŸÝ£àÁÉŽ8KŸ…Ë ÎeÃŒó¡¥ ÔøŸ3:$bI,‰%±$–ÄÒYb襶
+M)¯TôŽ %q®¬Èô綦EÿœX}jlØT—T—ôŽKbI,‰%±ô,ñõã_e[%íýŽöV]R]Ò;N,‰%±$–þ’%VŸ@`‰Ñ%pa©m€§—(}ñ_¥%í%ÚÛ¸ÚÛøÚÛÈ4¥='u)ai¿.;M¾ù> \ No newline at end of file
diff --git a/library/phpqrcode/index.php b/library/phpqrcode/index.php
new file mode 100644
index 000000000..9e14b7eaa
--- /dev/null
+++ b/library/phpqrcode/index.php
@@ -0,0 +1,94 @@
+<?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
new file mode 100644
index 000000000..80adb9df2
--- /dev/null
+++ b/library/phpqrcode/phpqrcode.php
@@ -0,0 +1,3312 @@
+<?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
new file mode 100644
index 000000000..7d4ec4a6c
--- /dev/null
+++ b/library/phpqrcode/qrbitstream.php
@@ -0,0 +1,180 @@
+<?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
new file mode 100644
index 000000000..e53dff8c2
--- /dev/null
+++ b/library/phpqrcode/qrconfig.php
@@ -0,0 +1,17 @@
+<?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
new file mode 100644
index 000000000..9fac9fdc1
--- /dev/null
+++ b/library/phpqrcode/qrconst.php
@@ -0,0 +1,54 @@
+<?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
new file mode 100644
index 000000000..4b77a5bdd
--- /dev/null
+++ b/library/phpqrcode/qrencode.php
@@ -0,0 +1,502 @@
+<?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
new file mode 100644
index 000000000..10b0a6e1b
--- /dev/null
+++ b/library/phpqrcode/qrimage.php
@@ -0,0 +1,95 @@
+<?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
new file mode 100644
index 000000000..0f6d7f944
--- /dev/null
+++ b/library/phpqrcode/qrinput.php
@@ -0,0 +1,729 @@
+<?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
new file mode 100644
index 000000000..d55c4af29
--- /dev/null
+++ b/library/phpqrcode/qrlib.php
@@ -0,0 +1,43 @@
+<?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
new file mode 100644
index 000000000..b14d7ae16
--- /dev/null
+++ b/library/phpqrcode/qrmask.php
@@ -0,0 +1,328 @@
+<?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
new file mode 100644
index 000000000..591129a32
--- /dev/null
+++ b/library/phpqrcode/qrrscode.php
@@ -0,0 +1,210 @@
+<?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
new file mode 100644
index 000000000..92aea0c78
--- /dev/null
+++ b/library/phpqrcode/qrspec.php
@@ -0,0 +1,592 @@
+<?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
new file mode 100644
index 000000000..d75b82737
--- /dev/null
+++ b/library/phpqrcode/qrsplit.php
@@ -0,0 +1,311 @@
+<?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
new file mode 100644
index 000000000..3012db493
--- /dev/null
+++ b/library/phpqrcode/qrtools.php
@@ -0,0 +1,172 @@
+<?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
new file mode 100644
index 000000000..b60a4853c
--- /dev/null
+++ b/library/phpqrcode/tools/merge.bat
@@ -0,0 +1,2 @@
+php ./merge.php
+pause \ No newline at end of file
diff --git a/library/phpqrcode/tools/merge.php b/library/phpqrcode/tools/merge.php
new file mode 100644
index 000000000..19d338b34
--- /dev/null
+++ b/library/phpqrcode/tools/merge.php
@@ -0,0 +1,70 @@
+<?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
new file mode 100644
index 000000000..e4c2fbcb8
--- /dev/null
+++ b/library/phpqrcode/tools/merge.sh
@@ -0,0 +1,2 @@
+#!/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
new file mode 100644
index 000000000..55ddb4506
--- /dev/null
+++ b/library/phpqrcode/tools/merged_config.php
@@ -0,0 +1,17 @@
+<?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
new file mode 100644
index 000000000..25805e564
--- /dev/null
+++ b/library/phpqrcode/tools/merged_header.php
@@ -0,0 +1,36 @@
+<?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/library/prettyphoto/README b/library/prettyphoto/README
deleted file mode 100755
index 1e5684253..000000000
--- a/library/prettyphoto/README
+++ /dev/null
@@ -1,30 +0,0 @@
-prettyPhoto v3.1.4
-© Copyright, Stephane Caron
-http://www.no-margin-for-errors.com
-
-
-============================= Released under =============================
-
-Creative Commons 2.5
-http://creativecommons.org/licenses/by/2.5/
-
-OR
-
-GPLV2 license
-http://www.gnu.org/licenses/gpl-2.0.html
-
-You are free to use prettyPhoto in commercial projects as long as the
-copyright header is left intact.
-
-============================ More information ============================
-http://www.no-margin-for-errors.com/projects/prettyPhoto/
-
-
-============================== Description ===============================
-
-prettyPhoto is a jQuery based lightbox clone. Not only does it support images,
-it also add support for videos, flash, YouTube, iFrame. It's a full blown
-media modal box.
-
-Please refer to http://www.no-margin-for-errors.com/projects/prettyPhoto/
-for all the details on how to use.
diff --git a/library/prettyphoto/css/prettyPhoto.css b/library/prettyphoto/css/prettyPhoto.css
deleted file mode 100644
index 8a2a2fd14..000000000
--- a/library/prettyphoto/css/prettyPhoto.css
+++ /dev/null
@@ -1,170 +0,0 @@
-div.pp_default .pp_top,div.pp_default .pp_top .pp_middle,div.pp_default .pp_top .pp_left,div.pp_default .pp_top .pp_right,div.pp_default .pp_bottom,div.pp_default .pp_bottom .pp_left,div.pp_default .pp_bottom .pp_middle,div.pp_default .pp_bottom .pp_right{height:13px}
-div.pp_default .pp_top .pp_left{background:url(../images/prettyPhoto/default/sprite.png) -78px -93px no-repeat}
-div.pp_default .pp_top .pp_middle{background:url(../images/prettyPhoto/default/sprite_x.png) top left repeat-x}
-div.pp_default .pp_top .pp_right{background:url(../images/prettyPhoto/default/sprite.png) -112px -93px no-repeat}
-div.pp_default .pp_content .ppt{color:#f8f8f8}
-div.pp_default .pp_content_container .pp_left{background:url(../images/prettyPhoto/default/sprite_y.png) -7px 0 repeat-y;padding-left:13px}
-div.pp_default .pp_content_container .pp_right{background:url(../images/prettyPhoto/default/sprite_y.png) top right repeat-y;padding-right:13px}
-div.pp_default .pp_next:hover{background:url(../images/prettyPhoto/default/sprite_next.png) center right no-repeat;cursor:pointer}
-div.pp_default .pp_previous:hover{background:url(../images/prettyPhoto/default/sprite_prev.png) center left no-repeat;cursor:pointer}
-div.pp_default .pp_expand{background:url(../images/prettyPhoto/default/sprite.png) 0 -29px no-repeat;cursor:pointer;width:28px;height:28px}
-div.pp_default .pp_expand:hover{background:url(../images/prettyPhoto/default/sprite.png) 0 -56px no-repeat;cursor:pointer}
-div.pp_default .pp_contract{background:url(../images/prettyPhoto/default/sprite.png) 0 -84px no-repeat;cursor:pointer;width:28px;height:28px}
-div.pp_default .pp_contract:hover{background:url(../images/prettyPhoto/default/sprite.png) 0 -113px no-repeat;cursor:pointer}
-div.pp_default .pp_close{width:30px;height:30px;background:url(../images/prettyPhoto/default/sprite.png) 2px 1px no-repeat;cursor:pointer}
-div.pp_default .pp_gallery ul li a{background:url(../images/prettyPhoto/default/default_thumb.png) center center #f8f8f8;border:1px solid #aaa}
-div.pp_default .pp_social{margin-top:7px}
-div.pp_default .pp_gallery a.pp_arrow_previous,div.pp_default .pp_gallery a.pp_arrow_next{position:static;left:auto}
-div.pp_default .pp_nav .pp_play,div.pp_default .pp_nav .pp_pause{background:url(../images/prettyPhoto/default/sprite.png) -51px 1px no-repeat;height:30px;width:30px}
-div.pp_default .pp_nav .pp_pause{background-position:-51px -29px}
-div.pp_default a.pp_arrow_previous,div.pp_default a.pp_arrow_next{background:url(../images/prettyPhoto/default/sprite.png) -31px -3px no-repeat;height:20px;width:20px;margin:4px 0 0}
-div.pp_default a.pp_arrow_next{left:52px;background-position:-82px -3px}
-div.pp_default .pp_content_container .pp_details{margin-top:5px}
-div.pp_default .pp_nav{clear:none;height:30px;width:110px;position:relative}
-div.pp_default .pp_nav .currentTextHolder{font-family:Georgia;font-style:italic;color:#999;font-size:11px;left:75px;line-height:25px;position:absolute;top:2px;margin:0;padding:0 0 0 10px}
-div.pp_default .pp_close:hover,div.pp_default .pp_nav .pp_play:hover,div.pp_default .pp_nav .pp_pause:hover,div.pp_default .pp_arrow_next:hover,div.pp_default .pp_arrow_previous:hover{opacity:0.7}
-div.pp_default .pp_description{font-size:11px;font-weight:700;line-height:14px;margin:5px 50px 5px 0}
-div.pp_default .pp_bottom .pp_left{background:url(../images/prettyPhoto/default/sprite.png) -78px -127px no-repeat}
-div.pp_default .pp_bottom .pp_middle{background:url(../images/prettyPhoto/default/sprite_x.png) bottom left repeat-x}
-div.pp_default .pp_bottom .pp_right{background:url(../images/prettyPhoto/default/sprite.png) -112px -127px no-repeat}
-div.pp_default .pp_loaderIcon{background:url(../images/prettyPhoto/default/loader.gif) center center no-repeat}
-div.light_rounded .pp_top .pp_left{background:url(../images/prettyPhoto/light_rounded/sprite.png) -88px -53px no-repeat}
-div.light_rounded .pp_top .pp_right{background:url(../images/prettyPhoto/light_rounded/sprite.png) -110px -53px no-repeat}
-div.light_rounded .pp_next:hover{background:url(../images/prettyPhoto/light_rounded/btnNext.png) center right no-repeat;cursor:pointer}
-div.light_rounded .pp_previous:hover{background:url(../images/prettyPhoto/light_rounded/btnPrevious.png) center left no-repeat;cursor:pointer}
-div.light_rounded .pp_expand{background:url(../images/prettyPhoto/light_rounded/sprite.png) -31px -26px no-repeat;cursor:pointer}
-div.light_rounded .pp_expand:hover{background:url(../images/prettyPhoto/light_rounded/sprite.png) -31px -47px no-repeat;cursor:pointer}
-div.light_rounded .pp_contract{background:url(../images/prettyPhoto/light_rounded/sprite.png) 0 -26px no-repeat;cursor:pointer}
-div.light_rounded .pp_contract:hover{background:url(../images/prettyPhoto/light_rounded/sprite.png) 0 -47px no-repeat;cursor:pointer}
-div.light_rounded .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/light_rounded/sprite.png) -1px -1px no-repeat;cursor:pointer}
-div.light_rounded .pp_nav .pp_play{background:url(../images/prettyPhoto/light_rounded/sprite.png) -1px -100px no-repeat;height:15px;width:14px}
-div.light_rounded .pp_nav .pp_pause{background:url(../images/prettyPhoto/light_rounded/sprite.png) -24px -100px no-repeat;height:15px;width:14px}
-div.light_rounded .pp_arrow_previous{background:url(../images/prettyPhoto/light_rounded/sprite.png) 0 -71px no-repeat}
-div.light_rounded .pp_arrow_next{background:url(../images/prettyPhoto/light_rounded/sprite.png) -22px -71px no-repeat}
-div.light_rounded .pp_bottom .pp_left{background:url(../images/prettyPhoto/light_rounded/sprite.png) -88px -80px no-repeat}
-div.light_rounded .pp_bottom .pp_right{background:url(../images/prettyPhoto/light_rounded/sprite.png) -110px -80px no-repeat}
-div.dark_rounded .pp_top .pp_left{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -88px -53px no-repeat}
-div.dark_rounded .pp_top .pp_right{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -110px -53px no-repeat}
-div.dark_rounded .pp_content_container .pp_left{background:url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat-y}
-div.dark_rounded .pp_content_container .pp_right{background:url(../images/prettyPhoto/dark_rounded/contentPattern.png) top right repeat-y}
-div.dark_rounded .pp_next:hover{background:url(../images/prettyPhoto/dark_rounded/btnNext.png) center right no-repeat;cursor:pointer}
-div.dark_rounded .pp_previous:hover{background:url(../images/prettyPhoto/dark_rounded/btnPrevious.png) center left no-repeat;cursor:pointer}
-div.dark_rounded .pp_expand{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -31px -26px no-repeat;cursor:pointer}
-div.dark_rounded .pp_expand:hover{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -31px -47px no-repeat;cursor:pointer}
-div.dark_rounded .pp_contract{background:url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -26px no-repeat;cursor:pointer}
-div.dark_rounded .pp_contract:hover{background:url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -47px no-repeat;cursor:pointer}
-div.dark_rounded .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/dark_rounded/sprite.png) -1px -1px no-repeat;cursor:pointer}
-div.dark_rounded .pp_description{margin-right:85px;color:#fff}
-div.dark_rounded .pp_nav .pp_play{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -1px -100px no-repeat;height:15px;width:14px}
-div.dark_rounded .pp_nav .pp_pause{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -24px -100px no-repeat;height:15px;width:14px}
-div.dark_rounded .pp_arrow_previous{background:url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -71px no-repeat}
-div.dark_rounded .pp_arrow_next{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -22px -71px no-repeat}
-div.dark_rounded .pp_bottom .pp_left{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -88px -80px no-repeat}
-div.dark_rounded .pp_bottom .pp_right{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -110px -80px no-repeat}
-div.dark_rounded .pp_loaderIcon{background:url(../images/prettyPhoto/dark_rounded/loader.gif) center center no-repeat}
-div.dark_square .pp_left,div.dark_square .pp_middle,div.dark_square .pp_right,div.dark_square .pp_content{background:#000}
-div.dark_square .pp_description{color:#fff;margin:0 85px 0 0}
-div.dark_square .pp_loaderIcon{background:url(../images/prettyPhoto/dark_square/loader.gif) center center no-repeat}
-div.dark_square .pp_expand{background:url(../images/prettyPhoto/dark_square/sprite.png) -31px -26px no-repeat;cursor:pointer}
-div.dark_square .pp_expand:hover{background:url(../images/prettyPhoto/dark_square/sprite.png) -31px -47px no-repeat;cursor:pointer}
-div.dark_square .pp_contract{background:url(../images/prettyPhoto/dark_square/sprite.png) 0 -26px no-repeat;cursor:pointer}
-div.dark_square .pp_contract:hover{background:url(../images/prettyPhoto/dark_square/sprite.png) 0 -47px no-repeat;cursor:pointer}
-div.dark_square .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/dark_square/sprite.png) -1px -1px no-repeat;cursor:pointer}
-div.dark_square .pp_nav{clear:none}
-div.dark_square .pp_nav .pp_play{background:url(../images/prettyPhoto/dark_square/sprite.png) -1px -100px no-repeat;height:15px;width:14px}
-div.dark_square .pp_nav .pp_pause{background:url(../images/prettyPhoto/dark_square/sprite.png) -24px -100px no-repeat;height:15px;width:14px}
-div.dark_square .pp_arrow_previous{background:url(../images/prettyPhoto/dark_square/sprite.png) 0 -71px no-repeat}
-div.dark_square .pp_arrow_next{background:url(../images/prettyPhoto/dark_square/sprite.png) -22px -71px no-repeat}
-div.dark_square .pp_next:hover{background:url(../images/prettyPhoto/dark_square/btnNext.png) center right no-repeat;cursor:pointer}
-div.dark_square .pp_previous:hover{background:url(../images/prettyPhoto/dark_square/btnPrevious.png) center left no-repeat;cursor:pointer}
-div.light_square .pp_expand{background:url(../images/prettyPhoto/light_square/sprite.png) -31px -26px no-repeat;cursor:pointer}
-div.light_square .pp_expand:hover{background:url(../images/prettyPhoto/light_square/sprite.png) -31px -47px no-repeat;cursor:pointer}
-div.light_square .pp_contract{background:url(../images/prettyPhoto/light_square/sprite.png) 0 -26px no-repeat;cursor:pointer}
-div.light_square .pp_contract:hover{background:url(../images/prettyPhoto/light_square/sprite.png) 0 -47px no-repeat;cursor:pointer}
-div.light_square .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/light_square/sprite.png) -1px -1px no-repeat;cursor:pointer}
-div.light_square .pp_nav .pp_play{background:url(../images/prettyPhoto/light_square/sprite.png) -1px -100px no-repeat;height:15px;width:14px}
-div.light_square .pp_nav .pp_pause{background:url(../images/prettyPhoto/light_square/sprite.png) -24px -100px no-repeat;height:15px;width:14px}
-div.light_square .pp_arrow_previous{background:url(../images/prettyPhoto/light_square/sprite.png) 0 -71px no-repeat}
-div.light_square .pp_arrow_next{background:url(../images/prettyPhoto/light_square/sprite.png) -22px -71px no-repeat}
-div.light_square .pp_next:hover{background:url(../images/prettyPhoto/light_square/btnNext.png) center right no-repeat;cursor:pointer}
-div.light_square .pp_previous:hover{background:url(../images/prettyPhoto/light_square/btnPrevious.png) center left no-repeat;cursor:pointer}
-div.facebook .pp_top .pp_left{background:url(../images/prettyPhoto/facebook/sprite.png) -88px -53px no-repeat}
-div.facebook .pp_top .pp_middle{background:url(../images/prettyPhoto/facebook/contentPatternTop.png) top left repeat-x}
-div.facebook .pp_top .pp_right{background:url(../images/prettyPhoto/facebook/sprite.png) -110px -53px no-repeat}
-div.facebook .pp_content_container .pp_left{background:url(../images/prettyPhoto/facebook/contentPatternLeft.png) top left repeat-y}
-div.facebook .pp_content_container .pp_right{background:url(../images/prettyPhoto/facebook/contentPatternRight.png) top right repeat-y}
-div.facebook .pp_expand{background:url(../images/prettyPhoto/facebook/sprite.png) -31px -26px no-repeat;cursor:pointer}
-div.facebook .pp_expand:hover{background:url(../images/prettyPhoto/facebook/sprite.png) -31px -47px no-repeat;cursor:pointer}
-div.facebook .pp_contract{background:url(../images/prettyPhoto/facebook/sprite.png) 0 -26px no-repeat;cursor:pointer}
-div.facebook .pp_contract:hover{background:url(../images/prettyPhoto/facebook/sprite.png) 0 -47px no-repeat;cursor:pointer}
-div.facebook .pp_close{width:22px;height:22px;background:url(../images/prettyPhoto/facebook/sprite.png) -1px -1px no-repeat;cursor:pointer}
-div.facebook .pp_description{margin:0 37px 0 0}
-div.facebook .pp_loaderIcon{background:url(../images/prettyPhoto/facebook/loader.gif) center center no-repeat}
-div.facebook .pp_arrow_previous{background:url(../images/prettyPhoto/facebook/sprite.png) 0 -71px no-repeat;height:22px;margin-top:0;width:22px}
-div.facebook .pp_arrow_previous.disabled{background-position:0 -96px;cursor:default}
-div.facebook .pp_arrow_next{background:url(../images/prettyPhoto/facebook/sprite.png) -32px -71px no-repeat;height:22px;margin-top:0;width:22px}
-div.facebook .pp_arrow_next.disabled{background-position:-32px -96px;cursor:default}
-div.facebook .pp_nav{margin-top:0}
-div.facebook .pp_nav p{font-size:15px;padding:0 3px 0 4px}
-div.facebook .pp_nav .pp_play{background:url(../images/prettyPhoto/facebook/sprite.png) -1px -123px no-repeat;height:22px;width:22px}
-div.facebook .pp_nav .pp_pause{background:url(../images/prettyPhoto/facebook/sprite.png) -32px -123px no-repeat;height:22px;width:22px}
-div.facebook .pp_next:hover{background:url(../images/prettyPhoto/facebook/btnNext.png) center right no-repeat;cursor:pointer}
-div.facebook .pp_previous:hover{background:url(../images/prettyPhoto/facebook/btnPrevious.png) center left no-repeat;cursor:pointer}
-div.facebook .pp_bottom .pp_left{background:url(../images/prettyPhoto/facebook/sprite.png) -88px -80px no-repeat}
-div.facebook .pp_bottom .pp_middle{background:url(../images/prettyPhoto/facebook/contentPatternBottom.png) top left repeat-x}
-div.facebook .pp_bottom .pp_right{background:url(../images/prettyPhoto/facebook/sprite.png) -110px -80px no-repeat}
-div.pp_pic_holder a:focus{outline:none}
-div.pp_overlay{background:#000;display:none;left:0;position:absolute;top:0;width:100%;z-index:9500}
-div.pp_pic_holder{display:none;position:absolute;width:100px;z-index:10000}
-.pp_content{height:40px;min-width:40px}
-* html .pp_content{width:40px}
-.pp_content_container{position:relative;text-align:left;width:100%}
-.pp_content_container .pp_left{padding-left:20px}
-.pp_content_container .pp_right{padding-right:20px}
-.pp_content_container .pp_details{float:left;margin:10px 0 2px}
-.pp_description{display:none;margin:0}
-.pp_social{float:left;margin:0}
-.pp_social .facebook{float:left;margin-left:5px;width:55px;overflow:hidden}
-.pp_social .twitter{float:left}
-.pp_nav{clear:right;float:left;margin:3px 10px 0 0}
-.pp_nav p{float:left;white-space:nowrap;margin:2px 4px}
-.pp_nav .pp_play,.pp_nav .pp_pause{float:left;margin-right:4px;text-indent:-10000px}
-a.pp_arrow_previous,a.pp_arrow_next{display:block;float:left;height:15px;margin-top:3px;overflow:hidden;text-indent:-10000px;width:14px}
-.pp_hoverContainer{position:absolute;top:0;width:100%;z-index:2000}
-.pp_gallery{display:none;left:50%;margin-top:-50px;position:absolute;z-index:10000}
-.pp_gallery div{float:left;overflow:hidden;position:relative}
-.pp_gallery ul{float:left;height:35px;position:relative;white-space:nowrap;margin:0 0 0 5px;padding:0}
-.pp_gallery ul a{border:1px rgba(0,0,0,0.5) solid;display:block;float:left;height:33px;overflow:hidden}
-.pp_gallery ul a img{border:0}
-.pp_gallery li{display:block;float:left;margin:0 5px 0 0;padding:0}
-.pp_gallery li.default a{background:url(../images/prettyPhoto/facebook/default_thumbnail.gif) 0 0 no-repeat;display:block;height:33px;width:50px}
-.pp_gallery .pp_arrow_previous,.pp_gallery .pp_arrow_next{margin-top:7px!important}
-a.pp_next{background:url(../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;display:block;float:right;height:100%;text-indent:-10000px;width:49%}
-a.pp_previous{background:url(../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;display:block;float:left;height:100%;text-indent:-10000px;width:49%}
-a.pp_expand,a.pp_contract{cursor:pointer;display:none;height:20px;position:absolute;right:30px;text-indent:-10000px;top:10px;width:20px;z-index:20000}
-a.pp_close{position:absolute;right:0;top:0;display:block;line-height:22px;text-indent:-10000px}
-.pp_loaderIcon{display:block;height:24px;left:50%;position:absolute;top:50%;width:24px;margin:-12px 0 0 -12px}
-#pp_full_res{line-height:1!important}
-#pp_full_res .pp_inline{text-align:left}
-#pp_full_res .pp_inline p{margin:0 0 15px}
-div.ppt{color:#fff;display:none;font-size:17px;z-index:9999;margin:0 0 5px 15px}
-div.pp_default .pp_content,div.light_rounded .pp_content{background-color:#fff}
-div.pp_default #pp_full_res .pp_inline,div.light_rounded .pp_content .ppt,div.light_rounded #pp_full_res .pp_inline,div.light_square .pp_content .ppt,div.light_square #pp_full_res .pp_inline,div.facebook .pp_content .ppt,div.facebook #pp_full_res .pp_inline{color:#000}
-div.pp_default .pp_gallery ul li a:hover,div.pp_default .pp_gallery ul li.selected a,.pp_gallery ul a:hover,.pp_gallery li.selected a{border-color:#fff}
-div.pp_default .pp_details,div.light_rounded .pp_details,div.dark_rounded .pp_details,div.dark_square .pp_details,div.light_square .pp_details,div.facebook .pp_details{position:relative}
-div.light_rounded .pp_top .pp_middle,div.light_rounded .pp_content_container .pp_left,div.light_rounded .pp_content_container .pp_right,div.light_rounded .pp_bottom .pp_middle,div.light_square .pp_left,div.light_square .pp_middle,div.light_square .pp_right,div.light_square .pp_content,div.facebook .pp_content{background:#fff}
-div.light_rounded .pp_description,div.light_square .pp_description{margin-right:85px}
-div.light_rounded .pp_gallery a.pp_arrow_previous,div.light_rounded .pp_gallery a.pp_arrow_next,div.dark_rounded .pp_gallery a.pp_arrow_previous,div.dark_rounded .pp_gallery a.pp_arrow_next,div.dark_square .pp_gallery a.pp_arrow_previous,div.dark_square .pp_gallery a.pp_arrow_next,div.light_square .pp_gallery a.pp_arrow_previous,div.light_square .pp_gallery a.pp_arrow_next{margin-top:12px!important}
-div.light_rounded .pp_arrow_previous.disabled,div.dark_rounded .pp_arrow_previous.disabled,div.dark_square .pp_arrow_previous.disabled,div.light_square .pp_arrow_previous.disabled{background-position:0 -87px;cursor:default}
-div.light_rounded .pp_arrow_next.disabled,div.dark_rounded .pp_arrow_next.disabled,div.dark_square .pp_arrow_next.disabled,div.light_square .pp_arrow_next.disabled{background-position:-22px -87px;cursor:default}
-div.light_rounded .pp_loaderIcon,div.light_square .pp_loaderIcon{background:url(../images/prettyPhoto/light_rounded/loader.gif) center center no-repeat}
-div.dark_rounded .pp_top .pp_middle,div.dark_rounded .pp_content,div.dark_rounded .pp_bottom .pp_middle{background:url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat}
-div.dark_rounded .currentTextHolder,div.dark_square .currentTextHolder{color:#c4c4c4}
-div.dark_rounded #pp_full_res .pp_inline,div.dark_square #pp_full_res .pp_inline{color:#fff}
-.pp_top,.pp_bottom{height:20px;position:relative}
-* html .pp_top,* html .pp_bottom{padding:0 20px}
-.pp_top .pp_left,.pp_bottom .pp_left{height:20px;left:0;position:absolute;width:20px}
-.pp_top .pp_middle,.pp_bottom .pp_middle{height:20px;left:20px;position:absolute;right:20px}
-* html .pp_top .pp_middle,* html .pp_bottom .pp_middle{left:0;position:static}
-.pp_top .pp_right,.pp_bottom .pp_right{height:20px;left:auto;position:absolute;right:0;top:0;width:20px}
-.pp_fade,.pp_gallery li.default a img{display:none} \ No newline at end of file
diff --git a/library/prettyphoto/images/prettyPhoto/dark_rounded/btnNext.png b/library/prettyphoto/images/prettyPhoto/dark_rounded/btnNext.png
deleted file mode 100755
index b28c1ef3d..000000000
--- a/library/prettyphoto/images/prettyPhoto/dark_rounded/btnNext.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_rounded/btnPrevious.png b/library/prettyphoto/images/prettyPhoto/dark_rounded/btnPrevious.png
deleted file mode 100755
index e0cd9c49a..000000000
--- a/library/prettyphoto/images/prettyPhoto/dark_rounded/btnPrevious.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_rounded/contentPattern.png b/library/prettyphoto/images/prettyPhoto/dark_rounded/contentPattern.png
deleted file mode 100755
index e5a047c3a..000000000
--- a/library/prettyphoto/images/prettyPhoto/dark_rounded/contentPattern.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_rounded/default_thumbnail.gif b/library/prettyphoto/images/prettyPhoto/dark_rounded/default_thumbnail.gif
deleted file mode 100755
index 2b1280f32..000000000
--- a/library/prettyphoto/images/prettyPhoto/dark_rounded/default_thumbnail.gif
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_rounded/loader.gif b/library/prettyphoto/images/prettyPhoto/dark_rounded/loader.gif
deleted file mode 100755
index 50820eedd..000000000
--- a/library/prettyphoto/images/prettyPhoto/dark_rounded/loader.gif
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_rounded/sprite.png b/library/prettyphoto/images/prettyPhoto/dark_rounded/sprite.png
deleted file mode 100755
index fb8c0f83d..000000000
--- a/library/prettyphoto/images/prettyPhoto/dark_rounded/sprite.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_square/btnNext.png b/library/prettyphoto/images/prettyPhoto/dark_square/btnNext.png
deleted file mode 100755
index b28c1ef3d..000000000
--- a/library/prettyphoto/images/prettyPhoto/dark_square/btnNext.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_square/btnPrevious.png b/library/prettyphoto/images/prettyPhoto/dark_square/btnPrevious.png
deleted file mode 100755
index e0cd9c49a..000000000
--- a/library/prettyphoto/images/prettyPhoto/dark_square/btnPrevious.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_square/contentPattern.png b/library/prettyphoto/images/prettyPhoto/dark_square/contentPattern.png
deleted file mode 100755
index 7b50aff88..000000000
--- a/library/prettyphoto/images/prettyPhoto/dark_square/contentPattern.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_square/default_thumbnail.gif b/library/prettyphoto/images/prettyPhoto/dark_square/default_thumbnail.gif
deleted file mode 100755
index 2b1280f32..000000000
--- a/library/prettyphoto/images/prettyPhoto/dark_square/default_thumbnail.gif
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_square/loader.gif b/library/prettyphoto/images/prettyPhoto/dark_square/loader.gif
deleted file mode 100755
index 50820eedd..000000000
--- a/library/prettyphoto/images/prettyPhoto/dark_square/loader.gif
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_square/sprite.png b/library/prettyphoto/images/prettyPhoto/dark_square/sprite.png
deleted file mode 100755
index 4fe354752..000000000
--- a/library/prettyphoto/images/prettyPhoto/dark_square/sprite.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/default_thumb.png b/library/prettyphoto/images/prettyPhoto/default/default_thumb.png
deleted file mode 100644
index 1a26e4b16..000000000
--- a/library/prettyphoto/images/prettyPhoto/default/default_thumb.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/loader.gif b/library/prettyphoto/images/prettyPhoto/default/loader.gif
deleted file mode 100644
index 35d397c9e..000000000
--- a/library/prettyphoto/images/prettyPhoto/default/loader.gif
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/sprite.png b/library/prettyphoto/images/prettyPhoto/default/sprite.png
deleted file mode 100644
index 5f07ddc56..000000000
--- a/library/prettyphoto/images/prettyPhoto/default/sprite.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/sprite_next.png b/library/prettyphoto/images/prettyPhoto/default/sprite_next.png
deleted file mode 100644
index 379dc0d0d..000000000
--- a/library/prettyphoto/images/prettyPhoto/default/sprite_next.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/sprite_prev.png b/library/prettyphoto/images/prettyPhoto/default/sprite_prev.png
deleted file mode 100644
index 1ee486514..000000000
--- a/library/prettyphoto/images/prettyPhoto/default/sprite_prev.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/sprite_x.png b/library/prettyphoto/images/prettyPhoto/default/sprite_x.png
deleted file mode 100644
index d4433ab0d..000000000
--- a/library/prettyphoto/images/prettyPhoto/default/sprite_x.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/sprite_y.png b/library/prettyphoto/images/prettyPhoto/default/sprite_y.png
deleted file mode 100644
index 7786ab512..000000000
--- a/library/prettyphoto/images/prettyPhoto/default/sprite_y.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/btnNext.png b/library/prettyphoto/images/prettyPhoto/facebook/btnNext.png
deleted file mode 100755
index e809c3b64..000000000
--- a/library/prettyphoto/images/prettyPhoto/facebook/btnNext.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/btnPrevious.png b/library/prettyphoto/images/prettyPhoto/facebook/btnPrevious.png
deleted file mode 100755
index 0812542cc..000000000
--- a/library/prettyphoto/images/prettyPhoto/facebook/btnPrevious.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/contentPatternBottom.png b/library/prettyphoto/images/prettyPhoto/facebook/contentPatternBottom.png
deleted file mode 100755
index a9be3b2ca..000000000
--- a/library/prettyphoto/images/prettyPhoto/facebook/contentPatternBottom.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/contentPatternLeft.png b/library/prettyphoto/images/prettyPhoto/facebook/contentPatternLeft.png
deleted file mode 100755
index 277c87a5b..000000000
--- a/library/prettyphoto/images/prettyPhoto/facebook/contentPatternLeft.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/contentPatternRight.png b/library/prettyphoto/images/prettyPhoto/facebook/contentPatternRight.png
deleted file mode 100755
index 76e50d0f5..000000000
--- a/library/prettyphoto/images/prettyPhoto/facebook/contentPatternRight.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/contentPatternTop.png b/library/prettyphoto/images/prettyPhoto/facebook/contentPatternTop.png
deleted file mode 100755
index 8b110bac6..000000000
--- a/library/prettyphoto/images/prettyPhoto/facebook/contentPatternTop.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/default_thumbnail.gif b/library/prettyphoto/images/prettyPhoto/facebook/default_thumbnail.gif
deleted file mode 100755
index 2b1280f32..000000000
--- a/library/prettyphoto/images/prettyPhoto/facebook/default_thumbnail.gif
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/loader.gif b/library/prettyphoto/images/prettyPhoto/facebook/loader.gif
deleted file mode 100755
index 7ac990cf0..000000000
--- a/library/prettyphoto/images/prettyPhoto/facebook/loader.gif
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/sprite.png b/library/prettyphoto/images/prettyPhoto/facebook/sprite.png
deleted file mode 100755
index 660a254f1..000000000
--- a/library/prettyphoto/images/prettyPhoto/facebook/sprite.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_rounded/btnNext.png b/library/prettyphoto/images/prettyPhoto/light_rounded/btnNext.png
deleted file mode 100755
index b28c1ef3d..000000000
--- a/library/prettyphoto/images/prettyPhoto/light_rounded/btnNext.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_rounded/btnPrevious.png b/library/prettyphoto/images/prettyPhoto/light_rounded/btnPrevious.png
deleted file mode 100755
index e0cd9c49a..000000000
--- a/library/prettyphoto/images/prettyPhoto/light_rounded/btnPrevious.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_rounded/default_thumbnail.gif b/library/prettyphoto/images/prettyPhoto/light_rounded/default_thumbnail.gif
deleted file mode 100755
index 2b1280f32..000000000
--- a/library/prettyphoto/images/prettyPhoto/light_rounded/default_thumbnail.gif
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_rounded/loader.gif b/library/prettyphoto/images/prettyPhoto/light_rounded/loader.gif
deleted file mode 100755
index 7ac990cf0..000000000
--- a/library/prettyphoto/images/prettyPhoto/light_rounded/loader.gif
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_rounded/sprite.png b/library/prettyphoto/images/prettyPhoto/light_rounded/sprite.png
deleted file mode 100755
index 7f2837981..000000000
--- a/library/prettyphoto/images/prettyPhoto/light_rounded/sprite.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_square/btnNext.png b/library/prettyphoto/images/prettyPhoto/light_square/btnNext.png
deleted file mode 100755
index b28c1ef3d..000000000
--- a/library/prettyphoto/images/prettyPhoto/light_square/btnNext.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_square/btnPrevious.png b/library/prettyphoto/images/prettyPhoto/light_square/btnPrevious.png
deleted file mode 100755
index e0cd9c49a..000000000
--- a/library/prettyphoto/images/prettyPhoto/light_square/btnPrevious.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_square/default_thumbnail.gif b/library/prettyphoto/images/prettyPhoto/light_square/default_thumbnail.gif
deleted file mode 100755
index 2b1280f32..000000000
--- a/library/prettyphoto/images/prettyPhoto/light_square/default_thumbnail.gif
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_square/loader.gif b/library/prettyphoto/images/prettyPhoto/light_square/loader.gif
deleted file mode 100755
index 7ac990cf0..000000000
--- a/library/prettyphoto/images/prettyPhoto/light_square/loader.gif
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_square/sprite.png b/library/prettyphoto/images/prettyPhoto/light_square/sprite.png
deleted file mode 100755
index 4fe354752..000000000
--- a/library/prettyphoto/images/prettyPhoto/light_square/sprite.png
+++ /dev/null
Binary files differ
diff --git a/library/prettyphoto/js/jquery-1.3.2.min.js b/library/prettyphoto/js/jquery-1.3.2.min.js
deleted file mode 100755
index b1ae21d8b..000000000
--- a/library/prettyphoto/js/jquery-1.3.2.min.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * jQuery JavaScript Library v1.3.2
- * http://jquery.com/
- *
- * Copyright (c) 2009 John Resig
- * Dual licensed under the MIT and GPL licenses.
- * http://docs.jquery.com/License
- *
- * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
- * Revision: 6246
- */
-(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
-/*
- * Sizzle CSS Selector Engine - v0.9.3
- * Copyright 2009, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- * More information: http://sizzlejs.com/
- */
-(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file
diff --git a/library/prettyphoto/js/jquery-1.4.4.min.js b/library/prettyphoto/js/jquery-1.4.4.min.js
deleted file mode 100644
index 2bd4cbb8a..000000000
--- a/library/prettyphoto/js/jquery-1.4.4.min.js
+++ /dev/null
@@ -1,167 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.4
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Nov 11 19:04:53 2010 -0500
- */
-(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h=
-h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;k<J.length;k++){h=J[k];h.origType.replace(X,"")===a.type?f.push(h.selector):J.splice(k--,1)}f=c(a.target).closest(f,a.currentTarget);o=0;for(x=f.length;o<x;o++){r=f[o];for(k=0;k<J.length;k++){h=J[k];if(r.selector===h.selector&&(!A||A.test(h.namespace))){l=r.elem;e=null;if(h.preType==="mouseenter"||
-h.preType==="mouseleave"){a.type=h.preType;e=c(a.relatedTarget).closest(h.selector)[0]}if(!e||e!==l)C.push({elem:l,handleObj:h,level:r.level})}}}o=0;for(x=C.length;o<x;o++){f=C[o];if(d&&f.level>d)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La,
-"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,
-e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,
-"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+
-a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j,
-s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,
-j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length},
-toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j===
--1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false;
-if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K<Q;K++)if((j=arguments[K])!=null)for(s in j){v=G[s];z=j[s];if(G!==z)if(ga&&z&&(b.isPlainObject(z)||(H=b.isArray(z)))){if(H){H=false;v=v&&b.isArray(v)?v:[]}else v=v&&b.isPlainObject(v)?v:{};G[s]=b.extend(ga,v,z)}else if(z!==B)G[s]=z}return G};b.extend({noConflict:function(j){E.$=e;if(j)E.jQuery=d;return b},isReady:false,readyWait:1,ready:function(j){j===true&&b.readyWait--;
-if(!b.readyWait||j!==true&&!b.isReady){if(!t.body)return setTimeout(b.ready,1);b.isReady=true;if(!(j!==true&&--b.readyWait>0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload",
-b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&&
-!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&&
-l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H<G;){if(s.apply(j[H++],v)===false)break}else if(K)for(z in j){if(s.call(j[z],
-z,j[z])===false)break}else for(v=j[0];H<G&&s.call(v,H,v)!==false;v=j[++H]);return j},trim:O?function(j){return j==null?"":O.call(j)}:function(j){return j==null?"":j.toString().replace(k,"").replace(o,"")},makeArray:function(j,s){var v=s||[];if(j!=null){var z=b.type(j);j.length==null||z==="string"||z==="function"||z==="regexp"||b.isWindow(j)?M.call(v,j):b.merge(v,j)}return v},inArray:function(j,s){if(s.indexOf)return s.indexOf(j);for(var v=0,z=s.length;v<z;v++)if(s[v]===j)return v;return-1},merge:function(j,
-s){var v=j.length,z=0;if(typeof s.length==="number")for(var H=s.length;z<H;z++)j[v++]=s[z];else for(;s[z]!==B;)j[v++]=s[z++];j.length=v;return j},grep:function(j,s,v){var z=[],H;v=!!v;for(var G=0,K=j.length;G<K;G++){H=!!s(j[G],G);v!==H&&z.push(j[G])}return z},map:function(j,s,v){for(var z=[],H,G=0,K=j.length;G<K;G++){H=s(j[G],G,v);if(H!=null)z[z.length]=H}return z.concat.apply([],z)},guid:1,proxy:function(j,s,v){if(arguments.length===2)if(typeof s==="string"){v=j;j=v[s];s=B}else if(s&&!b.isFunction(s)){v=
-s;s=B}if(!s&&j)s=function(){return j.apply(v||this,arguments)};if(j)s.guid=j.guid=j.guid||s.guid||b.guid++;return s},access:function(j,s,v,z,H,G){var K=j.length;if(typeof s==="object"){for(var Q in s)b.access(j,Q,s[Q],z,H,v);return j}if(v!==B){z=!G&&z&&b.isFunction(v);for(Q=0;Q<K;Q++)H(j[Q],s,z?v.call(j[Q],Q,H(j[Q],s)):v,G);return j}return K?H(j[0],s):B},now:function(){return(new Date).getTime()},uaMatch:function(j){j=j.toLowerCase();j=L.exec(j)||g.exec(j)||i.exec(j)||j.indexOf("compatible")<0&&n.exec(j)||
-[];return{browser:j[1]||"",version:j[2]||"0"}},browser:{}});b.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(j,s){R["[object "+s+"]"]=s.toLowerCase()});m=b.uaMatch(m);if(m.browser){b.browser[m.browser]=true;b.browser.version=m.version}if(b.browser.webkit)b.browser.safari=true;if(D)b.inArray=function(j,s){return D.call(s,j)};if(!/\s/.test("\u00a0")){k=/^[\s\xA0]+/;o=/[\s\xA0]+$/}f=b(t);if(t.addEventListener)u=function(){t.removeEventListener("DOMContentLoaded",u,
-false);b.ready()};else if(t.attachEvent)u=function(){if(t.readyState==="complete"){t.detachEvent("onreadystatechange",u);b.ready()}};return E.jQuery=E.$=b}();(function(){c.support={};var a=t.documentElement,b=t.createElement("script"),d=t.createElement("div"),e="script"+c.now();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"),
-k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false,
-scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent=
-false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom=
-1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="<div style='width:4px;'></div>";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display=
-"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h=
-c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);
-else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h<l;h++){f=e[h].name;if(f.indexOf("data-")===0){f=f.substr(5);ka(this[0],f,d[f])}}}return d}else if(typeof a==="object")return this.each(function(){c.data(this,
-a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(b===B){d=this.triggerHandler("getData"+k[1]+"!",[k[0]]);if(d===B&&this.length){d=c.data(this[0],a);d=ka(this[0],a,d)}return d===B&&k[1]?this.data(k[0]):d}else return this.each(function(){var o=c(this),x=[k[0],b];o.triggerHandler("setData"+k[1]+"!",x);c.data(this,a,b);o.triggerHandler("changeData"+k[1]+"!",x)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=
-c.data(a,b);if(!d)return e||[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===B)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,
-a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var sa=/[\n\t]/g,ha=/\s+/,Sa=/\r/g,Ta=/^(?:href|src|style)$/,Ua=/^(?:button|input)$/i,Va=/^(?:button|input|object|select|textarea)$/i,Wa=/^a(?:rea)?$/i,ta=/^(?:radio|checkbox)$/i;c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",
-colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(x){var r=c(this);r.addClass(a.call(this,x,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===
-1)if(f.className){for(var h=" "+f.className+" ",l=f.className,k=0,o=b.length;k<o;k++)if(h.indexOf(" "+b[k]+" ")<0)l+=" "+b[k];f.className=c.trim(l)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var x=c(this);x.removeClass(a.call(this,o,x.attr("class")))});if(a&&typeof a==="string"||a===B)for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1&&f.className)if(a){for(var h=(" "+f.className+" ").replace(sa," "),
-l=0,k=b.length;l<k;l++)h=h.replace(" "+b[l]+" "," ");f.className=c.trim(h)}else f.className=""}return this},toggleClass:function(a,b){var d=typeof a,e=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var h=c(this);h.toggleClass(a.call(this,f,h.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var f,h=0,l=c(this),k=b,o=a.split(ha);f=o[h++];){k=e?k:!l.hasClass(f);l[k?"addClass":"removeClass"](f)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,
-"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(sa," ").indexOf(a)>-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";
-if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h<e;h++){var l=f[h];if(l.selected&&(c.support.optDisabled?!l.disabled:l.getAttribute("disabled")===null)&&(!l.parentNode.disabled||!c.nodeName(l.parentNode,"optgroup"))){a=c(l).val();if(b)return a;d.push(a)}}return d}if(ta.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Sa,"")}return B}var k=c.isFunction(a);return this.each(function(o){var x=c(this),r=a;if(this.nodeType===1){if(k)r=
-a.call(this,o,x.val());if(r==null)r="";else if(typeof r==="number")r+="";else if(c.isArray(r))r=c.map(r,function(C){return C==null?"":C+""});if(c.isArray(r)&&ta.test(this.type))this.checked=c.inArray(x.val(),r)>=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},
-attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&
-b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0};
-c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,
-arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid=
-d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+
-c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h<A.length;h++){C=A[h];if(d.guid===C.guid){if(k||x.test(C.namespace)){e==null&&A.splice(h--,1);r.remove&&r.remove.call(a,C)}if(e!=null)break}}if(A.length===0||e!=null&&A.length===1){if(!r.teardown||r.teardown.call(a,o)===false)c.removeEvent(a,f,w.handle);delete I[f]}}else for(h=0;h<A.length;h++){C=A[h];if(k||x.test(C.namespace)){c.event.remove(a,r,C.handler,h);A.splice(h--,1)}}}if(c.isEmptyObject(I)){if(b=
-w.handle)b.elem=null;delete w.events;delete w.handle;if(typeof w==="function")c.removeData(a,J);else c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var f=a.type||a;if(!e){a=typeof a==="object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===
-8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k===
-"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+
-d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f<l;f++){var k=d[f];if(b||e.test(k.namespace)){a.handler=k.handler;a.data=k.data;a.handleObj=k;k=k.handler.apply(this,h);if(k!==B){a.result=k;if(k===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-fix:function(a){if(a[c.expando])return a;var b=a;a=c.Event(b);for(var d=this.props.length,e;d;){e=this.props[--d];a[e]=b[e]}if(!a.target)a.target=a.srcElement||t;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=t.documentElement;d=t.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which==null&&(a.charCode!=null||a.keyCode!=null))a.which=a.charCode!=null?a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==B)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.extend({},a,{handler:Ka,guid:a.handler.guid}))},remove:function(a){c.event.remove(this,
-Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.isWindow(this))this.onbeforeunload=d},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.removeEvent=t.removeEventListener?function(a,b,d){a.removeEventListener&&a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=
-c.now();this[c.expando]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ca;var a=this.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else a.returnValue=false},stopPropagation:function(){this.isPropagationStopped=ca;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ca;this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U};
-var va=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},wa=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?wa:va,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?wa:va)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!==
-"form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){a.liveFired=B;return la("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){a.liveFired=B;return la("submit",this,arguments)}})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var V,
-xa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired=
-B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type===
-"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]===
-0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h<k;h++)c.event.add(this[h],d,l,e)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d,
-a[d]);else{d=0;for(var e=this.length;d<e;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,e){return this.live(b,d,e,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var d=c.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b,this[0]);return d.result}},toggle:function(a){for(var b=arguments,d=
-1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(e){var f=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,f+1);e.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var ya={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,e,f,h){var l,k=0,o,x,r=h||this.selector;h=h?this:c(this.context);if(typeof d===
-"object"&&!d.preventDefault){for(l in d)h[b](l,e,d[l],r);return this}if(c.isFunction(e)){f=e;e=B}for(d=(d||"").split(" ");(l=d[k++])!=null;){o=X.exec(l);x="";if(o){x=o[0];l=l.replace(X,"")}if(l==="hover")d.push("mouseenter"+x,"mouseleave"+x);else{o=l;if(l==="focus"||l==="blur"){d.push(ya[l]+x);l+=x}else l=(ya[l]||l)+x;if(b==="live"){x=0;for(var A=h.length;x<A;x++)c.event.add(h[x],"live."+Y(l,r),{data:e,selector:r,handler:f,origType:l,origHandler:f,preType:o})}else h.unbind("live."+Y(l,r),f)}}return this}});
-c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d,e){if(e==null){e=d;d=null}return arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
-(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1&&!q){y.sizcache=n;y.sizset=p}if(y.nodeName.toLowerCase()===i){F=y;break}y=y[g]}m[p]=F}}}function b(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1){if(!q){y.sizcache=n;y.sizset=p}if(typeof i!=="string"){if(y===i){F=true;break}}else if(k.filter(i,
-[y]).length>0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3];
-break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr,
-q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h=
-l;g.sort(w);if(h)for(var i=1;i<g.length;i++)g[i]===g[i-1]&&g.splice(i--,1)}return g};k.matches=function(g,i){return k(g,null,null,i)};k.matchesSelector=function(g,i){return k(i,null,null,[g]).length>0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p<q;p++){var u,y=o.order[p];if(u=o.leftMatch[y].exec(g)){var F=u[1];u.splice(1,1);if(F.substr(F.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");m=o.find[y](u,i,n);if(m!=null){g=g.replace(o.match[y],"");break}}}}m||(m=i.getElementsByTagName("*"));
-return{set:m,expr:g}};k.filter=function(g,i,n,m){for(var p,q,u=g,y=[],F=i,M=i&&i[0]&&k.isXML(i[0]);g&&i.length;){for(var N in o.filter)if((p=o.leftMatch[N].exec(g))!=null&&p[2]){var O,D,R=o.filter[N];D=p[1];q=false;p.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(F===y)y=[];if(o.preFilter[N])if(p=o.preFilter[N](p,F,n,y,m,M)){if(p===true)continue}else q=O=true;if(p)for(var j=0;(D=F[j])!=null;j++)if(D){O=R(D,p,j,F);var s=m^!!O;if(n&&O!=null)if(s)q=true;else F[j]=false;else if(s){y.push(D);q=true}}if(O!==
-B){n||(F=y);g=g.replace(o.match[N],"");if(!q)return[];break}}}if(g===u)if(q==null)k.error(g);else break;u=g}return F};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var o=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
-POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,i){var n=typeof i==="string",m=n&&!/\W/.test(i);n=n&&!m;if(m)i=i.toLowerCase();m=0;for(var p=g.length,q;m<p;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=n||q&&q.nodeName.toLowerCase()===
-i?q||false:q===i}n&&k.filter(i,g,true)},">":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p<q;p++){if(n=g[p]){n=n.parentNode;g[p]=n.nodeName.toLowerCase()===i?n:false}}else{for(;p<q;p++)if(n=g[p])g[p]=m?n.parentNode:n.parentNode===i;m&&k.filter(i,g,true)}},"":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=i=i.toLowerCase();q=a}q("parentNode",i,p,g,m,n)},"~":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=
-i=i.toLowerCase();q=a}q("previousSibling",i,p,g,m,n)}},find:{ID:function(g,i,n){if(typeof i.getElementById!=="undefined"&&!n)return(g=i.getElementById(g[1]))&&g.parentNode?[g]:[]},NAME:function(g,i){if(typeof i.getElementsByName!=="undefined"){for(var n=[],m=i.getElementsByName(g[1]),p=0,q=m.length;p<q;p++)m[p].getAttribute("name")===g[1]&&n.push(m[p]);return n.length===0?null:n}},TAG:function(g,i){return i.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,i,n,m,p,q){g=" "+g[1].replace(/\\/g,
-"")+" ";if(q)return g;q=0;for(var u;(u=i[q])!=null;q++)if(u)if(p^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n,
-m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===
-true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===
-g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return i<n[3]-0},gt:function(g,i,n){return i>n[3]-0},nth:function(g,i,n){return n[3]-
-0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n<m;n++)if(i[n]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+p)},CHILD:function(g,i){var n=i[1],m=g;switch(n){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(n===
-"first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":n=i[2];var p=i[3];if(n===1&&p===0)return true;var q=i[0],u=g.parentNode;if(u&&(u.sizcache!==q||!g.nodeIndex)){var y=0;for(m=u.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++y;u.sizcache=q}m=g.nodeIndex-p;return n===0?m===0:m%n===0&&m/n>=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===
-i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]];
-if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m,
-g);else if(typeof g.length==="number")for(var p=g.length;n<p;n++)m.push(g[n]);else for(;g[n];n++)m.push(g[n]);return m}}var w,I;if(t.documentElement.compareDocumentPosition)w=function(g,i){if(g===i){h=true;return 0}if(!g.compareDocumentPosition||!i.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(i)&4?-1:1};else{w=function(g,i){var n,m,p=[],q=[];n=g.parentNode;m=i.parentNode;var u=n;if(g===i){h=true;return 0}else if(n===m)return I(g,i);else if(n){if(!m)return 1}else return-1;
-for(;u;){p.unshift(u);u=u.parentNode}for(u=m;u;){q.unshift(u);u=u.parentNode}n=p.length;m=q.length;for(u=0;u<n&&u<m;u++)if(p[u]!==q[u])return I(p[u],q[u]);return u===n?I(g,q[u],-1):I(p[u],i,1)};I=function(g,i,n){if(g===i)return n;for(g=g.nextSibling;g;){if(g===i)return-1;g=g.nextSibling}return 1}}k.getText=function(g){for(var i="",n,m=0;g[m];m++){n=g[m];if(n.nodeType===3||n.nodeType===4)i+=n.nodeValue;else if(n.nodeType!==8)i+=k.getText(n.childNodes)}return i};(function(){var g=t.createElement("div"),
-i="script"+(new Date).getTime(),n=t.documentElement;g.innerHTML="<a name='"+i+"'/>";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g);
-n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&&
-function(){var g=k,i=t.createElement("div");i.innerHTML="<p class='TEST'></p>";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F||
-p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g=
-t.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition?
-function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n<u;n++)k(g,q[n],m);return k.filter(p,m)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=k.getText;c.isXMLDoc=k.isXML;
-c.contains=k.contains})();var Za=/Until$/,$a=/^(?:parents|prevUntil|prevAll)/,ab=/,/,Na=/^.[^:#\[\.,]*$/,bb=Array.prototype.slice,cb=c.expr.match.POS;c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,e=0,f=this.length;e<f;e++){d=b.length;c.find(a,this[e],b);if(e>0)for(var h=d;h<b.length;h++)for(var l=0;l<d;l++)if(b[l]===b[h]){b.splice(h--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,e=b.length;d<e;d++)if(c.contains(this,b[d]))return true})},
-not:function(a){return this.pushStack(ma(this,a,false),"not",a)},filter:function(a){return this.pushStack(ma(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e<f;e++){l=a[e];k[l]||(k[l]=c.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.ownerDocument&&h!==b;){for(l in k){e=k[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h=
-h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e<f;e++)for(h=this[e];h;)if(l?l.index(h)>-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):
-c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,
-2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,
-b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&
-e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/<tbody/i,eb=/<|&#?\w+;/,Ca=/<(?:script|object|embed|option|style)/i,Da=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/\=([^="'>\s]+\/)>/g,P={option:[1,
-"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
-c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
-wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
-prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
-this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
-return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null;
-else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1></$2>");try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(e){this.empty().append(a)}}else c.isFunction(a)?this.each(function(f){var h=c(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=
-c(this),e=d.html();d.replaceWith(a.call(this,b,e))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){var e,f,h,l=a[0],k=[];if(!c.support.checkClone&&arguments.length===3&&typeof l==="string"&&Da.test(l))return this.each(function(){c(this).domManip(a,
-b,d,true)});if(c.isFunction(l))return this.each(function(x){var r=c(this);a[0]=l.call(this,x,b?r.html():B);r.domManip(a,b,d)});if(this[0]){e=l&&l.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:c.buildFragment(a,this,k);h=e.fragment;if(f=h.childNodes.length===1?h=h.firstChild:h.firstChild){b=b&&c.nodeName(f,"tr");f=0;for(var o=this.length;f<o;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")):
-this[f]:this[f],f>0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",
-prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f<h;f++){var l=(f>0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument||
-b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1></$2>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]==="<table>"&&!x?r.childNodes:[];for(o=k.length-
-1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));
-d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i,
-jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,
-zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),
-h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b);
-if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=
-d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left;
-e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
-ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b===
-"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("<div>").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&
-!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})},
-getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",
-script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data||
-!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache=
-false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset;
-A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type",
-b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&&
-c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d||
-c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]=
-encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",
-[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),
-e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});
-if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",
-3),a,b,d);else{d=0;for(var e=this.length;d<e;d++){a=this[d];b=a.style.display;if(!c.data(a,"olddisplay")&&b==="none")b=a.style.display="";b===""&&c.css(a,"display")==="none"&&c.data(a,"olddisplay",qa(a.nodeName))}for(d=0;d<e;d++){a=this[d];b=a.style.display;if(b===""||b==="none")a.style.display=c.data(a,"olddisplay")||""}return this}},hide:function(a,b,d){if(a||a===0)return this.animate(S("hide",3),a,b,d);else{a=0;for(b=this.length;a<b;a++){d=c.css(this[a],"display");d!=="none"&&c.data(this[a],"olddisplay",
-d)}for(a=0;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var f=e?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d,e)},animate:function(a,b,d,e){var f=c.speed(b,
-d,e);if(c.isEmptyObject(a))return this.each(f.complete);return this[f.queue===false?"each":"queue"](function(){var h=c.extend({},f),l,k=this.nodeType===1,o=k&&c(this).is(":hidden"),x=this;for(l in a){var r=c.camelCase(l);if(l!==r){a[r]=a[l];delete a[l];l=r}if(a[l]==="hide"&&o||a[l]==="show"&&!o)return h.complete.call(this);if(k&&(l==="height"||l==="width")){h.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(c.css(this,"display")==="inline"&&c.css(this,"float")==="none")if(c.support.inlineBlockNeedsLayout)if(qa(this.nodeName)===
-"inline")this.style.display="inline-block";else{this.style.display="inline";this.style.zoom=1}else this.style.display="inline-block"}if(c.isArray(a[l])){(h.specialEasing=h.specialEasing||{})[l]=a[l][1];a[l]=a[l][0]}}if(h.overflow!=null)this.style.overflow="hidden";h.curAnim=c.extend({},a);c.each(a,function(A,C){var J=new c.fx(x,h,A);if(vb.test(C))J[C==="toggle"?o?"show":"hide":C](a);else{var w=wb.exec(C),I=J.cur()||0;if(w){var L=parseFloat(w[2]),g=w[3]||"px";if(g!=="px"){c.style(x,A,(L||1)+g);I=(L||
-1)/J.cur()*I;c.style(x,A,I+g)}if(w[1])L=(w[1]==="-="?-1:1)*L+I;J.custom(I,L,g)}else J.custom(I,C,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var e=d.length-1;e>=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b,
-d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a*
-Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)}
-var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;
-this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide||
-this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=
-c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},interval:13,stop:function(){clearInterval(ba);ba=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===
-b.elem}).length};var xb=/^t(?:able|d|h)$/i,Ia=/^(?:body|html)$/i;c.fn.offset="getBoundingClientRect"in t.documentElement?function(a){var b=this[0],d;if(a)return this.each(function(l){c.offset.setOffset(this,a,l)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);try{d=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,h=f.documentElement;if(!d||!c.contains(h,b))return d||{top:0,left:0};b=f.body;f=fa(f);return{top:d.top+(f.pageYOffset||c.support.boxModel&&
-h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pageXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(x){c.offset.setOffset(this,a,x)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d,e=b.offsetParent,f=b.ownerDocument,h=f.documentElement,l=f.body;d=(f=f.defaultView)?f.getComputedStyle(b,null):b.currentStyle;
-for(var k=b.offsetTop,o=b.offsetLeft;(b=b.parentNode)&&b!==l&&b!==h;){if(c.offset.supportsFixedPosition&&d.position==="fixed")break;d=f?f.getComputedStyle(b,null):b.currentStyle;k-=b.scrollTop;o-=b.scrollLeft;if(b===e){k+=b.offsetTop;o+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&xb.test(b.nodeName))){k+=parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}e=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"){k+=
-parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}d=d}if(d.position==="relative"||d.position==="static"){k+=l.offsetTop;o+=l.offsetLeft}if(c.offset.supportsFixedPosition&&d.position==="fixed"){k+=Math.max(h.scrollTop,l.scrollTop);o+=Math.max(h.scrollLeft,l.scrollLeft)}return{top:k,left:o}};c.offset={initialize:function(){var a=t.body,b=t.createElement("div"),d,e,f,h=parseFloat(c.css(a,"marginTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",
-height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);d=b.firstChild;e=d.firstChild;f=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=e.offsetTop!==5;this.doesAddBorderForTableAndCells=
-f.offsetTop===5;e.style.position="fixed";e.style.top="20px";this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15;e.style.position=e.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==h;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.css(a,
-"marginTop"))||0;d+=parseFloat(c.css(a,"marginLeft"))||0}return{top:b,left:d}},setOffset:function(a,b,d){var e=c.css(a,"position");if(e==="static")a.style.position="relative";var f=c(a),h=f.offset(),l=c.css(a,"top"),k=c.css(a,"left"),o=e==="absolute"&&c.inArray("auto",[l,k])>-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a,
-e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&&
-c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();
-c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+
-b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window); \ No newline at end of file
diff --git a/library/prettyphoto/js/jquery-1.6.1.min.js b/library/prettyphoto/js/jquery-1.6.1.min.js
deleted file mode 100644
index eb6a59693..000000000
--- a/library/prettyphoto/js/jquery-1.6.1.min.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.6.1
- * http://jquery.com/
- *
- * Copyright 2011, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu May 12 15:04:36 2011 -0400
- */
-(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write("<!doctype><html><body></body></html>");b=cl.createElement(a),cl.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ck)}cj[a]=d}return cj[a]}function cu(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function ct(){cq=b}function cs(){setTimeout(ct,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bF.test(a)?d(a,e):b_(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bU,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bQ),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bD(a,b,c){var d=b==="width"?bx:by,e=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return e;f.each(d,function(){c||(e-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?e+=parseFloat(f.css(a,"margin"+this))||0:e-=parseFloat(f.css(a,"border"+this+"Width"))||0});return e}function bn(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bm(a){f.nodeName(a,"input")?bl(a):a.getElementsByTagName&&f.grep(a.getElementsByTagName("input"),bl)}function bl(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bk(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bj(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bi(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bh(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function X(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(S.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function W(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function O(a,b){return(a&&a!=="*"?a+".":"")+b.replace(A,"`").replace(B,"&")}function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(y,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function L(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function F(){return!0}function E(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:E?function(a){return a==null?"":E.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?C.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(F)return F.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=D.call(arguments,2),g=function(){return a.apply(c,f.concat(D.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){G["[object "+b+"]"]=b.toLowerCase()}),x=e.uaMatch(w),x.browser&&(e.browser[x.browser]=!0,e.browser.version=x.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?z=function(){c.removeEventListener("DOMContentLoaded",z,!1),e.ready()}:c.attachEvent&&(z=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",z),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};f=c.createElement("select"),g=f.appendChild(c.createElement("option")),h=a.getElementsByTagName("input")[0],j={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},h.checked=!0,j.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,j.optDisabled=!g.disabled;try{delete a.test}catch(s){j.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function b(){j.noCloneEvent=!1,a.detachEvent("onclick",b)}),a.cloneNode(!0).fireEvent("onclick")),h=c.createElement("input"),h.value="t",h.setAttribute("type","radio"),j.radioValue=h.value==="t",h.setAttribute("checked","checked"),a.appendChild(h),k=c.createDocumentFragment(),k.appendChild(a.firstChild),j.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",l=c.createElement("body"),m={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(q in m)l.style[q]=m[q];l.appendChild(a),b.insertBefore(l,b.firstChild),j.appendChecked=h.checked,j.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,j.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",j.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",n=a.getElementsByTagName("td"),r=n[0].offsetHeight===0,n[0].style.display="",n[1].style.display="none",j.reliableHiddenOffsets=r&&n[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(i=c.createElement("div"),i.style.width="0",i.style.marginRight="0",a.appendChild(i),j.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(i,null)||{marginRight:0}).marginRight,10)||0)===0),l.innerHTML="",b.removeChild(l);if(a.attachEvent)for(q in{submit:1,change:1,focusin:1})p="on"+q,r=p in a,r||(a.setAttribute(p,"return;"),r=typeof a[p]=="function"),j[q+"Bubbles"]=r;return j}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.addClass(a.call(this,b,c.attr("class")||""))});if(a&&typeof a=="string"){var b=(a||"").split(o);for(var c=0,d=this.length;c<d;c++){var e=this[c];if(e.nodeType===1)if(!e.className)e.className=a;else{var g=" "+e.className+" ",h=e.className;for(var i=0,j=b.length;i<j;i++)g.indexOf(" "+b[i]+" ")<0&&(h+=" "+b[i]);e.className=f.trim(h)}}}return this},removeClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a=="string"||a===b){var c=(a||"").split(o);for(var d=0,e=this.length;d<e;d++){var g=this[d];if(g.nodeType===1&&g.className)if(a){var h=(" "+g.className+" ").replace(n," ");for(var i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){var d=f(this);d.toggleClass(a.call(this,c,d.attr("class"),b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c],i||(!t.test(c)||typeof d!="boolean"&&d!==b&&d.toLowerCase()!==c.toLowerCase()?v&&(f.nodeName(a,"form")||u.test(c))&&(i=v):i=w);if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return a[f.propFix[c]||c]?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=b),a.setAttribute(c,c.toLowerCase()));return c}},f.attrHooks.value={get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return a.value},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=Object.prototype.hasOwnProperty,y=/\.(.*)$/,z=/^(?:textarea|input|select)$/i,A=/\./g,B=/ /g,C=/[^\w\s.|`]/g,D=function(a){return a.replace(C,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=E;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=E);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),D).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem
-)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,O(a.origType,a.selector),f.extend({},a,{handler:N,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,O(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?F:E):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=F;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=F;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=F,this.stopPropagation()},isDefaultPrevented:E,isPropagationStopped:E,isImmediatePropagationStopped:E};var G=function(a){var b=a.relatedTarget;a.type=a.data;try{if(b&&b!==c&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&f.event.handle.apply(this,arguments)}catch(d){}},H=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?H:G,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?H:G)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&L("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&L("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var I,J=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},K=function(c){var d=c.target,e,g;if(!!z.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=J(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:K,beforedeactivate:K,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&K.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&K.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",J(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in I)f.event.add(this,c+".specialChange",I[c]);return z.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return z.test(this.nodeName)}},I=f.event.special.change.filters,I.focus=I.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var M={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||E,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=y.exec(h),k="",j&&(k=j[0],h=h.replace(y,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,M[h]?(a.push(M[h]+k),h=h+k):h=(M[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+O(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+O(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var P=/Until$/,Q=/^(?:parents|prevUntil|prevAll)/,R=/,/,S=/^.[^:#\[\.,]*$/,T=Array.prototype.slice,U=f.expr.match.POS,V={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(X(this,a,!1),"not",a)},filter:function(a){return this.pushStack(X(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=U.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=U.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(W(c[0])||W(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=T.call(arguments);P.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!V[a]?f.unique(e):e,(this.length>1||R.test(d))&&Q.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y=/ jQuery\d+="(?:\d+|null)"/g,Z=/^\s+/,$=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,_=/<([\w:]+)/,ba=/<tbody/i,bb=/<|&#?\w+;/,bc=/<(?:script|object|embed|option|style)/i,bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Y,""):null;if(typeof a=="string"&&!bc.test(a)&&(f.support.leadingWhitespace||!Z.test(a))&&!bg[(_.exec(a)||["",""])[1].toLowerCase()]){a=a.replace($,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bh(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bn)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:c;a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bc.test(a[0])&&(f.support.checkClone||!bd.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bj(a,d),e=bk(a),g=bk(d);for(h=0;e[h];++h)bj(e[h],g[h])}if(b){bi(a,d);if(c){e=bk(a),g=bk(d);for(h=0;e[h];++h)bi(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||
-b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bb.test(k))k=b.createTextNode(k);else{k=k.replace($,"<$1></$2>");var l=(_.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=ba.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Z.test(k)&&o.insertBefore(b.createTextNode(Z.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bm(k[i]);else bm(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bo=/alpha\([^)]*\)/i,bp=/opacity=([^)]*)/,bq=/-([a-z])/ig,br=/([A-Z]|^ms)/g,bs=/^-?\d+(?:px)?$/i,bt=/^-?\d/,bu=/^[+\-]=/,bv=/[^+\-\.\de]+/g,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB,bC=function(a,b){return b.toUpperCase()};f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0,widows:!0,orphans:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bu.test(d)&&(d=+d.replace(bv,"")+parseFloat(f.css(a,c))),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bq,bC)}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){a.offsetWidth!==0?e=bD(a,b,d):f.swap(a,bw,function(){e=bD(a,b,d)});if(e<=0){e=bz(a,b,b),e==="0px"&&bB&&(e=bB(a,b,b));if(e!=null)return e===""||e==="auto"?"0px":e}if(e<0||e==null){e=a.style[b];return e===""||e==="auto"?"0px":e}return typeof e=="string"?e:e+"px"}},set:function(a,b){if(!bs.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bp.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bo.test(g)?g.replace(bo,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,c){var d,e,g;c=c.replace(br,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bs.test(d)&&bt.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bE=/%20/g,bF=/\[\]$/,bG=/\r?\n/g,bH=/#.*$/,bI=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bJ=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bK=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bL=/^(?:GET|HEAD)$/,bM=/^\/\//,bN=/\?/,bO=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bP=/^(?:select|textarea)/i,bQ=/\s+/,bR=/([?&])_=[^&]*/,bS=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bT=f.fn.load,bU={},bV={},bW,bX;try{bW=e.href}catch(bY){bW=c.createElement("a"),bW.href="",bW=bW.href}bX=bS.exec(bW.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bT)return bT.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bO,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bP.test(this.nodeName)||bJ.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bG,"\r\n")}}):{name:b.name,value:c.replace(bG,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bW,isLocal:bK.test(bX[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bZ(bU),ajaxTransport:bZ(bV),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?ca(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=cb(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bI.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bH,"").replace(bM,bX[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bQ),d.crossDomain==null&&(r=bS.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bX[1]&&r[2]==bX[2]&&(r[3]||(r[1]==="http:"?80:443))==(bX[3]||(bX[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bU,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bL.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bN.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bR,"$1_="+x);d.url=y+(y===d.url?(bN.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bV,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bE,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq,cr=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cv(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cm.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=cn.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this),f.isFunction(d.old)&&d.old.call(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cq||cs(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!co&&(cr?(co=1,g=function(){co&&(cr(g),e.tick())},cr(g)):co=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cq||cs(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file
diff --git a/library/prettyphoto/js/jquery.prettyPhoto.js b/library/prettyphoto/js/jquery.prettyPhoto.js
deleted file mode 100644
index a67afddca..000000000
--- a/library/prettyphoto/js/jquery.prettyPhoto.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/* ------------------------------------------------------------------------
- Class: prettyPhoto
- Use: Lightbox clone for jQuery
- Author: Stephane Caron (http://www.no-margin-for-errors.com)
- Version: 3.1.5
-------------------------------------------------------------------------- */
-(function(e){function t(){var e=location.href;hashtag=e.indexOf("#prettyPhoto")!==-1?decodeURI(e.substring(e.indexOf("#prettyPhoto")+1,e.length)):false;return hashtag}function n(){if(typeof theRel=="undefined")return;location.hash=theRel+"/"+rel_index+"/"}function r(){if(location.href.indexOf("#prettyPhoto")!==-1)location.hash="prettyPhoto"}function i(e,t){e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var n="[\\?&]"+e+"=([^&#]*)";var r=new RegExp(n);var i=r.exec(t);return i==null?"":i[1]}e.prettyPhoto={version:"3.1.5"};e.fn.prettyPhoto=function(s){function g(){e(".pp_loaderIcon").hide();projectedTop=scroll_pos["scrollTop"]+(d/2-a["containerHeight"]/2);if(projectedTop<0)projectedTop=0;$ppt.fadeTo(settings.animation_speed,1);$pp_pic_holder.find(".pp_content").animate({height:a["contentHeight"],width:a["contentWidth"]},settings.animation_speed);$pp_pic_holder.animate({top:projectedTop,left:v/2-a["containerWidth"]/2<0?0:v/2-a["containerWidth"]/2,width:a["containerWidth"]},settings.animation_speed,function(){$pp_pic_holder.find(".pp_hoverContainer,#fullResImage").height(a["height"]).width(a["width"]);$pp_pic_holder.find(".pp_fade").fadeIn(settings.animation_speed);if(isSet&&S(pp_images[set_position])=="image"){$pp_pic_holder.find(".pp_hoverContainer").show()}else{$pp_pic_holder.find(".pp_hoverContainer").hide()}if(settings.allow_expand){if(a["resized"]){e("a.pp_expand,a.pp_contract").show()}else{e("a.pp_expand").hide()}}if(settings.autoplay_slideshow&&!m&&!f)e.prettyPhoto.startSlideshow();settings.changepicturecallback();f=true});C();s.ajaxcallback()}function y(t){$pp_pic_holder.find("#pp_full_res object,#pp_full_res embed").css("visibility","hidden");$pp_pic_holder.find(".pp_fade").fadeOut(settings.animation_speed,function(){e(".pp_loaderIcon").show();t()})}function b(t){t>1?e(".pp_nav").show():e(".pp_nav").hide()}function w(e,t){resized=false;E(e,t);imageWidth=e,imageHeight=t;if((p>v||h>d)&&doresize&&settings.allow_resize&&!u){resized=true,fitting=false;while(!fitting){if(p>v){imageWidth=v-200;imageHeight=t/e*imageWidth}else if(h>d){imageHeight=d-200;imageWidth=e/t*imageHeight}else{fitting=true}h=imageHeight,p=imageWidth}if(p>v||h>d){w(p,h)}E(imageWidth,imageHeight)}return{width:Math.floor(imageWidth),height:Math.floor(imageHeight),containerHeight:Math.floor(h),containerWidth:Math.floor(p)+settings.horizontal_padding*2,contentHeight:Math.floor(l),contentWidth:Math.floor(c),resized:resized}}function E(t,n){t=parseFloat(t);n=parseFloat(n);$pp_details=$pp_pic_holder.find(".pp_details");$pp_details.width(t);detailsHeight=parseFloat($pp_details.css("marginTop"))+parseFloat($pp_details.css("marginBottom"));$pp_details=$pp_details.clone().addClass(settings.theme).width(t).appendTo(e("body")).css({position:"absolute",top:-1e4});detailsHeight+=$pp_details.height();detailsHeight=detailsHeight<=34?36:detailsHeight;$pp_details.remove();$pp_title=$pp_pic_holder.find(".ppt");$pp_title.width(t);titleHeight=parseFloat($pp_title.css("marginTop"))+parseFloat($pp_title.css("marginBottom"));$pp_title=$pp_title.clone().appendTo(e("body")).css({position:"absolute",top:-1e4});titleHeight+=$pp_title.height();$pp_title.remove();l=n+detailsHeight;c=t;h=l+titleHeight+$pp_pic_holder.find(".pp_top").height()+$pp_pic_holder.find(".pp_bottom").height();p=t}function S(e){if(e.match(/youtube\.com\/watch/i)||e.match(/youtu\.be/i)){return"youtube"}else if(e.match(/vimeo\.com/i)){return"vimeo"}else if(e.match(/\b.mov\b/i)){return"quicktime"}else if(e.match(/\b.swf\b/i)){return"flash"}else if(e.match(/\biframe=true\b/i)){return"iframe"}else if(e.match(/\bajax=true\b/i)){return"ajax"}else if(e.match(/\bcustom=true\b/i)){return"custom"}else if(e.substr(0,1)=="#"){return"inline"}else{return"image"}}function x(){if(doresize&&typeof $pp_pic_holder!="undefined"){scroll_pos=T();contentHeight=$pp_pic_holder.height(),contentwidth=$pp_pic_holder.width();projectedTop=d/2+scroll_pos["scrollTop"]-contentHeight/2;if(projectedTop<0)projectedTop=0;if(contentHeight>d)return;$pp_pic_holder.css({top:projectedTop,left:v/2+scroll_pos["scrollLeft"]-contentwidth/2})}}function T(){if(self.pageYOffset){return{scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset}}else if(document.documentElement&&document.documentElement.scrollTop){return{scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft}}else if(document.body){return{scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft}}}function N(){d=e(window).height(),v=e(window).width();if(typeof $pp_overlay!="undefined")$pp_overlay.height(e(document).height()).width(v)}function C(){if(isSet&&settings.overlay_gallery&&S(pp_images[set_position])=="image"){itemWidth=52+5;navWidth=settings.theme=="facebook"||settings.theme=="pp_default"?50:30;itemsPerPage=Math.floor((a["containerWidth"]-100-navWidth)/itemWidth);itemsPerPage=itemsPerPage<pp_images.length?itemsPerPage:pp_images.length;totalPage=Math.ceil(pp_images.length/itemsPerPage)-1;if(totalPage==0){navWidth=0;$pp_gallery.find(".pp_arrow_next,.pp_arrow_previous").hide()}else{$pp_gallery.find(".pp_arrow_next,.pp_arrow_previous").show()}galleryWidth=itemsPerPage*itemWidth;fullGalleryWidth=pp_images.length*itemWidth;$pp_gallery.css("margin-left",-(galleryWidth/2+navWidth/2)).find("div:first").width(galleryWidth+5).find("ul").width(fullGalleryWidth).find("li.selected").removeClass("selected");goToPage=Math.floor(set_position/itemsPerPage)<totalPage?Math.floor(set_position/itemsPerPage):totalPage;e.prettyPhoto.changeGalleryPage(goToPage);$pp_gallery_li.filter(":eq("+set_position+")").addClass("selected")}else{$pp_pic_holder.find(".pp_content").unbind("mouseenter mouseleave")}}function k(t){if(settings.social_tools)facebook_like_link=settings.social_tools.replace("{location_href}",encodeURIComponent(location.href));settings.markup=settings.markup.replace("{pp_social}","");e("body").append(settings.markup);$pp_pic_holder=e(".pp_pic_holder"),$ppt=e(".ppt"),$pp_overlay=e("div.pp_overlay");if(isSet&&settings.overlay_gallery){currentGalleryPage=0;toInject="";for(var n=0;n<pp_images.length;n++){if(!pp_images[n].match(/\b(jpg|jpeg|png|gif)\b/gi)){classname="default";img_src=""}else{classname="";img_src=pp_images[n]}toInject+="<li class='"+classname+"'><a href='#'><img src='"+img_src+"' width='50' alt='' /></a></li>"}toInject=settings.gallery_markup.replace(/{gallery}/g,toInject);$pp_pic_holder.find("#pp_full_res").after(toInject);$pp_gallery=e(".pp_pic_holder .pp_gallery"),$pp_gallery_li=$pp_gallery.find("li");$pp_gallery.find(".pp_arrow_next").click(function(){e.prettyPhoto.changeGalleryPage("next");e.prettyPhoto.stopSlideshow();return false});$pp_gallery.find(".pp_arrow_previous").click(function(){e.prettyPhoto.changeGalleryPage("previous");e.prettyPhoto.stopSlideshow();return false});$pp_pic_holder.find(".pp_content").hover(function(){$pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeIn()},function(){$pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeOut()});itemWidth=52+5;$pp_gallery_li.each(function(t){e(this).find("a").click(function(){e.prettyPhoto.changePage(t);e.prettyPhoto.stopSlideshow();return false})})}if(settings.slideshow){$pp_pic_holder.find(".pp_nav").prepend('<a href="#" class="pp_play">Play</a>');$pp_pic_holder.find(".pp_nav .pp_play").click(function(){e.prettyPhoto.startSlideshow();return false})}$pp_pic_holder.attr("class","pp_pic_holder "+settings.theme);$pp_overlay.css({opacity:0,height:e(document).height(),width:e(window).width()}).bind("click",function(){if(!settings.modal)e.prettyPhoto.close()});e("a.pp_close").bind("click",function(){e.prettyPhoto.close();return false});if(settings.allow_expand){e("a.pp_expand").bind("click",function(t){if(e(this).hasClass("pp_expand")){e(this).removeClass("pp_expand").addClass("pp_contract");doresize=false}else{e(this).removeClass("pp_contract").addClass("pp_expand");doresize=true}y(function(){e.prettyPhoto.open()});return false})}$pp_pic_holder.find(".pp_previous, .pp_nav .pp_arrow_previous").bind("click",function(){e.prettyPhoto.changePage("previous");e.prettyPhoto.stopSlideshow();return false});$pp_pic_holder.find(".pp_next, .pp_nav .pp_arrow_next").bind("click",function(){e.prettyPhoto.changePage("next");e.prettyPhoto.stopSlideshow();return false});x()}s=jQuery.extend({hook:"rel",animation_speed:"fast",ajaxcallback:function(){},slideshow:5e3,autoplay_slideshow:false,opacity:.8,show_title:true,allow_resize:true,allow_expand:true,default_width:500,default_height:344,counter_separator_label:"/",theme:"pp_default",horizontal_padding:20,hideflash:false,wmode:"opaque",autoplay:true,modal:false,deeplinking:true,overlay_gallery:true,overlay_gallery_max:30,keyboard_shortcuts:true,changepicturecallback:function(){},callback:function(){},ie6_fallback:true,markup:'<div class="pp_pic_holder"> <div class="ppt"> </div> <div class="pp_top"> <div class="pp_left"></div> <div class="pp_middle"></div> <div class="pp_right"></div> </div> <div class="pp_content_container"> <div class="pp_left"> <div class="pp_right"> <div class="pp_content"> <div class="pp_loaderIcon"></div> <div class="pp_fade"> <a href="#" class="pp_expand" title="Expand the image">Expand</a> <div class="pp_hoverContainer"> <a class="pp_next" href="#">next</a> <a class="pp_previous" href="#">previous</a> </div> <div id="pp_full_res"></div> <div class="pp_details"> <div class="pp_nav"> <a href="#" class="pp_arrow_previous">Previous</a> <p class="currentTextHolder">0/0</p> <a href="#" class="pp_arrow_next">Next</a> </div> <p class="pp_description"></p> <div class="pp_social">{pp_social}</div> <a class="pp_close" href="#">Close</a> </div> </div> </div> </div> </div> </div> <div class="pp_bottom"> <div class="pp_left"></div> <div class="pp_middle"></div> <div class="pp_right"></div> </div> </div> <div class="pp_overlay"></div>',gallery_markup:'<div class="pp_gallery"> <a href="#" class="pp_arrow_previous">Previous</a> <div> <ul> {gallery} </ul> </div> <a href="#" class="pp_arrow_next">Next</a> </div>',image_markup:'<img id="fullResImage" src="{path}" />',flash_markup:'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>',quicktime_markup:'<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>',iframe_markup:'<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>',inline_markup:'<div class="pp_inline">{content}</div>'},s);var o=this,u=false,a,f,l,c,h,p,d=e(window).height(),v=e(window).width(),m;doresize=true,scroll_pos=T();e(window).unbind("resize.prettyphoto").bind("resize.prettyphoto",function(){x();N()});if(s.keyboard_shortcuts){e(document).unbind("keydown.prettyphoto").bind("keydown.prettyphoto",function(t){if(typeof $pp_pic_holder!="undefined"){if($pp_pic_holder.is(":visible")){switch(t.keyCode){case 37:e.prettyPhoto.changePage("previous");t.preventDefault();break;case 39:e.prettyPhoto.changePage("next");t.preventDefault();break;case 27:if(!settings.modal)e.prettyPhoto.close();t.preventDefault();break}}}})}e.prettyPhoto.initialize=function(){settings=s;if(settings.theme=="pp_default")settings.horizontal_padding=16;theRel=e(this).attr(settings.hook);galleryRegExp=/\[(?:.*)\]/;isSet=galleryRegExp.exec(theRel)?true:false;pp_images=isSet?jQuery.map(o,function(t,n){if(e(t).attr(settings.hook).indexOf(theRel)!=-1)return e(t).attr("href")}):e.makeArray(e(this).attr("href"));pp_titles=isSet?jQuery.map(o,function(t,n){if(e(t).attr(settings.hook).indexOf(theRel)!=-1)return e(t).find("img").attr("alt")?e(t).find("img").attr("alt"):""}):e.makeArray(e(this).find("img").attr("alt"));pp_descriptions=isSet?jQuery.map(o,function(t,n){if(e(t).attr(settings.hook).indexOf(theRel)!=-1)return e(t).attr("title")?e(t).attr("title"):""}):e.makeArray(e(this).attr("title"));if(pp_images.length>settings.overlay_gallery_max)settings.overlay_gallery=false;set_position=jQuery.inArray(e(this).attr("href"),pp_images);rel_index=isSet?set_position:e("a["+settings.hook+"^='"+theRel+"']").index(e(this));k(this);if(settings.allow_resize)e(window).bind("scroll.prettyphoto",function(){x()});e.prettyPhoto.open();return false};e.prettyPhoto.open=function(t){if(typeof settings=="undefined"){settings=s;pp_images=e.makeArray(arguments[0]);pp_titles=arguments[1]?e.makeArray(arguments[1]):e.makeArray("");pp_descriptions=arguments[2]?e.makeArray(arguments[2]):e.makeArray("");isSet=pp_images.length>1?true:false;set_position=arguments[3]?arguments[3]:0;k(t.target)}if(settings.hideflash)e("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility","hidden");b(e(pp_images).size());e(".pp_loaderIcon").show();if(settings.deeplinking)n();if(settings.social_tools){facebook_like_link=settings.social_tools.replace("{location_href}",encodeURIComponent(location.href));$pp_pic_holder.find(".pp_social").html(facebook_like_link)}if($ppt.is(":hidden"))$ppt.css("opacity",0).show();$pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity);$pp_pic_holder.find(".currentTextHolder").text(set_position+1+settings.counter_separator_label+e(pp_images).size());if(typeof pp_descriptions[set_position]!="undefined"&&pp_descriptions[set_position]!=""){$pp_pic_holder.find(".pp_description").show().html(unescape(pp_descriptions[set_position]))}else{$pp_pic_holder.find(".pp_description").hide()}movie_width=parseFloat(i("width",pp_images[set_position]))?i("width",pp_images[set_position]):settings.default_width.toString();movie_height=parseFloat(i("height",pp_images[set_position]))?i("height",pp_images[set_position]):settings.default_height.toString();u=false;if(movie_height.indexOf("%")!=-1){movie_height=parseFloat(e(window).height()*parseFloat(movie_height)/100-150);u=true}if(movie_width.indexOf("%")!=-1){movie_width=parseFloat(e(window).width()*parseFloat(movie_width)/100-150);u=true}$pp_pic_holder.fadeIn(function(){settings.show_title&&pp_titles[set_position]!=""&&typeof pp_titles[set_position]!="undefined"?$ppt.html(unescape(pp_titles[set_position])):$ppt.html(" ");imgPreloader="";skipInjection=false;switch(S(pp_images[set_position])){case"image":imgPreloader=new Image;nextImage=new Image;if(isSet&&set_position<e(pp_images).size()-1)nextImage.src=pp_images[set_position+1];prevImage=new Image;if(isSet&&pp_images[set_position-1])prevImage.src=pp_images[set_position-1];$pp_pic_holder.find("#pp_full_res")[0].innerHTML=settings.image_markup.replace(/{path}/g,pp_images[set_position]);imgPreloader.onload=function(){a=w(imgPreloader.width,imgPreloader.height);g()};imgPreloader.onerror=function(){alert("Image cannot be loaded. Make sure the path is correct and image exist.");e.prettyPhoto.close()};imgPreloader.src=pp_images[set_position];break;case"youtube":a=w(movie_width,movie_height);movie_id=i("v",pp_images[set_position]);if(movie_id==""){movie_id=pp_images[set_position].split("youtu.be/");movie_id=movie_id[1];if(movie_id.indexOf("?")>0)movie_id=movie_id.substr(0,movie_id.indexOf("?"));if(movie_id.indexOf("&")>0)movie_id=movie_id.substr(0,movie_id.indexOf("&"))}movie="http://www.youtube.com/embed/"+movie_id;i("rel",pp_images[set_position])?movie+="?rel="+i("rel",pp_images[set_position]):movie+="?rel=1";if(settings.autoplay)movie+="&autoplay=1";toInject=settings.iframe_markup.replace(/{width}/g,a["width"]).replace(/{height}/g,a["height"]).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);break;case"vimeo":a=w(movie_width,movie_height);movie_id=pp_images[set_position];var t=/http(s?):\/\/(www\.)?vimeo.com\/(\d+)/;var n=movie_id.match(t);movie="http://player.vimeo.com/video/"+n[3]+"?title=0&byline=0&portrait=0";if(settings.autoplay)movie+="&autoplay=1;";vimeo_width=a["width"]+"/embed/?moog_width="+a["width"];toInject=settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,a["height"]).replace(/{path}/g,movie);break;case"quicktime":a=w(movie_width,movie_height);a["height"]+=15;a["contentHeight"]+=15;a["containerHeight"]+=15;toInject=settings.quicktime_markup.replace(/{width}/g,a["width"]).replace(/{height}/g,a["height"]).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay);break;case"flash":a=w(movie_width,movie_height);flash_vars=pp_images[set_position];flash_vars=flash_vars.substring(pp_images[set_position].indexOf("flashvars")+10,pp_images[set_position].length);filename=pp_images[set_position];filename=filename.substring(0,filename.indexOf("?"));toInject=settings.flash_markup.replace(/{width}/g,a["width"]).replace(/{height}/g,a["height"]).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+"?"+flash_vars);break;case"iframe":a=w(movie_width,movie_height);frame_url=pp_images[set_position];frame_url=frame_url.substr(0,frame_url.indexOf("iframe")-1);toInject=settings.iframe_markup.replace(/{width}/g,a["width"]).replace(/{height}/g,a["height"]).replace(/{path}/g,frame_url);break;case"ajax":doresize=false;a=w(movie_width,movie_height);doresize=true;skipInjection=true;e.get(pp_images[set_position],function(e){toInject=settings.inline_markup.replace(/{content}/g,e);$pp_pic_holder.find("#pp_full_res")[0].innerHTML=toInject;g()});break;case"custom":a=w(movie_width,movie_height);toInject=settings.custom_markup;break;case"inline":myClone=e(pp_images[set_position]).clone().append('<br clear="all" />').css({width:settings.default_width}).wrapInner('<div id="pp_full_res"><div class="pp_inline"></div></div>').appendTo(e("body")).show();doresize=false;a=w(e(myClone).width(),e(myClone).height());doresize=true;e(myClone).remove();toInject=settings.inline_markup.replace(/{content}/g,e(pp_images[set_position]).html());break}if(!imgPreloader&&!skipInjection){$pp_pic_holder.find("#pp_full_res")[0].innerHTML=toInject;g()}});return false};e.prettyPhoto.changePage=function(t){currentGalleryPage=0;if(t=="previous"){set_position--;if(set_position<0)set_position=e(pp_images).size()-1}else if(t=="next"){set_position++;if(set_position>e(pp_images).size()-1)set_position=0}else{set_position=t}rel_index=set_position;if(!doresize)doresize=true;if(settings.allow_expand){e(".pp_contract").removeClass("pp_contract").addClass("pp_expand")}y(function(){e.prettyPhoto.open()})};e.prettyPhoto.changeGalleryPage=function(e){if(e=="next"){currentGalleryPage++;if(currentGalleryPage>totalPage)currentGalleryPage=0}else if(e=="previous"){currentGalleryPage--;if(currentGalleryPage<0)currentGalleryPage=totalPage}else{currentGalleryPage=e}slide_speed=e=="next"||e=="previous"?settings.animation_speed:0;slide_to=currentGalleryPage*itemsPerPage*itemWidth;$pp_gallery.find("ul").animate({left:-slide_to},slide_speed)};e.prettyPhoto.startSlideshow=function(){if(typeof m=="undefined"){$pp_pic_holder.find(".pp_play").unbind("click").removeClass("pp_play").addClass("pp_pause").click(function(){e.prettyPhoto.stopSlideshow();return false});m=setInterval(e.prettyPhoto.startSlideshow,settings.slideshow)}else{e.prettyPhoto.changePage("next")}};e.prettyPhoto.stopSlideshow=function(){$pp_pic_holder.find(".pp_pause").unbind("click").removeClass("pp_pause").addClass("pp_play").click(function(){e.prettyPhoto.startSlideshow();return false});clearInterval(m);m=undefined};e.prettyPhoto.close=function(){if($pp_overlay.is(":animated"))return;e.prettyPhoto.stopSlideshow();$pp_pic_holder.stop().find("object,embed").css("visibility","hidden");e("div.pp_pic_holder,div.ppt,.pp_fade").fadeOut(settings.animation_speed,function(){e(this).remove()});$pp_overlay.fadeOut(settings.animation_speed,function(){if(settings.hideflash)e("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility","visible");e(this).remove();e(window).unbind("scroll.prettyphoto");r();settings.callback();doresize=true;f=false;delete settings})};if(!pp_alreadyInitialized&&t()){pp_alreadyInitialized=true;hashIndex=t();hashRel=hashIndex;hashIndex=hashIndex.substring(hashIndex.indexOf("/")+1,hashIndex.length-1);hashRel=hashRel.substring(0,hashRel.indexOf("/"));setTimeout(function(){e("a["+s.hook+"^='"+hashRel+"']:eq("+hashIndex+")").trigger("click")},50)}return this.unbind("click.prettyphoto").bind("click.prettyphoto",e.prettyPhoto.initialize)};})(jQuery);var pp_alreadyInitialized=false \ No newline at end of file
diff --git a/mod/achievements.php b/mod/achievements.php
new file mode 100644
index 000000000..1910def73
--- /dev/null
+++ b/mod/achievements.php
@@ -0,0 +1,84 @@
+<?php
+
+function achievements_content(&$a) {
+
+ if(argc() > 1)
+ $which = argv(1);
+ else {
+ notice( t('Requested profile is not available.') . EOL );
+ return;
+}
+
+ $profile = 0;
+ $profile = argv(1);
+ profile_load($a,$which,$profile);
+
+ $r = q("select channel_id from channel where channel_address = '%s'",
+ dbesc($which)
+ );
+ if($r) {
+ $owner = intval($r[0]['channel_id']);
+ }
+
+ $observer = $a->get_observer();
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+ $perms = get_all_perms($owner,$ob_hash);
+ if(! $perms['view_profile']) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+// By default, all badges are false
+ $contactbadge = false;
+ $profilebadge = false;
+ $keywordsbadge = false;
+
+// Check number of contacts. Award a badge if over 10
+// We'll figure these out on each page load instead of
+// writing them to the DB because that will mean one needs
+// to retain their achievements - eg, you can't add
+// a bunch of channels just to get your badge, and then
+// delete them all again. If these become popular or
+// used in profiles or something, we may need to reconsider
+// and add a table for this - because this won't scale.
+
+ $r = q("select * from abook where abook_channel = %d",
+ intval($owner)
+ );
+
+ if (count($r))
+ $contacts = count($r);
+ // We're checking for 11 to adjust for the abook record for self
+ if ($contacts >= 11)
+ $contactbadge = true;
+
+// Check if an about field in the profile has been created.
+
+ $r = q("select * from profile where uid = %d and about <> ''",
+ intval($owner)
+ );
+
+ if ($r)
+ $profilebadge = 1;
+
+// Check if keywords have been set
+
+ $r = q("select * from profile where uid = %d and keywords <> ''",
+ intval($owner)
+ );
+
+ if($r)
+ $keywordsbadge = 1;
+
+// FIXME - stick ths in a template, and make it look pretty.
+ $o .= "Template not implemented";
+ $o .= "If this is one, you get the profile badge" . $profilebadge . "<br>";
+ $o .= "If this is one, you get the contact badge" . $contactbadge . "<br>";
+ $o .= "If this is one you get the keywords badge" . $keywordsbadge . "<br>";
+ $o .= "I haven't done the top level posts badge yet" . $toplevelpostsbadge . "<br>";
+ $o .= "I haven't done the number of channels badge yet" . $channelsbadge;
+
+
+return $o;
+
+}
diff --git a/mod/acl.php b/mod/acl.php
index bd19c4bb7..ed9e935e9 100644
--- a/mod/acl.php
+++ b/mod/acl.php
@@ -39,7 +39,7 @@ function acl_init(&$a){
// count groups and contacts
if ($type=='' || $type=='g'){
- $r = q("SELECT COUNT(`id`) AS g FROM `group` WHERE `deleted` = 0 AND `uid` = %d $sql_extra",
+ $r = q("SELECT COUNT(`id`) AS g FROM `groups` WHERE `deleted` = 0 AND `uid` = %d $sql_extra",
intval(local_user())
);
$group_count = (int)$r[0]['g'];
@@ -49,9 +49,10 @@ function acl_init(&$a){
if ($type=='' || $type=='c'){
$r = q("SELECT COUNT(abook_id) AS c FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_channel = %d AND not ( abook_flags & %d ) $sql_extra2" ,
+ WHERE abook_channel = %d AND not ( abook_flags & %d ) and not (xchan_flags & %d ) $sql_extra2" ,
intval(local_user()),
- intval(ABOOK_FLAG_SELF|ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED)
+ intval(ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED),
+ intval(XCHAN_FLAGS_DELETED)
);
$contact_count = (int)$r[0]['c'];
}
@@ -64,9 +65,11 @@ function acl_init(&$a){
$r = q("SELECT count(xchan_hash) as c
FROM abook left join xchan on abook_xchan = xchan_hash
WHERE abook_channel = %d and ( (abook_their_perms = null) or (abook_their_perms & %d ))
+ and not ( xchan_flags & %d )
$sql_extra2 ",
intval(local_user()),
- intval(PERMS_W_MAIL)
+ intval(PERMS_W_MAIL),
+ intval(XCHAN_FLAGS_DELETED)
);
if($r)
@@ -78,8 +81,9 @@ function acl_init(&$a){
// autocomplete for Contacts
$r = q("SELECT COUNT(abook_id) AS c FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_channel = %d $sql_extra2" ,
- intval(local_user())
+ WHERE abook_channel = %d and not ( xchan_flags & %d ) $sql_extra2" ,
+ intval(local_user()),
+ intval(XCHAN_FLAGS_DELETED)
);
$contact_count = (int)$r[0]['c'];
@@ -94,14 +98,14 @@ function acl_init(&$a){
if ($type=='' || $type=='g'){
- $r = q("SELECT `group`.`id`, `group`.`hash`, `group`.`name`,
+ $r = q("SELECT `groups`.`id`, `groups`.`hash`, `groups`.`name`,
GROUP_CONCAT(DISTINCT `group_member`.`xchan` SEPARATOR ',') as uids
- FROM `group`,`group_member`
- WHERE `group`.`deleted` = 0 AND `group`.`uid` = %d
- AND `group_member`.`gid`=`group`.`id`
+ FROM `groups`,`group_member`
+ WHERE `groups`.`deleted` = 0 AND `groups`.`uid` = %d
+ AND `group_member`.`gid`=`groups`.`id`
$sql_extra
- GROUP BY `group`.`id`
- ORDER BY `group`.`name`
+ GROUP BY `groups`.`id`
+ ORDER BY `groups`.`name`
LIMIT %d,%d",
intval(local_user()),
intval($start),
@@ -121,32 +125,39 @@ function acl_init(&$a){
);
}
}
-
+
if ($type=='' || $type=='c') {
- $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
+ $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
FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_channel = %d AND not ( abook_flags & %d ) $sql_extra2 order by xchan_name asc" ,
+ WHERE abook_channel = %d AND not ( abook_flags & %d ) and not (xchan_flags & %d ) $sql_extra2 order by xchan_name asc" ,
intval(local_user()),
- intval(ABOOK_FLAG_SELF|ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED)
+ intval(ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED),
+ intval(XCHAN_FLAGS_DELETED)
);
+
}
elseif($type == 'm') {
$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 ))
+ and not (xchan_flags & %d)
$sql_extra3
ORDER BY `xchan_name` ASC ",
intval(local_user()),
- intval(PERMS_W_MAIL)
+ intval(PERMS_W_MAIL),
+ intval(XCHAN_FLAGS_DELETED)
);
}
elseif($type == 'a') {
$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)
$sql_extra3
ORDER BY xchan_name ASC ",
- intval(local_user())
+ intval(local_user()),
+ intval(XCHAN_FLAGS_DELETED)
+
);
}
elseif($type == 'x') {
@@ -203,7 +214,7 @@ function acl_init(&$a){
"xid" => $g['hash'],
"link" => $g['nick'],
"nick" => substr($g['nick'],0,strpos($g['nick'],'@')),
- "network" => '',
+ "self" => (($g['abook_flags'] & ABOOK_FLAG_SELF) ? 'abook-self' : ''),
"taggable" => (($g['abook_their_perms'] & PERMS_W_TAGWALL) ? 'taggable' : '')
);
}
diff --git a/mod/admin.php b/mod/admin.php
index 9a6aea35a..950c7e5ce 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -215,13 +215,14 @@ function admin_page_site_post(&$a){
check_form_security_token_redirectOnErr('/admin/site', 'admin_site');
$sitename = ((x($_POST,'sitename')) ? notags(trim($_POST['sitename'])) : '');
- $banner = ((x($_POST,'banner')) ? trim($_POST['banner']) : false);
+ $banner = ((x($_POST,'banner')) ? trim($_POST['banner']) : false);
+ $admininfo = ((x($_POST,'admininfo')) ? trim($_POST['admininfo']) : false);
$language = ((x($_POST,'language')) ? notags(trim($_POST['language'])) : '');
$theme = ((x($_POST,'theme')) ? notags(trim($_POST['theme'])) : '');
- $theme_mobile = ((x($_POST,'theme_mobile')) ? notags(trim($_POST['theme_mobile'])) : '');
- $theme_accessibility = ((x($_POST,'theme_accessibility')) ? notags(trim($_POST['theme_accessibility'])) : '');
- $site_channel = ((x($_POST,'site_channel')) ? notags(trim($_POST['site_channel'])) : '');
- $maximagesize = ((x($_POST,'maximagesize')) ? intval(trim($_POST['maximagesize'])) : 0);
+ $theme_mobile = ((x($_POST,'theme_mobile')) ? notags(trim($_POST['theme_mobile'])) : '');
+ $theme_accessibility = ((x($_POST,'theme_accessibility')) ? notags(trim($_POST['theme_accessibility'])) : '');
+ $site_channel = ((x($_POST,'site_channel')) ? notags(trim($_POST['site_channel'])) : '');
+ $maximagesize = ((x($_POST,'maximagesize')) ? intval(trim($_POST['maximagesize'])) : 0);
$register_policy = ((x($_POST,'register_policy')) ? intval(trim($_POST['register_policy'])) : 0);
@@ -301,6 +302,12 @@ function admin_page_site_post(&$a){
set_config('system','banner', $banner);
}
+ if ($admininfo==''){
+ del_config('system','admininfo');
+ }
+ else {
+ set_config('system','admininfo', $admininfo);
+ }
set_config('system','language', $language);
set_config('system','theme', $theme);
if ( $theme_mobile === '---' ) {
@@ -393,6 +400,9 @@ function admin_page_site(&$a) {
$banner = 'red';
$banner = htmlspecialchars($banner);
+ /* Admin Info */
+ $admininfo = get_config('system','admininfo');
+
/* Register policy */
$register_choices = Array(
REGISTER_CLOSED => t("Closed"),
@@ -425,8 +435,9 @@ function admin_page_site(&$a) {
'$baseurl' => $a->get_baseurl(true),
// name, label, value, help string, extra data...
- '$sitename' => array('sitename', t("Site name"), htmlentities(get_config('system','sitename'), ENT_QUOTES), ""),
+ '$sitename' => array('sitename', t("Site name"), htmlspecialchars(get_config('system','sitename'), ENT_QUOTES, 'UTF-8'),''),
'$banner' => array('banner', t("Banner/Logo"), $banner, ""),
+ '$admininfo' => array('admininfo', t("Administrator Information"), $admininfo, t("Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here")),
'$language' => array('language', t("System language"), get_config('system','language'), "", $lang_choices),
'$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),
@@ -436,7 +447,7 @@ function admin_page_site(&$a) {
'$maximagesize' => array('maximagesize', t("Maximum image size"), 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("Register policy"), get_config('system','register_policy'), "", $register_choices),
'$access_policy' => array('access_policy', t("Access policy"), get_config('system','access_policy'), "", $access_choices),
- '$register_text' => array('register_text', t("Register text"), htmlentities(get_config('system','register_text'), ENT_QUOTES, 'UTF-8'), t("Will be displayed prominently on the registration page.")),
+ '$register_text' => array('register_text', t("Register text"), htmlspecialchars(get_config('system','register_text'), ENT_QUOTES, 'UTF-8'), t("Will be displayed prominently on the registration page.")),
'$abandon_days' => array('abandon_days', t('Accounts abandoned after x days'), get_config('system','account_abandon_days'), t('Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit.')),
'$allowed_sites' => array('allowed_sites', t("Allowed friend domains"), get_config('system','allowed_sites'), t("Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains")),
'$allowed_email' => array('allowed_email', t("Allowed email domains"), get_config('system','allowed_email'), t("Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains")),
@@ -456,7 +467,30 @@ function admin_page_site(&$a) {
}
function admin_page_hubloc_post(&$a){
- check_form_security_token_redirectOnErr('/admin/hubloc', 'hubloc');
+ check_form_security_token_redirectOnErr('/admin/hubloc', 'admin_hubloc');
+
+ //prepare for ping
+
+ if ( $_POST['hublocid']) {
+ $hublocid = $_POST['hublocid'];
+ $arrhublocurl = q("SELECT hubloc_url FROM hubloc WHERE hubloc_id = %d ",
+ intval($hublocid)
+ );
+ $hublocurl = $arrhublocurl[0]['hubloc_url'] . '/post';
+ logger('hubloc_url : ' . $hublocurl , LOGGER_DEBUG);
+ }
+
+ //if ( $_POST'' == "check" ) {
+ // //todo
+ //}
+
+ //perform ping
+ //handle results and set the hubloc flags in db to make results visible
+
+ //in case of repair store new pub key for tested hubloc (all channel with this hubloc) in db
+ //after repair set hubloc flags to 0
+
+ goaway($a->get_baseurl(true) . '/admin/hubloc' );
return;
}
@@ -479,7 +513,8 @@ function admin_page_hubloc(&$a) {
'$queues' => $queues,
//'$accounts' => $accounts, /*$accounts is empty here*/
'$pending' => Array( t('Pending registrations'), $pending),
- '$plugins' => Array( t('Active plugins'), $a->plugins )
+ '$plugins' => Array( t('Active plugins'), $a->plugins ),
+ '$form_security_token' => get_form_security_token("admin_hubloc")
));
return $o;
}
@@ -686,7 +721,7 @@ function admin_page_users(&$a){
'$submit' => t('Submit'),
'$select_all' => t('select all'),
'$h_pending' => t('User registrations waiting for confirm'),
- '$th_pending' => array( t('Request date'), t('Name'), t('Email') ),
+ '$th_pending' => array( t('Request date'), t('Email') ),
'$no_pending' => t('No registrations.'),
'$approve' => t('Approve'),
'$deny' => t('Deny'),
diff --git a/mod/allfriends.php b/mod/allfriends.php
deleted file mode 100644
index bb4df30be..000000000
--- a/mod/allfriends.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-require_once('include/socgraph.php');
-
-function allfriends_content(&$a) {
-
- $o = '';
-
- if(! local_user()) {
- notice( t('Permission denied.') . EOL);
- return;
- }
-
- if(argc() > 1)
- $cid = intval(argv(1));
- if(! $cid)
- return;
-
- $c = q("select name, url, photo from contact where id = %d and uid = %d limit 1",
- intval($cid),
- intval(local_user())
- );
-
- $a->page['aside'] .= '<div class="vcard">'
- . '<div class="fn label">' . $c[0]['name'] . '</div>'
- . '<div id="profile-photo-wrapper">'
- . '<a href="/contacts/' . $cid . '"><img class="photo" width="175" height="175"
- src="' . $c[0]['photo'] . '" alt="' . $c[0]['name'] . '" /></div>'
- . '</div>';
-
-
- if(! count($c))
- return;
-
- $o .= '<h2>' . sprintf( t('Friends of %s'), $c[0]['name']) . '</h2>';
-
-
- $r = all_friends(local_user(),$cid);
-
- if(! count($r)) {
- $o .= t('No friends to display.');
- return $o;
- }
-
- $tpl = get_markup_template('common_friends.tpl');
-
- foreach($r as $rr) {
-
- $o .= replace_macros($tpl,array(
- '$url' => $rr['url'],
- '$name' => $rr['name'],
- '$photo' => $rr['photo'],
- '$tags' => ''
- ));
- }
-
- $o .= cleardiv();
-// $o .= paginate($a);
- return $o;
-}
diff --git a/mod/attach.php b/mod/attach.php
index a5f9d1a6b..c52966ce0 100644
--- a/mod/attach.php
+++ b/mod/attach.php
@@ -17,10 +17,24 @@ function attach_init(&$a) {
return;
}
+ $c = q("select channel_address from channel where channel_id = %d limit 1",
+ intval($r['data']['uid'])
+ );
+
+ if(! $c)
+ return;
+
header('Content-type: ' . $r['data']['filetype']);
header('Content-disposition: attachment; filename=' . $r['data']['filename']);
- if($r['data']['flags'] & ATTACH_FLAG_OS )
- echo @file_get_contents($r['data']['data']);
+ if($r['data']['flags'] & ATTACH_FLAG_OS ) {
+ $istream = fopen('store/' . $c[0]['channel_address'] . '/' . $r['data']['data'],'rb');
+ $ostream = fopen('php://output','wb');
+ if($istream && $ostream) {
+ pipe_streams($istream,$ostream);
+ fclose($istream);
+ fclose($ostream);
+ }
+ }
else
echo $r['data']['data'];
killme();
diff --git a/mod/authtest.php b/mod/authtest.php
index 2c8d7b4b4..7747ea504 100644
--- a/mod/authtest.php
+++ b/mod/authtest.php
@@ -6,7 +6,7 @@ require_once('mod/magic.php');
function authtest_content(&$a) {
-
+ $auth_success = false;
$o .= '<h3>Magic-Auth Diagnostic</h3>';
if(! local_user()) {
@@ -34,11 +34,16 @@ function authtest_content(&$a) {
if(! $j)
$o .= 'json_decode failure from remote site. ' . print_r($z['body'],true);
$o .= 'Remote site responded: ' . print_r($j,true);
+ if(strpos($j,'Authentication Success'))
+ $auth_success = true;
}
else {
$o .= 'fetch url failure.' . print_r($z,true);
}
}
+
+ if(! $auth_success)
+ $o .= 'Authentication Failed!' . EOL;
}
return str_replace("\n",'<br />',$o);
diff --git a/mod/blocks.php b/mod/blocks.php
index 4604790c3..9a4e0b1ca 100644
--- a/mod/blocks.php
+++ b/mod/blocks.php
@@ -45,9 +45,9 @@ function blocks_content(&$a) {
return;
}
- if(local_user() && local_user() == $owner) {
- $a->set_widget('design',design_tools());
- }
+// if(local_user() && local_user() == $owner) {
+ // $a->set_widget('design',design_tools());
+ // }
diff --git a/mod/channel.php b/mod/channel.php
index 149936dd7..34a1e2dda 100644
--- a/mod/channel.php
+++ b/mod/channel.php
@@ -47,6 +47,8 @@ function channel_content(&$a, $update = 0, $load = false) {
$category = $datequery = $datequery2 = '';
+ $mid = $_GET['mid'];
+
$datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : '');
$datequery2 = ((x($_GET,'dbegin') && is_a_date_arg($_GET['dbegin'])) ? notags($_GET['dbegin']) : '');
@@ -132,19 +134,28 @@ function channel_content(&$a, $update = 0, $load = false) {
if(($update) && (! $load)) {
-
- $r = q("SELECT distinct parent AS `item_id` from item
- left join abook on item.author_xchan = abook.abook_xchan
- WHERE uid = %d AND item_restrict = 0
- AND (item_flags & %d) AND ( item_flags & %d )
- AND ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
- $sql_extra
- ORDER BY created DESC",
- intval($a->profile['profile_uid']),
- intval(ITEM_WALL),
- intval(ITEM_UNSEEN),
- intval(ABOOK_FLAG_BLOCKED)
- );
+ 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) AND (item_flags & %d) $sql_extra limit 1",
+ dbesc($mid),
+ intval($a->profile['profile_uid']),
+ intval(ITEM_WALL),
+ intval(ITEM_UNSEEN)
+ );
+ } else {
+ $r = q("SELECT distinct parent AS `item_id` from item
+ left join abook on item.author_xchan = abook.abook_xchan
+ WHERE uid = %d AND item_restrict = 0
+ AND (item_flags & %d) AND ( item_flags & %d )
+ AND ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
+ $sql_extra
+ ORDER BY created DESC",
+ intval($a->profile['profile_uid']),
+ intval(ITEM_WALL),
+ intval(ITEM_UNSEEN),
+ intval(ABOOK_FLAG_BLOCKED)
+ );
+ }
}
else {
@@ -166,19 +177,31 @@ function channel_content(&$a, $update = 0, $load = false) {
$pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage']));
if($load || ($_COOKIE['jsAvailable'] != 1)) {
- $r = q("SELECT distinct id AS item_id FROM item
- left join abook on item.author_xchan = abook.abook_xchan
- WHERE uid = %d AND item_restrict = 0
- AND (item_flags & %d) and (item_flags & %d)
- AND ((abook.abook_flags & %d) = 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)
-
- );
+ 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) $sql_extra limit 1",
+ dbesc($mid),
+ intval($a->profile['profile_uid']),
+ intval(ITEM_WALL)
+ );
+ if (! $r) {
+ notice( t('Permission denied.') . EOL);
+ }
+
+ } else {
+ $r = q("SELECT distinct id AS item_id FROM item
+ left join abook on item.author_xchan = abook.abook_xchan
+ WHERE uid = %d AND item_restrict = 0
+ AND (item_flags & %d) and (item_flags & %d)
+ AND ((abook.abook_flags & %d) = 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)
+ );
+ }
}
else {
$r = array();
@@ -202,6 +225,12 @@ function channel_content(&$a, $update = 0, $load = false) {
$items = fetch_post_tags($items, true);
$items = conv_sort($items,'created');
+ if ($load && $mid && (! count($items))) {
+ // This will happen if we don't have sufficient permissions
+ // to view the parent item (or the item itself if it is toplevel)
+ notice( t('Permission denied.') . EOL);
+ }
+
} else {
$items = array();
}
@@ -233,9 +262,10 @@ function channel_content(&$a, $update = 0, $load = false) {
'$page' => (($a->pager['page'] != 1) ? $a->pager['page'] : 1),
'$search' => '',
'$order' => '',
+ '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
'$file' => '',
'$cats' => (($category) ? $category : ''),
- '$mid' => '',
+ '$mid' => $mid,
'$dend' => $datequery,
'$dbegin' => $datequery2
));
@@ -266,5 +296,8 @@ function channel_content(&$a, $update = 0, $load = false) {
if((! $update) || ($_COOKIE['jsAvailable'] != 1))
$o .= alt_pager($a,count($items));
+ if($mid)
+ $o .= '<div id="content-complete"></div>';
+
return $o;
}
diff --git a/mod/chanview.php b/mod/chanview.php
index f183fbdf1..ca3410c8f 100644
--- a/mod/chanview.php
+++ b/mod/chanview.php
@@ -38,17 +38,16 @@ function chanview_content(&$a) {
);
}
if($r) {
- $xchan = $r[0];
+ $a->poi = $r[0];
}
-
// Here, let's see if we have an xchan. If we don't, how we proceed is determined by what
// info we do have. If it's a URL, we can offer to visit it directly. If it's a webbie or
// address, we can and should try to import it. If it's just a hash, we can't continue, but we
// probably wouldn't have a hash if we don't already have an xchan for this channel.
- if(! $xchan) {
+ if(! $a->poi) {
logger('mod_chanview: fallback');
// This is hackish - construct a zot address from the url
if($_REQUEST['url']) {
@@ -68,31 +67,27 @@ function chanview_content(&$a) {
dbesc($_REQUEST['address'])
);
if($r)
- $xchan = $r[0];
+ $a->poi = $r[0];
}
}
}
- if(! $xchan) {
+ if(! $a->poi) {
notice( t('Channel not found.') . EOL);
return;
}
- $url = (($observer)
- ? z_root() . '/magic?f=&dest=' . $xchan['xchan_url'] . '&addr=' . $xchan['xchan_addr']
- : $xchan['xchan_url']
- );
+
+ $url = $a->poi['xchan_url'];
+ if($observer)
+ $url = zid($url);
// let somebody over-ride the iframed viewport presentation
- if(local_user() && get_pconfig(local_user(),'system','chanview_full'))
+ if((! local_user()) || (get_pconfig(local_user(),'system','chanview_full')))
goaway($url);
-
- if($xchan['xchan_hash'])
- $a->set_widget('vcard',vcard_from_xchan($xchan,$observer,'chanview'));
-
$o = replace_macros(get_markup_template('chanview.tpl'),array(
'$url' => $url,
'$full' => t('toggle full screen mode')
diff --git a/mod/cloud.php b/mod/cloud.php
index cdd926444..18b61f941 100644
--- a/mod/cloud.php
+++ b/mod/cloud.php
@@ -1,23 +1,5 @@
<?php
- // This module is currently !!!HIGHLY EXPERIMENTAL!!!
- // You should think twice before running this on a production server
- // as security mechanisms are not yet implemented and those that
- // are implemented probably don't work.
-
- // DAV mounts will probably fail if you don't use SSL, because some platforms refuse to send
- // basic auth over non-encrypted connections.
- // One could use digest auth - but then one has to calculate the A1 digest and store it for
- // all acounts. We aren't doing that. We have a stored password already. We don't need another
- // one. The login unfortunately is the channel nickname (webbie) as we have no way of passing
- // the destination channel to DAV. You should be able to login with your account credentials
- // and be directed to your default channel.
-
- // This interface does not yet support Red stored files. Consider any content in your "store"
- // directory to be throw-away until advised otherwise.
-
-
-
use Sabre\DAV;
require_once('vendor/autoload.php');
@@ -44,64 +26,109 @@
-class RedBasicAuth extends Sabre\DAV\Auth\Backend\AbstractBasic {
- protected function validateUserPass($username, $password) {
- require_once('include/auth.php');
- $record = account_verify_password($email,$pass);
- if($record && $record['account_default_channel']) {
- $r = q("select * from channel where channel_account_id = %d and channel_id = %d limit 1",
- intval($record['account_id']),
- intval($record['account_default_channel'])
- );
- if($r) {
- $this->currentUser = $r[0]['channel_address'];
- return true;
- }
- }
- $r = q("select channel_account_id from channel where channel_address = '%s' limit 1",
- dbesc($username)
- );
- if($r) {
- $x = q("select * from account where account_id = %d limit 1",
- intval($r[0]['channel_account_id'])
- );
- if($x) {
- foreach($x as $record) {
- if(($record['account_flags'] == ACCOUNT_OK) || ($record['account_flags'] == ACCOUNT_UNVERIFIED)
- && (hash('whirlpool',$record['account_salt'] . $password) === $record['account_password'])) {
- logger('(DAV) RedBasicAuth: password verified for ' . $username);
- return true;
- }
- }
- }
- }
- logger('(DAV) RedBasicAuth: password failed for ' . $username);
- return false;
- }
-}
+function cloud_init(&$a) {
+
+ require_once('include/reddav.php');
+
+ if(! is_dir('store'))
+ mkdir('store',STORAGE_DEFAULT_PERMISSIONS,false);
+
+ $which = null;
+ if(argc() > 1)
+ $which = argv(1);
+
+ $profile = 0;
+ $channel = $a->get_channel();
+
+ $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/feed/' . $which .'" />' . "\r\n" ;
+
+ if($which)
+ profile_load($a,$which,$profile);
+
+
+
+
+ $auth = new RedBasicAuth();
+
+ $ob_hash = get_observer_hash();
-function cloud_init() {
+ if($ob_hash) {
+ if(local_user()) {
+ $channel = $a->get_channel();
+ $auth->setCurrentUser($channel['channel_address']);
+ $auth->channel_name = $channel['channel_address'];
+ $auth->channel_id = $channel['channel_id'];
+ $auth->channel_hash = $channel['channel_hash'];
+ if($channel['channel_timezone'])
+ $auth->timezone = $channel['channel_timezone'];
+ }
+ $auth->observer = $ob_hash;
+ }
- if(! get_config('system','enable_cloud'))
- killme();
+ if($_GET['davguest'])
+ $_SESSION['davguest'] = true;
- $rootDirectory = new DAV\FS\Directory('store');
+
+
+ $_SERVER['QUERY_STRING'] = str_replace(array('?f=','&f='),array('',''),$_SERVER['QUERY_STRING']);
+ $_SERVER['QUERY_STRING'] = preg_replace('/[\?&]zid=(.*?)([\?&]|$)/ism','',$_SERVER['QUERY_STRING']);
+ $_SERVER['QUERY_STRING'] = preg_replace('/[\?&]davguest=(.*?)([\?&]|$)/ism','',$_SERVER['QUERY_STRING']);
+
+ $_SERVER['REQUEST_URI'] = str_replace(array('?f=','&f='),array('',''),$_SERVER['REQUEST_URI']);
+ $_SERVER['REQUEST_URI'] = preg_replace('/[\?&]zid=(.*?)([\?&]|$)/ism','',$_SERVER['REQUEST_URI']);
+ $_SERVER['REQUEST_URI'] = preg_replace('/[\?&]davguest=(.*?)([\?&]|$)/ism','',$_SERVER['REQUEST_URI']);
+
+ $rootDirectory = new RedDirectory('/',$auth);
$server = new DAV\Server($rootDirectory);
- $lockBackend = new DAV\Locks\Backend\File('store/data/locks');
+ $lockBackend = new DAV\Locks\Backend\File('store/[data]/locks');
$lockPlugin = new DAV\Locks\Plugin($lockBackend);
$server->addPlugin($lockPlugin);
- $auth = new RedBasicAuth();
+ // The next section of code allows us to bypass prompting for http-auth if a FILE is being accessed anonymously and permissions
+ // allow this. This way one can create hotlinks to public media files in their cloud and anonymous viewers won't get asked to login.
+ // If a DIRECTORY is accessed or there are permission issues accessing the file and we aren't previously authenticated via zot,
+ // prompt for HTTP-auth. This will be the default case for mounting a DAV directory.
+ // In order to avoid prompting for passwords for viewing a DIRECTORY, add the URL query parameter 'davguest=1'
- $auth->Authenticate($server,'Red Matrix');
+ $isapublic_file = false;
+ $davguest = ((x($_SESSION,'davguest')) ? true : false);
+
+ if((! $auth->observer) && ($_SERVER['REQUEST_METHOD'] === 'GET')) {
+ try {
+ $x = RedFileData('/' . $a->cmd,$auth);
+ if($x instanceof RedFile)
+ $isapublic_file = true;
+ }
+ catch ( Exception $e ) {
+ $isapublic_file = false;
+ }
+ }
+
+ if((! $auth->observer) && (! $isapublic_file) && (! $davguest)) {
+ try {
+ $auth->Authenticate($server, t('Red Matrix - Guests: Username: {your email address}, Password: +++'));
+ }
+ catch ( Exception $e) {
+ logger('mod_cloud: auth exception' . $e->getMessage());
+ http_status_exit($e->getHTTPCode(),$e->getMessage());
+ }
+ }
+
+// $browser = new DAV\Browser\Plugin();
+
+ $browser = new RedBrowser($auth);
+
+ $auth->setBrowserPlugin($browser);
+
+
+ $server->addPlugin($browser);
// All we need to do now, is to fire up the server
$server->exec();
- exit;
-
+ killme();
} \ No newline at end of file
diff --git a/mod/common.php b/mod/common.php
index 4afaf37eb..e19a9d3a9 100644
--- a/mod/common.php
+++ b/mod/common.php
@@ -21,14 +21,6 @@ function common_init(&$a) {
}
-function common_aside(&$a) {
- if(! $a->profile['profile_uid'])
- return;
-
- profile_create_sidebar($a);
-}
-
-
function common_content(&$a) {
$o = '';
diff --git a/mod/connect.php b/mod/connect.php
index 93f994af5..f7748bcaf 100644
--- a/mod/connect.php
+++ b/mod/connect.php
@@ -23,10 +23,6 @@ function connect_init(&$a) {
$a->data['channel'] = $r[0];
profile_load($a,$which,'');
-
- profile_create_sidebar($a,false);
-
-
}
function connect_post(&$a) {
diff --git a/mod/connections.php b/mod/connections.php
index d1bb33748..2119c69c7 100644
--- a/mod/connections.php
+++ b/mod/connections.php
@@ -13,46 +13,12 @@ function connections_init(&$a) {
if(! local_user())
return;
- if((argc() == 2) && intval(argv(1))) {
- $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_user()),
- intval(argv(1))
- );
- if($r) {
- $a->data['abook'] = $r[0];
- }
- }
-
$channel = $a->get_channel();
if($channel)
head_set_icon($channel['xchan_photo_s']);
}
-function connections_aside(&$a) {
-
-
- if (! local_user())
- return;
-
- if(x($a->data,'abook')) {
- $a->set_widget('vcard',vcard_from_xchan($a->data['abook'],$a->get_observer()));
- }
- else {
- $a->set_widget('follow', widget_follow(array()));
- $a->set_widget('collections', group_side('connections','group',false,0,((array_key_exists('abook',$a->data)) ? $a->data['abook']['abook_xchan'] : '')));
- }
-
-
- $a->set_widget('suggest',widget_suggestions(array()));
- $a->set_widget('findpeople',findpeople_widget());
-
-}
-
-
-
function connections_post(&$a) {
if(! local_user())
@@ -202,319 +168,6 @@ function connections_content(&$a) {
return login();
}
- if(argc() == 3) {
-
- $contact_id = intval(argv(1));
- if(! $contact_id)
- return;
-
- $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 ) and not ( abook_flags & %d ) LIMIT 1",
- intval($contact_id),
- intval(local_user()),
- intval(ABOOK_FLAG_SELF),
- // allow drop even if pending, just duplicate the self query
- intval(($cmd === 'drop') ? ABOOK_FLAG_SELF : ABOOK_FLAG_PENDING)
- );
-
- if(! count($orig_record)) {
- notice( t('Could not access address book record.') . EOL);
- goaway($a->get_baseurl(true) . '/connections');
- }
-
- if($cmd === 'update') {
-
- // pull feed and consume it, which should subscribe to the hub.
- proc_run('php',"include/poller.php","$contact_id");
- goaway($a->get_baseurl(true) . '/connections/' . $contact_id);
-
- }
-
- if($cmd === 'refresh') {
- if(! zot_refresh($orig_record[0],get_app()->get_channel()))
- notice( t('Refresh failed - channel is currently unavailable.') );
- goaway($a->get_baseurl(true) . '/connections/' . $contact_id);
- }
-
- 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 );
- connections_clone($a);
- }
- else
- notice(t('Unable to set address book parameters.') . EOL);
- goaway($a->get_baseurl(true) . '/connections/' . $contact_id);
- }
-
- 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 );
- connections_clone($a);
- }
- else
- notice(t('Unable to set address book parameters.') . EOL);
- goaway($a->get_baseurl(true) . '/connections/' . $contact_id);
- }
-
- 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 );
- connections_clone($a);
- }
- else
- notice(t('Unable to set address book parameters.') . EOL);
- goaway($a->get_baseurl(true) . '/connections/' . $contact_id);
- }
-
- 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 );
- connections_clone($a);
- }
- else
- notice(t('Unable to set address book parameters.') . EOL);
- goaway($a->get_baseurl(true) . '/connections/' . $contact_id);
- }
-
- // We'll prevent somebody from unapproving a contact.
-
- if($cmd === 'approve') {
- if($orig_record[0]['abook_flags'] & ABOOK_FLAG_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 );
- connections_clone($a);
- }
- else
- notice(t('Unable to set address book parameters.') . EOL);
- }
- goaway($a->get_baseurl(true) . '/connections/' . $contact_id);
- }
-
-
- if($cmd === 'drop') {
-
- require_once('include/Contact.php');
-// FIXME
-// terminate_friendship($a->get_channel(),$orig_record[0]);
-
- contact_remove(local_user(), $orig_record[0]['abook_id']);
-// FIXME - send to clones
- info( t('Contact has been removed.') . EOL );
- if(x($_SESSION,'return_url'))
- goaway($a->get_baseurl(true) . '/' . $_SESSION['return_url']);
- goaway($a->get_baseurl(true) . '/contacts');
-
- }
- }
-
- if((x($a->data,'abook')) && (is_array($a->data['abook']))) {
-
- $contact_id = $a->data['abook']['abook_id'];
- $contact = $a->data['abook'];
-
-
- $tabs = array(
-
- array(
- 'label' => t('View Profile'),
- 'url' => $a->get_baseurl(true) . '/chanview/?f=&cid=' . $contact['abook_id'],
- 'sel' => '',
- 'title' => sprintf( t('View %s\'s profile'), $contact['xchan_name']),
- ),
-
- array(
- 'label' => t('Refresh Permissions'),
- 'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/refresh',
- 'sel' => '',
- 'title' => t('Fetch updated permissions'),
- ),
-
- array(
- 'label' => t('Recent Activity'),
- 'url' => $a->get_baseurl(true) . '/network/?f=&cid=' . $contact['abook_id'],
- 'sel' => '',
- 'title' => t('View recent posts and comments'),
- ),
-
- array(
- 'label' => (($contact['abook_flags'] & ABOOK_FLAG_BLOCKED) ? t('Unblock') : t('Block')),
- 'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/block',
- 'sel' => (($contact['abook_flags'] & ABOOK_FLAG_BLOCKED) ? 'active' : ''),
- 'title' => t('Block or Unblock this connection'),
- ),
-
- array(
- 'label' => (($contact['abook_flags'] & ABOOK_FLAG_IGNORED) ? t('Unignore') : t('Ignore')),
- 'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/ignore',
- 'sel' => (($contact['abook_flags'] & ABOOK_FLAG_IGNORED) ? 'active' : ''),
- 'title' => t('Ignore or Unignore this connection'),
- ),
- array(
- 'label' => (($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? t('Unarchive') : t('Archive')),
- 'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/archive',
- 'sel' => (($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? 'active' : ''),
- 'title' => t('Archive or Unarchive this connection'),
- ),
- array(
- 'label' => (($contact['abook_flags'] & ABOOK_FLAG_HIDDEN) ? t('Unhide') : t('Hide')),
- 'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/hide',
- 'sel' => (($contact['abook_flags'] & ABOOK_FLAG_HIDDEN) ? 'active' : ''),
- 'title' => t('Hide or Unhide this connection'),
- ),
-
- array(
- 'label' => t('Delete'),
- 'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/drop',
- 'sel' => '',
- 'title' => t('Delete this connection'),
- ),
-
- );
-
- $self = false;
-
- if(! ($contact['abook_flags'] & ABOOK_FLAG_SELF)) {
- $tab_tpl = get_markup_template('common_tabs.tpl');
- $t = replace_macros($tab_tpl, array('$tabs'=>$tabs));
- }
- else
- $self = true;
-
- $a->page['htmlhead'] .= replace_macros(get_markup_template('contact_head.tpl'), array(
- '$baseurl' => $a->get_baseurl(true),
- '$editselect' => $editselect
- ));
-
- require_once('include/contact_selectors.php');
-
- $tpl = get_markup_template("abook_edit.tpl");
-
- if(feature_enabled(local_user(),'affinity')) {
-
- $slider_tpl = get_markup_template('contact_slider.tpl');
- $slide = replace_macros($slider_tpl,array(
- '$me' => t('Me'),
- '$val' => (($contact['abook_closeness']) ? $contact['abook_closeness'] : 99),
- '$intimate' => t('Best Friends'),
- '$friends' => t('Friends'),
- '$oldfriends' => t('Former Friends'),
- '$acquaintances' => t('Acquaintances'),
- '$world' => t('Unknown')
- ));
- }
-
- $perms = array();
- $channel = $a->get_channel();
-
- $global_perms = get_perms();
- $existing = get_all_perms(local_user(),$contact['abook_xchan']);
-
- $unapproved = array('pending', t('Approve this connection'), '', t('Accept connection to allow communication'));
-
- foreach($global_perms as $k => $v) {
- $thisperm = (($contact['abook_my_perms'] & $v[1]) ? "1" : '');
-
- // For auto permissions (when $self is true) we don't want to look at existing
- // permissions because they are enabled for the channel owner
-
- if((! $self) && ($existing[$k]))
- $thisperm = "1";
-
- $perms[] = array('perms_' . $k, $v[3], (($contact['abook_their_perms'] & $v[1]) ? "1" : ""),$thisperm, $v[1], (($channel[$v[0]] == PERMS_SPECIFIC) ? '' : '1'), $v[4]);
- }
-
- $o .= replace_macros($tpl,array(
-
- '$header' => (($self) ? t('Automatic Permissions Settings') : sprintf( t('Connections: settings for %s'),$contact['xchan_name'])),
- '$addr' => $contact['xchan_addr'],
- '$notself' => (($self) ? '' : '1'),
- '$self' => (($self) ? '1' : ''),
- '$autolbl' => t('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.'),
- '$viewprof' => t('View Profile'),
- '$lbl_slider' => t('Slide to adjust your degree of friendship'),
- '$slide' => $slide,
- '$tabs' => $t,
- '$tab_str' => $tab_str,
- '$is_pending' => (($contact['abook_flags'] & ABOOK_FLAG_PENDING) ? 1 : ''),
- '$unapproved' => $unapproved,
- '$inherited' => t('inherited'),
- '$approve' => t('Approve this connection'),
- '$noperms' => (((! $self) && (! $contact['abook_my_perms'])) ? t('Connection has no individual permissions!') : ''),
- '$noperm_desc' => (((! $self) && (! $contact['abook_my_perms'])) ? t('This may be appropriate based on your <a href="settings">privacy settings</a>, though you may wish to review the "Advanced Permissions".') : ''),
- '$submit' => t('Submit'),
- '$lbl_vis1' => t('Profile Visibility'),
- '$lbl_vis2' => sprintf( t('Please choose the profile you would like to display to %s when viewing your profile securely.'), $contact['xchan_name']),
- '$lbl_info1' => t('Contact Information / Notes'),
- '$infedit' => t('Edit contact notes'),
- '$close' => $contact['abook_closeness'],
- '$them' => t('Their Settings'),
- '$me' => t('My Settings'),
- '$perms' => $perms,
- '$forum' => t('Forum Members'),
- '$soapbox' => t('Soapbox'),
- '$full' => t('Full Sharing'),
- '$cautious' => t('Cautious Sharing'),
- '$follow' => t('Follow Only'),
- '$permlbl' => t('Individual Permissions'),
- '$permnote' => t('Some permissions may be inherited from your channel <a href="settings">privacy settings</a>, which have higher priority. Changing those inherited settings on this page will have no effect.'),
- '$advanced' => t('Advanced Permissions'),
- '$quick' => t('Quick Links'),
- '$common_link' => $a->get_baseurl(true) . '/common/loc/' . local_user() . '/' . $contact['id'],
- '$all_friends' => $all_friends,
- '$relation_text' => $relation_text,
- '$visit' => sprintf( t('Visit %s\'s profile - %s'),$contact['xchan_name'],$contact['xchan_url']),
- '$blockunblock' => t('Block/Unblock contact'),
- '$ignorecont' => t('Ignore contact'),
- '$lblcrepair' => t("Repair URL settings"),
- '$lblrecent' => t('View conversations'),
- '$lblsuggest' => $lblsuggest,
- '$delete' => t('Delete contact'),
- '$poll_interval' => contact_poll_interval($contact['priority'],(! $poll_enabled)),
- '$poll_enabled' => $poll_enabled,
- '$lastupdtext' => t('Last update:'),
- '$lost_contact' => $lost_contact,
- '$updpub' => t('Update public posts'),
- '$last_update' => $last_update,
- '$udnow' => t('Update now'),
- '$profile_select' => contact_profile_assign($contact['abook_profile']),
- '$multiprofs' => feature_enabled(local_user(),'multi_profiles'),
- '$contact_id' => $contact['abook_id'],
- '$block_text' => (($contact['blocked']) ? t('Unblock') : t('Block') ),
- '$ignore_text' => (($contact['readonly']) ? t('Unignore') : t('Ignore') ),
- '$blocked' => (($contact['blocked']) ? t('Currently blocked') : ''),
- '$ignored' => (($contact['readonly']) ? t('Currently ignored') : ''),
- '$archived' => (($contact['archive']) ? t('Currently archived') : ''),
- '$pending' => (($contact['archive']) ? t('Currently pending') : ''),
- '$hidden' => array('hidden', t('Hide this contact from others'), ($contact['hidden'] == 1), t('Replies/likes to your public posts <strong>may</strong> still be visible')),
- '$photo' => $contact['photo'],
- '$name' => $contact['name'],
- '$dir_icon' => $dir_icon,
- '$alt_text' => $alt_text,
- '$sparkle' => $sparkle,
- '$url' => $url
-
- ));
-
- $arr = array('contact' => $contact,'output' => $o);
-
- call_hooks('contact_edit', $arr);
-
- return $arr['output'];
-
- }
-
$blocked = false;
$hidden = false;
$ignored = false;
@@ -647,9 +300,10 @@ 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) $sql_extra $sql_extra2 ",
+ where abook_channel = %d and not (abook_flags & %d) and not (xchan_flags & %d ) $sql_extra $sql_extra2 ",
intval(local_user()),
- intval(ABOOK_FLAG_SELF)
+ intval(ABOOK_FLAG_SELF),
+ intval(XCHAN_FLAGS_DELETED)
);
if(count($r)) {
$a->set_pager_total($r[0]['total']);
@@ -657,9 +311,10 @@ 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) $sql_extra $sql_extra2 ORDER BY xchan_name LIMIT %d , %d ",
+ WHERE abook_channel = %d and not (abook_flags & %d) and not ( xchan_flags & %d) $sql_extra $sql_extra2 ORDER BY xchan_name LIMIT %d , %d ",
intval(local_user()),
intval(ABOOK_FLAG_SELF),
+ intval(XCHAN_FLAGS_DELETED),
intval($a->pager['start']),
intval($a->pager['itemspage'])
);
@@ -680,7 +335,7 @@ function connections_content(&$a) {
'name' => $rr['xchan_name'],
'username' => $rr['xchan_name'],
'sparkle' => $sparkle,
- 'link' => z_root() . '/connections/' . $rr['abook_id'],
+ 'link' => z_root() . '/connedit/' . $rr['abook_id'],
'url' => $rr['xchan_url'],
'network' => network_to_name($rr['network']),
);
diff --git a/mod/connedit.php b/mod/connedit.php
new file mode 100644
index 000000000..e2d4b861c
--- /dev/null
+++ b/mod/connedit.php
@@ -0,0 +1,497 @@
+<?php
+
+require_once('include/Contact.php');
+require_once('include/socgraph.php');
+require_once('include/contact_selectors.php');
+require_once('include/group.php');
+require_once('include/contact_widgets.php');
+require_once('include/zot.php');
+require_once('include/widgets.php');
+
+function connedit_init(&$a) {
+
+ if(! local_user())
+ return;
+
+ if((argc() == 2) && intval(argv(1))) {
+ $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_user()),
+ intval(argv(1))
+ );
+ if($r) {
+ $a->poi = $r[0];
+ }
+ }
+
+ $channel = $a->get_channel();
+ if($channel)
+ head_set_icon($channel['xchan_photo_s']);
+
+}
+
+function connedit_post(&$a) {
+
+ if(! local_user())
+ return;
+
+ $contact_id = intval(argv(1));
+ if(! $contact_id)
+ return;
+
+ $orig_record = q("SELECT * FROM abook WHERE abook_id = %d AND abook_channel = %d LIMIT 1",
+ intval($contact_id),
+ intval(local_user())
+ );
+
+ if(! $orig_record) {
+ notice( t('Could not access contact record.') . EOL);
+ goaway($a->get_baseurl(true) . '/connections');
+ return; // NOTREACHED
+ }
+
+ call_hooks('contact_edit_post', $_POST);
+
+ $profile_id = $_POST['profile-assign'];
+ if($profile_id) {
+ $r = q("SELECT profile_guid FROM profile WHERE profile_guid = '%s' AND `uid` = %d LIMIT 1",
+ dbesc($profile_id),
+ intval(local_user())
+ );
+ if(! count($r)) {
+ notice( t('Could not locate selected profile.') . EOL);
+ return;
+ }
+ }
+
+ $hidden = intval($_POST['hidden']);
+
+ $priority = intval($_POST['poll']);
+ if($priority > 5 || $priority < 0)
+ $priority = 0;
+
+ $closeness = intval($_POST['closeness']);
+ if($closeness < 0)
+ $closeness = 99;
+
+ $abook_my_perms = 0;
+
+ foreach($_POST as $k => $v) {
+ if(strpos($k,'perms_') === 0) {
+ $abook_my_perms += $v;
+ }
+ }
+
+ $abook_flags = $orig_record[0]['abook_flags'];
+ $new_friend = false;
+
+ if(($_REQUEST['pending']) && ($abook_flags & ABOOK_FLAG_PENDING)) {
+ $abook_flags = ( $abook_flags ^ ABOOK_FLAG_PENDING );
+ $new_friend = true;
+ }
+
+ $r = q("UPDATE abook SET abook_profile = '%s', abook_my_perms = %d , abook_closeness = %d, abook_flags = %d
+ where abook_id = %d AND abook_channel = %d LIMIT 1",
+ dbesc($profile_id),
+ intval($abook_my_perms),
+ intval($closeness),
+ intval($abook_flags),
+ intval($contact_id),
+ intval(local_user())
+ );
+ if($r)
+ info( t('Connection updated.') . EOL);
+ else
+ 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))) {
+ proc_run('php', 'include/notifier.php', 'permission_update', $contact_id);
+ }
+
+ if($new_friend) {
+ $channel = $a->get_channel();
+ $default_group = $channel['channel_default_group'];
+ if($default_group) {
+ require_once('include/group.php');
+ $g = group_rec_byhash(local_user(),$default_group);
+ if($g)
+ group_add_member(local_user(),'',$a->poi['abook_xchan'],$g['id']);
+ }
+
+
+
+ // Check if settings permit ("post new friend activity" is allowed, and
+ // friends in general or this friend in particular aren't hidden)
+ // and send out a new friend activity
+ // TODO
+
+ // pull in a bit of content if there is any to pull in
+ proc_run('php','include/onepoll.php',$contact_id);
+
+ }
+
+ // Refresh the structure in memory with the new data
+
+ $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_user()),
+ intval($contact_id)
+ );
+ if($r) {
+ $a->poi = $r[0];
+ }
+
+ if($new_friend) {
+ $arr = array('channel_id' => local_user(), 'abook' => $a->poi);
+ call_hooks('accept_follow', $arr);
+ }
+
+ connedit_clone($a);
+
+ return;
+
+}
+
+function connedit_clone(&$a) {
+
+ if(! $a->poi)
+ return;
+ $clone = $a->poi;
+
+ unset($clone['abook_id']);
+ unset($clone['abook_account']);
+ unset($clone['abook_channel']);
+
+ build_sync_packet(0 /* use the current local_user */, array('abook' => array($clone)));
+}
+
+
+function connedit_content(&$a) {
+
+ $sort_type = 0;
+ $o = '';
+
+
+ if(! local_user()) {
+ notice( t('Permission denied.') . EOL);
+ return login();
+ }
+
+ if(argc() == 3) {
+
+ $contact_id = intval(argv(1));
+ if(! $contact_id)
+ return;
+
+ $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 ) and not ( abook_flags & %d ) LIMIT 1",
+ intval($contact_id),
+ intval(local_user()),
+ intval(ABOOK_FLAG_SELF),
+ // allow drop even if pending, just duplicate the self query
+ intval(($cmd === 'drop') ? ABOOK_FLAG_SELF : ABOOK_FLAG_PENDING)
+ );
+
+ if(! count($orig_record)) {
+ notice( t('Could not access address book record.') . EOL);
+ goaway($a->get_baseurl(true) . '/connections');
+ }
+
+ if($cmd === 'update') {
+
+ // pull feed and consume it, which should subscribe to the hub.
+ proc_run('php',"include/poller.php","$contact_id");
+ goaway($a->get_baseurl(true) . '/connedit/' . $contact_id);
+
+ }
+
+ if($cmd === 'refresh') {
+ if(! zot_refresh($orig_record[0],get_app()->get_channel()))
+ notice( t('Refresh failed - channel is currently unavailable.') );
+ goaway($a->get_baseurl(true) . '/connedit/' . $contact_id);
+ }
+
+ 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
+ notice(t('Unable to set address book parameters.') . EOL);
+ goaway($a->get_baseurl(true) . '/connedit/' . $contact_id);
+ }
+
+ 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
+ notice(t('Unable to set address book parameters.') . EOL);
+ goaway($a->get_baseurl(true) . '/connedit/' . $contact_id);
+ }
+
+ 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
+ notice(t('Unable to set address book parameters.') . EOL);
+ goaway($a->get_baseurl(true) . '/connedit/' . $contact_id);
+ }
+
+ 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
+ notice(t('Unable to set address book parameters.') . EOL);
+ goaway($a->get_baseurl(true) . '/connedit/' . $contact_id);
+ }
+
+ // We'll prevent somebody from unapproving a contact.
+
+ if($cmd === 'approve') {
+ if($orig_record[0]['abook_flags'] & ABOOK_FLAG_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
+ notice(t('Unable to set address book parameters.') . EOL);
+ }
+ goaway($a->get_baseurl(true) . '/connedit/' . $contact_id);
+ }
+
+
+ if($cmd === 'drop') {
+
+ require_once('include/Contact.php');
+// FIXME
+// terminate_friendship($a->get_channel(),$orig_record[0]);
+
+ contact_remove(local_user(), $orig_record[0]['abook_id']);
+// FIXME - send to clones
+ info( t('Contact has been removed.') . EOL );
+ if(x($_SESSION,'return_url'))
+ goaway($a->get_baseurl(true) . '/' . $_SESSION['return_url']);
+ goaway($a->get_baseurl(true) . '/contacts');
+
+ }
+ }
+
+ if($a->poi) {
+
+ $contact_id = $a->poi['abook_id'];
+ $contact = $a->poi;
+
+
+ $tabs = array(
+
+ array(
+ 'label' => t('View Profile'),
+ 'url' => $a->get_baseurl(true) . '/chanview/?f=&cid=' . $contact['abook_id'],
+ 'sel' => '',
+ 'title' => sprintf( t('View %s\'s profile'), $contact['xchan_name']),
+ ),
+
+ array(
+ 'label' => t('Refresh Permissions'),
+ 'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/refresh',
+ 'sel' => '',
+ 'title' => t('Fetch updated permissions'),
+ ),
+
+ array(
+ 'label' => t('Recent Activity'),
+ 'url' => $a->get_baseurl(true) . '/network/?f=&cid=' . $contact['abook_id'],
+ 'sel' => '',
+ 'title' => t('View recent posts and comments'),
+ ),
+
+ array(
+ 'label' => (($contact['abook_flags'] & ABOOK_FLAG_BLOCKED) ? t('Unblock') : t('Block')),
+ 'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/block',
+ 'sel' => (($contact['abook_flags'] & ABOOK_FLAG_BLOCKED) ? 'active' : ''),
+ 'title' => t('Block or Unblock this connection'),
+ ),
+
+ array(
+ 'label' => (($contact['abook_flags'] & ABOOK_FLAG_IGNORED) ? t('Unignore') : t('Ignore')),
+ 'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/ignore',
+ 'sel' => (($contact['abook_flags'] & ABOOK_FLAG_IGNORED) ? 'active' : ''),
+ 'title' => t('Ignore or Unignore this connection'),
+ ),
+ array(
+ 'label' => (($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? t('Unarchive') : t('Archive')),
+ 'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/archive',
+ 'sel' => (($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? 'active' : ''),
+ 'title' => t('Archive or Unarchive this connection'),
+ ),
+ array(
+ 'label' => (($contact['abook_flags'] & ABOOK_FLAG_HIDDEN) ? t('Unhide') : t('Hide')),
+ 'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/hide',
+ 'sel' => (($contact['abook_flags'] & ABOOK_FLAG_HIDDEN) ? 'active' : ''),
+ 'title' => t('Hide or Unhide this connection'),
+ ),
+
+ array(
+ 'label' => t('Delete'),
+ 'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/drop',
+ 'sel' => '',
+ 'title' => t('Delete this connection'),
+ ),
+
+ );
+
+ $self = false;
+
+ if(! ($contact['abook_flags'] & ABOOK_FLAG_SELF)) {
+ $tab_tpl = get_markup_template('common_tabs.tpl');
+ $t = replace_macros($tab_tpl, array('$tabs'=>$tabs));
+ }
+ else
+ $self = true;
+
+ $a->page['htmlhead'] .= replace_macros(get_markup_template('contact_head.tpl'), array(
+ '$baseurl' => $a->get_baseurl(true),
+ '$editselect' => $editselect
+ ));
+
+ require_once('include/contact_selectors.php');
+
+ $tpl = get_markup_template("abook_edit.tpl");
+
+ if(feature_enabled(local_user(),'affinity')) {
+
+ $slider_tpl = get_markup_template('contact_slider.tpl');
+ $slide = replace_macros($slider_tpl,array(
+ '$me' => t('Me'),
+ '$val' => (($contact['abook_closeness']) ? $contact['abook_closeness'] : 99),
+ '$intimate' => t('Best Friends'),
+ '$friends' => t('Friends'),
+ '$oldfriends' => t('Former Friends'),
+ '$acquaintances' => t('Acquaintances'),
+ '$world' => t('Unknown')
+ ));
+ }
+
+ $perms = array();
+ $channel = $a->get_channel();
+
+ $global_perms = get_perms();
+ $existing = get_all_perms(local_user(),$contact['abook_xchan']);
+
+ $unapproved = array('pending', t('Approve this connection'), '', t('Accept connection to allow communication'));
+
+ foreach($global_perms as $k => $v) {
+ $thisperm = (($contact['abook_my_perms'] & $v[1]) ? "1" : '');
+
+ // For auto permissions (when $self is true) we don't want to look at existing
+ // permissions because they are enabled for the channel owner
+
+ if((! $self) && ($existing[$k]))
+ $thisperm = "1";
+
+ $perms[] = array('perms_' . $k, $v[3], (($contact['abook_their_perms'] & $v[1]) ? "1" : ""),$thisperm, $v[1], (($channel[$v[0]] == PERMS_SPECIFIC) ? '' : '1'), $v[4]);
+ }
+
+ $o .= replace_macros($tpl,array(
+
+ '$header' => (($self) ? t('Automatic Permissions Settings') : sprintf( t('Connections: settings for %s'),$contact['xchan_name'])),
+ '$addr' => $contact['xchan_addr'],
+ '$notself' => (($self) ? '' : '1'),
+ '$self' => (($self) ? '1' : ''),
+ '$autolbl' => t('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.'),
+ '$viewprof' => t('View Profile'),
+ '$lbl_slider' => t('Slide to adjust your degree of friendship'),
+ '$slide' => $slide,
+ '$tabs' => $t,
+ '$tab_str' => $tab_str,
+ '$is_pending' => (($contact['abook_flags'] & ABOOK_FLAG_PENDING) ? 1 : ''),
+ '$unapproved' => $unapproved,
+ '$inherited' => t('inherited'),
+ '$approve' => t('Approve this connection'),
+ '$noperms' => (((! $self) && (! $contact['abook_my_perms'])) ? t('Connection has no individual permissions!') : ''),
+ '$noperm_desc' => (((! $self) && (! $contact['abook_my_perms'])) ? t('This may be appropriate based on your <a href="settings">privacy settings</a>, though you may wish to review the "Advanced Permissions".') : ''),
+ '$submit' => t('Submit'),
+ '$lbl_vis1' => t('Profile Visibility'),
+ '$lbl_vis2' => sprintf( t('Please choose the profile you would like to display to %s when viewing your profile securely.'), $contact['xchan_name']),
+ '$lbl_info1' => t('Contact Information / Notes'),
+ '$infedit' => t('Edit contact notes'),
+ '$close' => $contact['abook_closeness'],
+ '$them' => t('Their Settings'),
+ '$me' => t('My Settings'),
+ '$perms' => $perms,
+ '$forum' => t('Forum Members'),
+ '$soapbox' => t('Soapbox'),
+ '$full' => t('Full Sharing'),
+ '$cautious' => t('Cautious Sharing'),
+ '$follow' => t('Follow Only'),
+ '$permlbl' => t('Individual Permissions'),
+ '$permnote' => t('Some permissions may be inherited from your channel <a href="settings">privacy settings</a>, which have higher priority. Changing those inherited settings on this page will have no effect.'),
+ '$advanced' => t('Advanced Permissions'),
+ '$quick' => t('Quick Links'),
+ '$common_link' => $a->get_baseurl(true) . '/common/loc/' . local_user() . '/' . $contact['id'],
+ '$all_friends' => $all_friends,
+ '$relation_text' => $relation_text,
+ '$visit' => sprintf( t('Visit %s\'s profile - %s'),$contact['xchan_name'],$contact['xchan_url']),
+ '$blockunblock' => t('Block/Unblock contact'),
+ '$ignorecont' => t('Ignore contact'),
+ '$lblcrepair' => t("Repair URL settings"),
+ '$lblrecent' => t('View conversations'),
+ '$lblsuggest' => $lblsuggest,
+ '$delete' => t('Delete contact'),
+ '$poll_interval' => contact_poll_interval($contact['priority'],(! $poll_enabled)),
+ '$poll_enabled' => $poll_enabled,
+ '$lastupdtext' => t('Last update:'),
+ '$lost_contact' => $lost_contact,
+ '$updpub' => t('Update public posts'),
+ '$last_update' => relative_date($contact['abook_connected']),
+ '$udnow' => t('Update now'),
+ '$profile_select' => contact_profile_assign($contact['abook_profile']),
+ '$multiprofs' => feature_enabled(local_user(),'multi_profiles'),
+ '$contact_id' => $contact['abook_id'],
+ '$block_text' => (($contact['blocked']) ? t('Unblock') : t('Block') ),
+ '$ignore_text' => (($contact['readonly']) ? t('Unignore') : t('Ignore') ),
+ '$blocked' => (($contact['blocked']) ? t('Currently blocked') : ''),
+ '$ignored' => (($contact['readonly']) ? t('Currently ignored') : ''),
+ '$archived' => (($contact['archive']) ? t('Currently archived') : ''),
+ '$pending' => (($contact['archive']) ? t('Currently pending') : ''),
+ '$hidden' => array('hidden', t('Hide this contact from others'), ($contact['hidden'] == 1), t('Replies/likes to your public posts <strong>may</strong> still be visible')),
+ '$photo' => $contact['photo'],
+ '$name' => $contact['name'],
+ '$dir_icon' => $dir_icon,
+ '$alt_text' => $alt_text,
+ '$sparkle' => $sparkle,
+ '$url' => $url
+
+ ));
+
+ $arr = array('contact' => $contact,'output' => $o);
+
+ call_hooks('contact_edit', $arr);
+
+ return $arr['output'];
+
+ }
+
+
+}
diff --git a/mod/contactgroup.php b/mod/contactgroup.php
index 4b46605a6..8b23f9f10 100644
--- a/mod/contactgroup.php
+++ b/mod/contactgroup.php
@@ -20,7 +20,7 @@ function contactgroup_content(&$a) {
if((argc() > 1) && (intval(argv(1)))) {
- $r = q("SELECT * FROM `group` WHERE `id` = %d AND `uid` = %d AND `deleted` = 0 LIMIT 1",
+ $r = q("SELECT * FROM `groups` WHERE `id` = %d AND `uid` = %d AND `deleted` = 0 LIMIT 1",
intval(argv(1)),
intval(local_user())
);
diff --git a/mod/crepair.php b/mod/crepair.php
deleted file mode 100644
index f749fac0e..000000000
--- a/mod/crepair.php
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php
-
-function crepair_init(&$a) {
- if(! local_user())
- return;
-
- $contact_id = 0;
-
- if(($a->argc == 2) && intval($a->argv[1])) {
- $contact_id = intval($a->argv[1]);
- $r = q("SELECT * FROM `contact` WHERE `uid` = %d and `id` = %d LIMIT 1",
- intval(local_user()),
- intval($contact_id)
- );
- if(! count($r)) {
- $contact_id = 0;
- }
- }
-
- if(! x($a->page,'aside'))
- $a->page['aside'] = '';
-
- if($contact_id) {
- $a->data['contact'] = $r[0];
- $o .= '<div class="vcard">';
- $o .= '<div class="fn">' . $a->data['contact']['name'] . '</div>';
- $o .= '<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="' . $a->data['contact']['photo'] . '" alt="' . $a->data['contact']['name'] . '" /></div>';
- $o .= '</div>';
- $a->page['aside'] .= $o;
-
- }
-}
-
-
-function crepair_post(&$a) {
- if(! local_user())
- return;
-
- $cid = (($a->argc > 1) ? intval($a->argv[1]) : 0);
-
- if($cid) {
- $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($cid),
- intval(local_user())
- );
- }
-
- if(! count($r))
- return;
-
- $contact = $r[0];
-
- $name = ((x($_POST,'name')) ? $_POST['name'] : $contact['name']);
- $nick = ((x($_POST,'nick')) ? $_POST['nick'] : '');
- $url = ((x($_POST,'url')) ? $_POST['url'] : '');
- $request = ((x($_POST,'request')) ? $_POST['request'] : '');
- $confirm = ((x($_POST,'confirm')) ? $_POST['confirm'] : '');
- $notify = ((x($_POST,'notify')) ? $_POST['notify'] : '');
- $poll = ((x($_POST,'poll')) ? $_POST['poll'] : '');
- $attag = ((x($_POST,'attag')) ? $_POST['attag'] : '');
- $photo = ((x($_POST,'photo')) ? $_POST['photo'] : '');
-
- $r = q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `url` = '%s', `request` = '%s', `confirm` = '%s', `notify` = '%s', `poll` = '%s', `attag` = '%s'
- WHERE `id` = %d AND `uid` = %d LIMIT 1",
- dbesc($name),
- dbesc($nick),
- dbesc($url),
- dbesc($request),
- dbesc($confirm),
- dbesc($notify),
- dbesc($poll),
- dbesc($attag),
- intval($contact['id']),
- local_user()
- );
-
- if($photo) {
- logger('mod-crepair: updating photo from ' . $photo);
- require_once('include/photo/photo_driver.php');
-
- $photos = import_profile_photo($photo,local_user(),$contact['id']);
-
- $x = q("UPDATE `contact` SET `photo` = '%s',
- `thumb` = '%s',
- `micro` = '%s',
- `name_date` = '%s',
- `uri_date` = '%s',
- `avatar_date` = '%s'
- WHERE `id` = %d LIMIT 1
- ",
- dbesc($photos[0]),
- dbesc($photos[1]),
- dbesc($photos[2]),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- intval($contact['id'])
- );
- }
-
- if($r)
- info( t('Contact settings applied.') . EOL);
- else
- notice( t('Contact update failed.') . EOL);
-
-
- return;
-}
-
-
-
-function crepair_content(&$a) {
-
- if(! local_user()) {
- notice( t('Permission denied.') . EOL);
- return;
- }
-
- $cid = (($a->argc > 1) ? intval($a->argv[1]) : 0);
-
- if($cid) {
- $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($cid),
- intval(local_user())
- );
- }
-
- if(! count($r)) {
- notice( t('Contact not found.') . EOL);
- return;
- }
-
- $contact = $r[0];
-
- $msg1 = t('Repair Contact Settings');
-
- $msg2 = t('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working.');
- $msg3 = t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.');
-
- $o .= '<h2>' . $msg1 . '</h2>';
-
- $o .= '<div class="error-message">' . $msg2 . EOL . EOL. $msg3 . '</div>';
-
- $o .= EOL . '<a href="contacts/' . $cid . '">' . t('Return to contact editor') . '</a>' . EOL;
-
- $tpl = get_markup_template('crepair.tpl');
- $o .= replace_macros($tpl, array(
- '$label_name' => t('Name'),
- '$label_nick' => t('Account Nickname'),
- '$label_attag' => t('@Tagname - overrides Name/Nickname'),
- '$label_url' => t('Account URL'),
- '$label_request' => t('Friend Request URL'),
- '$label_confirm' => t('Friend Confirm URL'),
- '$label_notify' => t('Notification Endpoint URL'),
- '$label_poll' => t('Poll/Feed URL'),
- '$label_photo' => t('New photo from this URL'),
- '$contact_name' => $contact['name'],
- '$contact_nick' => $contact['nick'],
- '$contact_id' => $contact['id'],
- '$contact_url' => $contact['url'],
- '$request' => $contact['request'],
- '$confirm' => $contact['confirm'],
- '$notify' => $contact['notify'],
- '$poll' => $contact['poll'],
- '$contact_attag' => $contact['attag'],
- '$lbl_submit' => t('Submit')
- ));
-
- return $o;
-
-}
diff --git a/mod/directory.php b/mod/directory.php
index 616035339..ff51b55db 100644
--- a/mod/directory.php
+++ b/mod/directory.php
@@ -9,24 +9,6 @@ function directory_init(&$a) {
}
-function directory_aside(&$a) {
-
- if(local_user()) {
- require_once('include/contact_widgets.php');
- $a->set_widget('find_people',findpeople_widget());
- }
-
- if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
- return;
- }
-
- $a->set_widget('safe_search',dir_safe_mode());
-
- $a->set_widget('dir_sort_order',dir_sort_links());
-
-}
-
-
function directory_content(&$a) {
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
@@ -186,10 +168,12 @@ function directory_content(&$a) {
'id' => ++$t,
'profile_link' => $profile_link,
'photo' => $rr['photo'],
+ 'hash' => $rr['hash'],
'alttext' => $rr['name'] . ' ' . $rr['address'],
'name' => $rr['name'],
'details' => $pdesc . $details,
'profile' => $profile,
+ 'address' => $rr['address'],
'location' => $location,
'gender' => $gender,
'pdesc' => $pdesc,
@@ -204,7 +188,7 @@ function directory_content(&$a) {
call_hooks('directory_item', $arr);
- $entries[] = $entry;
+ $entries[] = $arr['entry'];
unset($profile);
unset($location);
@@ -212,10 +196,8 @@ function directory_content(&$a) {
}
if($j['keywords']) {
- $a->set_widget('dirtagblock',dir_tagblock(z_root() . '/directory',$j['keywords']));
+ $a->data['directory_keywords'] = $j['keywords'];
}
- $a->set_widget('suggest',widget_suggestions(array()));
-
// logger('mod_directory: entries: ' . print_r($entries,true), LOGGER_DATA);
diff --git a/mod/dirprofile.php b/mod/dirprofile.php
new file mode 100644
index 000000000..d88144f52
--- /dev/null
+++ b/mod/dirprofile.php
@@ -0,0 +1,190 @@
+<?php
+
+require_once('include/dir_fns.php');
+require_once('include/bbcode.php');
+
+function dirprofile_init(&$a) {
+
+ if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
+ notice( t('Public access denied.') . EOL);
+ return;
+ }
+
+ $hash = $_REQUEST['hash'];
+ if(! $hash)
+ return '';
+
+ $o = '';
+
+ $dirmode = intval(get_config('system','directory_mode'));
+
+ if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) {
+ $url = z_root() . '/dirsearch';
+ }
+ if(! $url) {
+ $directory = find_upstream_directory($dirmode);
+
+ if($directory) {
+ $url = $directory['url'] . '/dirsearch';
+ }
+ else {
+ $url = DIRECTORY_FALLBACK_MASTER . '/dirsearch';
+ }
+ }
+ logger('mod_directory: URL = ' . $url, LOGGER_DEBUG);
+
+ $contacts = array();
+
+ if(local_user()) {
+ $x = q("select abook_xchan from abook where abook_channel = %d",
+ intval(local_user())
+ );
+ if($x) {
+ foreach($x as $xx)
+ $contacts[] = $xx['abook_xchan'];
+ }
+ }
+
+
+
+ if($url) {
+
+ $query = $url . '?f=&hash=' . $hash;
+
+ $x = z_fetch_url($query);
+ logger('dirprofile: return from upstream: ' . print_r($x,true), LOGGER_DATA);
+
+ if($x['success']) {
+ $t = 0;
+ $j = json_decode($x['body'],true);
+ if($j) {
+
+ if($j['results']) {
+
+ $entries = array();
+
+ $photo = 'thumb';
+
+ foreach($j['results'] as $rr) {
+
+ $profile_link = chanlink_url($rr['url']);
+
+ $pdesc = (($rr['description']) ? $rr['description'] . '<br />' : '');
+
+ $qrlink = zid($rr['url']);
+ $connect_link = ((local_user()) ? z_root() . '/follow?f=&url=' . urlencode($rr['address']) : '');
+
+ $online = remote_online_status($rr['address']);
+
+
+ if(in_array($rr['hash'],$contacts))
+ $connect_link = '';
+
+ $details = '';
+ if(strlen($rr['locale']))
+ $details .= $rr['locale'];
+ if(strlen($rr['region'])) {
+ if(strlen($rr['locale']))
+ $details .= ', ';
+ $details .= $rr['region'];
+ }
+ if(strlen($rr['country'])) {
+ if(strlen($details))
+ $details .= ', ';
+ $details .= $rr['country'];
+ }
+ if(strlen($rr['birthday'])) {
+ if(($years = age($rr['birthday'],'UTC','')) != 0)
+ $details .= '<br />' . t('Age: ') . $years ;
+ }
+ if(strlen($rr['gender']))
+ $details .= '<br />' . t('Gender: ') . $rr['gender'];
+
+ $page_type = '';
+
+ $profile = $rr;
+
+ if ((x($profile,'locale') == 1)
+ || (x($profile,'region') == 1)
+ || (x($profile,'postcode') == 1)
+ || (x($profile,'country') == 1))
+ $location = t('Location:');
+
+
+ $marital = ((x($profile,'marital') == 1) ? t('Status: ') . $profile['marital'] : False);
+ $sexual = ((x($profile,'sexual') == 1) ? t('Sexual Preference: ') . $profile['sexual'] : False);
+
+ $homepage = ((x($profile,'homepage') == 1) ? t('Homepage: ') . linkify($profile['homepage']) : False);
+ $hometown = ((x($profile,'hometown') == 1) ? t('Hometown: ') . $profile['hometown'] : False);
+
+ $about = ((x($profile,'about') == 1) ? t('About: ') . bbcode($profile['about']) : False);
+
+ $keywords = ((x($profile,'keywords')) ? $profile['keywords'] : '');
+ if($keywords) {
+ $keywords = str_replace(',',' ', $keywords);
+ $keywords = str_replace(' ',' ', $keywords);
+ $karr = explode(' ', $keywords);
+ $out = '';
+ if($karr) {
+ if(local_user()) {
+ $r = q("select keywords from profile where uid = %d and is_default = 1 limit 1",
+ intval(local_user())
+ );
+ if($r) {
+ $keywords = str_replace(',',' ', $r[0]['keywords']);
+ $keywords = str_replace(' ',' ', $keywords);
+ $marr = explode(' ', $keywords);
+ }
+ }
+ foreach($karr as $k) {
+ if(strlen($out))
+ $out .= ', ';
+ if($marr && in_arrayi($k,$marr))
+ $out .= '<strong>' . $k . '</strong>';
+ else
+ $out .= $k;
+ }
+ }
+
+ }
+ $entry = replace_macros(get_markup_template('direntry_large.tpl'), array(
+ '$id' => ++$t,
+ '$profile_link' => $profile_link,
+ '$qrlink' => $qrlink,
+ '$photo' => $rr['photo_l'],
+ '$alttext' => $rr['name'] . ' ' . $rr['address'],
+ '$name' => $rr['name'],
+ '$online' => (($online) ? t('Online Now') : ''),
+ '$details' => $pdesc . $details,
+ '$profile' => $profile,
+ '$address' => $rr['address'],
+ '$location' => $location,
+ '$gender' => $gender,
+ '$pdesc' => $pdesc,
+ '$marital' => $marital,
+ '$homepage' => $homepage,
+ '$hometown' => $hometown,
+ '$about' => $about,
+ '$kw' => (($out) ? t('Keywords: ') : ''),
+ '$keywords' => $out,
+ '$conn_label' => t('Connect'),
+ '$connect' => $connect_link,
+ ));
+
+
+ echo $entry;
+ killme();
+
+ }
+ }
+ else {
+ info( t("Not found.") . EOL);
+ }
+ }
+ }
+ }
+
+
+
+
+} \ No newline at end of file
diff --git a/mod/dirsearch.php b/mod/dirsearch.php
index 6315cae31..59a1d448d 100644
--- a/mod/dirsearch.php
+++ b/mod/dirsearch.php
@@ -27,9 +27,10 @@ function dirsearch_content(&$a) {
json_return_and_die($ret);
}
+ $hash = ((x($_REQUEST['hash'])) ? $_REQUEST['hash'] : '');
$name = ((x($_REQUEST,'name')) ? $_REQUEST['name'] : '');
- $hub = ((x($_REQUEST,'hub')) ? $_REQUEST['hub'] : '');
+ $hub = ((x($_REQUEST,'hub')) ? $_REQUEST['hub'] : '');
$address = ((x($_REQUEST,'address')) ? $_REQUEST['address'] : '');
$locale = ((x($_REQUEST,'locale')) ? $_REQUEST['locale'] : '');
$region = ((x($_REQUEST,'region')) ? $_REQUEST['region'] : '');
@@ -91,6 +92,13 @@ function dirsearch_content(&$a) {
$sql_extra .= " AND xprof_age >= " . intval($agege) . ") ";
}
+
+ if($hash) {
+ $sql_extra = " AND xchan_hash = '" . dbesc($hash) . "' ";
+ }
+
+
+
$perpage = (($_REQUEST['n']) ? $_REQUEST['n'] : 80);
$page = (($_REQUEST['p']) ? intval($_REQUEST['p'] - 1) : 0);
$startrec = (($page+1) * $perpage) - $perpage;
@@ -112,6 +120,9 @@ function dirsearch_content(&$a) {
$logic = ((strlen($sql_extra)) ? 0 : 1);
+ if($hash)
+ $logic = 1;
+
$safesql = (($safe > 0) ? " and not ( xchan_flags & " . intval(XCHAN_FLAGS_CENSORED|XCHAN_FLAGS_SELFCENSORED) . " ) " : '');
if($safe < 0)
$safesql = " and ( xchan_flags & " . intval(XCHAN_FLAGS_CENSORED|XCHAN_FLAGS_SELFCENSORED) . " ) ";
@@ -161,13 +172,11 @@ 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 ) and not ( xchan_flags & %d ) and not ( xchan_flags & %d ) and not ( xchan_flags & %d ) $safesql $order $qlimit ",
intval(XCHAN_FLAGS_HIDDEN),
intval(XCHAN_FLAGS_ORPHAN),
intval(XCHAN_FLAGS_DELETED)
);
-
}
$ret['page'] = $page + 1;
@@ -184,9 +193,8 @@ function dirsearch_content(&$a) {
$entry['name'] = $rr['xchan_name'];
$entry['hash'] = $rr['xchan_hash'];
-// $entry['updated'] = (($rr['ud_date']) ? $rr['ud_date'] : '0000-00-00 00:00:00');
-// $entry['update_guid'] = (($rr['ud_guid']) ? $rr['ud_guid'] : '');
$entry['url'] = $rr['xchan_url'];
+ $entry['photo_l'] = $rr['xchan_photo_l'];
$entry['photo'] = $rr['xchan_photo_m'];
$entry['address'] = $rr['xchan_addr'];
$entry['description'] = $rr['xprof_desc'];
@@ -198,6 +206,10 @@ function dirsearch_content(&$a) {
$entry['age'] = $rr['xprof_age'];
$entry['gender'] = $rr['xprof_gender'];
$entry['marital'] = $rr['xprof_marital'];
+ $entry['sexual'] = $rr['xprof_sexual'];
+ $entry['about'] = $rr['xprof_about'];
+ $entry['homepage'] = $rr['xprof_homepage'];
+ $entry['hometown'] = $rr['xprof_hometown'];
$entry['keywords'] = $rr['xprof_keywords'];
$entries[] = $entry;
@@ -221,7 +233,7 @@ function dirsearch_content(&$a) {
function list_public_sites() {
- $r = q("select * from site where site_access != 0 order by rand()");
+ $r = q("select * from site where site_access != 0 and site_register !=0 order by rand()");
$ret = array('success' => false);
if($r) {
@@ -257,4 +269,4 @@ function list_public_sites() {
}
}
return $ret;
-} \ No newline at end of file
+}
diff --git a/mod/display.php b/mod/display.php
index 9aafec8c3..b20eb3e4f 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -125,6 +125,7 @@ function display_content(&$a, $update = 0, $load = false) {
'$nouveau' => '0',
'$wall' => '0',
'$page' => (($a->pager['page'] != 1) ? $a->pager['page'] : 1),
+ '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
'$search' => '',
'$order' => '',
'$file' => '',
@@ -139,13 +140,13 @@ function display_content(&$a, $update = 0, $load = false) {
$sql_extra = public_permissions_sql(get_observer_hash());
- if($update && $load) {
+ if(($update && $load) || ($_COOKIE['jsAvailable'] != 1)) {
$updateable = false;
$pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage']));
- if($load) {
+ if($load || ($_COOKIE['jsAvailable'] != 1)) {
$r = null;
if(local_user()) {
$r = q("SELECT * from item
@@ -202,8 +203,11 @@ function display_content(&$a, $update = 0, $load = false) {
}
-
- $o .= conversation($a, $items, 'display', $update, 'client');
+ if ($_COOKIE['jsAvailable'] == 1) {
+ $o .= conversation($a, $items, 'display', $update, 'client');
+ } else {
+ $o .= conversation($a, $items, 'display', $update, 'traditional');
+ }
if($updateable) {
$x = q("UPDATE item SET item_flags = ( item_flags ^ %d )
diff --git a/mod/editblock.php b/mod/editblock.php
index 9c691640b..dcb4b42a7 100644
--- a/mod/editblock.php
+++ b/mod/editblock.php
@@ -56,7 +56,11 @@ function editblock_content(&$a) {
intval($post_id),
intval($owner)
);
-
+ $item_id = q("select * from item_id where service = 'BUILDBLOCK' and iid = %d limit 1",
+ $itm[0]['id']
+ );
+ if($item_id)
+ $block_title = $item_id[0]['sid'];
$plaintext = true;
@@ -88,7 +92,8 @@ function editblock_content(&$a) {
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
'$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
'$geotag' => $geotag,
- '$nickname' => $a->user['nickname']
+ '$nickname' => $a->user['nickname'],
+ '$confirmdelete' => t('Delete block?')
));
@@ -111,6 +116,7 @@ function editblock_content(&$a) {
$o .= replace_macros($tpl,array(
'$return_path' => $rp,
'$action' => 'item',
+ '$webpage' => ITEM_BUILDBLOCK,
'$share' => t('Edit'),
'$upload' => t('Upload photo'),
'$attach' => t('Attach file'),
@@ -132,8 +138,9 @@ function editblock_content(&$a) {
'$pvisit' => 'none',
'$public' => t('Public post'),
'$jotnets' => $jotnets,
- '$title' => htmlspecialchars($itm[0]['title']),
+ '$title' => htmlspecialchars($itm[0]['title'],ENT_COMPAT,'UTF-8'),
'$placeholdertitle' => t('Set title'),
+ '$pagetitle' => $block_title,
'$category' => '',
'$placeholdercategory' => t('Categories (comma-separated list)'),
'$emtitle' => t('Example: bob@example.com, mary@example.com'),
@@ -153,7 +160,7 @@ function editblock_content(&$a) {
$ob = get_observer_hash();
if(($itm[0]['author_xchan'] === $ob) || ($itm[0]['owner_xchan'] === $ob))
- $o .= '<br /><br /><a href="item/drop/' . $itm[0]['id'] . '" >' . t('Delete Block') . '</a><br />';
+ $o .= '<br /><br /><a class="block-delete-link" href="item/drop/' . $itm[0]['id'] . '" >' . t('Delete Block') . '</a><br />';
return $o;
diff --git a/mod/editlayout.php b/mod/editlayout.php
index f8906d981..838a219c9 100644
--- a/mod/editlayout.php
+++ b/mod/editlayout.php
@@ -57,7 +57,11 @@ function editlayout_content(&$a) {
intval($owner)
);
-
+ $item_id = q("select * from item_id where service = 'PDL' and iid = %d limit 1",
+ $itm[0]['id']
+ );
+ if($item_id)
+ $layout_title = $item_id[0]['sid'];
$plaintext = true;
// You may or may not be a local user. This won't work,
@@ -74,7 +78,8 @@ function editlayout_content(&$a) {
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
'$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
'$geotag' => $geotag,
- '$nickname' => $a->user['nickname']
+ '$nickname' => $a->user['nickname'],
+ '$confirmdelete' => t('Delete layout?')
));
@@ -97,6 +102,7 @@ function editlayout_content(&$a) {
$o .= replace_macros($tpl,array(
'$return_path' => $rp,
'$action' => 'item',
+ '$webpage' => ITEM_PDL,
'$share' => t('Edit'),
'$upload' => t('Upload photo'),
'$attach' => t('Attach file'),
@@ -117,8 +123,9 @@ function editlayout_content(&$a) {
'$pvisit' => 'none',
'$public' => t('Public post'),
'$jotnets' => $jotnets,
- '$title' => htmlspecialchars($itm[0]['title']),
+ '$title' => htmlspecialchars($itm[0]['title'],ENT_COMPAT,'UTF-8'),
'$placeholdertitle' => t('Set title'),
+ '$pagetitle' => $layout_title,
'$category' => '',
'$placeholdercategory' => t('Categories (comma-separated list)'),
'$emtitle' => t('Example: bob@example.com, mary@example.com'),
@@ -133,11 +140,11 @@ function editlayout_content(&$a) {
'$feature_expire' => 'none',
'$expires' => t('Set expiration date'),
));
-
+
$ob = get_observer_hash();
if(($itm[0]['author_xchan'] === $ob) || ($itm[0]['owner_xchan'] === $ob))
- $o .= '<br /><br /><a href="item/drop/' . $itm[0]['id'] . '" >' . t('Delete Layout') . '</a><br />';
+ $o .= '<br /><br /><a class="layout-delete-link" href="item/drop/' . $itm[0]['id'] . '" >' . t('Delete Layout') . '</a><br />';
return $o;
diff --git a/mod/editpost.php b/mod/editpost.php
index f25d6d21d..918a70d36 100644
--- a/mod/editpost.php
+++ b/mod/editpost.php
@@ -50,6 +50,7 @@ function editpost_content(&$a) {
'$geotag' => $geotag,
'$nickname' => $channel['channel_address'],
'$expireswhen' => t('Expires YYYY-MM-DD HH:MM'),
+ '$confirmdelete' => t('Delete item?'),
));
@@ -91,6 +92,11 @@ function editpost_content(&$a) {
}
+ $cipher = get_pconfig(get_app()->profile['profile_uid'],'system','default_cipher');
+ if(! $cipher)
+ $cipher = 'aes256';
+
+
$o .= replace_macros($tpl,array(
'$return_path' => $_SESSION['return_url'],
'$action' => 'item',
@@ -114,7 +120,7 @@ function editpost_content(&$a) {
'$pvisit' => 'none',
'$public' => t('Public post'),
'$jotnets' => $jotnets,
- '$title' => htmlspecialchars($itm[0]['title']),
+ '$title' => htmlspecialchars($itm[0]['title'],ENT_COMPAT,'UTF-8'),
'$placeholdertitle' => t('Set title'),
'$category' => $category,
'$placeholdercategory' => t('Categories (comma-separated list)'),
@@ -127,11 +133,14 @@ function editpost_content(&$a) {
'$jotplugins' => $jotplugins,
'$sourceapp' => t($a->sourcename),
'$catsenabled' => $catsenabled,
- '$defexpire' => $itm[0]['expires'],
- '$feature_expire' => 'none',
+ '$defexpire' => datetime_convert('UTC', date_default_timezone_get(),$itm[0]['expires']),
+ '$feature_expire' => ((feature_enabled(get_app()->profile['profile_uid'],'content_expire') && (! $webpage)) ? 'block' : 'none'),
'$expires' => t('Set expiration date'),
- '$feature_encrypt' => 'none',
+ '$feature_encrypt' => ((feature_enabled(get_app()->profile['profile_uid'],'content_encrypt') && (! $webpage)) ? 'block' : 'none'),
'$encrypt' => t('Encrypt text'),
+ '$cipher' => $cipher,
+ '$expiryModalOK' => t('OK'),
+ '$expiryModalCANCEL' => t('Cancel'),
));
return $o;
diff --git a/mod/editwebpage.php b/mod/editwebpage.php
index 840bda336..f11210eea 100644
--- a/mod/editwebpage.php
+++ b/mod/editwebpage.php
@@ -99,8 +99,8 @@ function editwebpage_content(&$a) {
if($layout)
$layoutselect = '<input type="hidden" name="layout_mid" value="' . $layout . '" />';
else
- $layoutselect = layout_select($itm[0]['uid']);
-
+ $layoutselect = layout_select($itm[0]['uid'],$itm[0]['layout_mid']);
+
$o .= replace_macros(get_markup_template('edpost_head.tpl'), array(
'$title' => t('Edit Webpage')
@@ -112,7 +112,8 @@ function editwebpage_content(&$a) {
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
'$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
'$geotag' => $geotag,
- '$nickname' => $a->user['nickname']
+ '$nickname' => $a->user['nickname'],
+ '$confirmdelete' => t('Delete webpage?')
));
@@ -135,7 +136,7 @@ function editwebpage_content(&$a) {
$o .= replace_macros($tpl,array(
'$return_path' => $rp,
- '$webpage' => true,
+ '$webpage' => ITEM_WEBPAGE,
'$placeholdpagetitle' => t('Page link title'),
'$pagetitle' => $page_title,
@@ -164,7 +165,7 @@ function editwebpage_content(&$a) {
'$jotnets' => $jotnets,
'$mimeselect' => $mimeselect,
'$layoutselect' => $layoutselect,
- '$title' => htmlspecialchars($itm[0]['title']),
+ '$title' => htmlspecialchars($itm[0]['title'],ENT_COMPAT,'UTF-8'),
'$placeholdertitle' => t('Set title'),
'$category' => '',
'$placeholdercategory' => t('Categories (comma-separated list)'),
@@ -185,7 +186,7 @@ function editwebpage_content(&$a) {
$ob = get_observer_hash();
if(($itm[0]['author_xchan'] === $ob) || ($itm[0]['owner_xchan'] === $ob))
- $o .= '<br /><br /><a href="item/drop/' . $itm[0]['id'] . '" >' . t('Delete Webpage') . '</a><br />';
+ $o .= '<br /><br /><a class="page-delete-link" href="item/drop/' . $itm[0]['id'] . '" >' . t('Delete Webpage') . '</a><br />';
return $o;
diff --git a/mod/events.php b/mod/events.php
index 265c74fce..2a6067e65 100755
--- a/mod/events.php
+++ b/mod/events.php
@@ -108,7 +108,7 @@ function events_post(&$a) {
$datarray['start'] = $start;
$datarray['finish'] = $finish;
$datarray['summary'] = $summary;
- $datarray['desc'] = $desc;
+ $datarray['description'] = $desc;
$datarray['location'] = $location;
$datarray['type'] = $type;
$datarray['adjust'] = $adjust;
@@ -355,8 +355,7 @@ function events_content(&$a) {
'$new_event'=> array($a->get_baseurl().'/events/new',t('Create New Event'),'',''),
'$previus' => array($a->get_baseurl()."/events/$prevyear/$prevmonth",t('Previous'),'',''),
'$next' => array($a->get_baseurl()."/events/$nextyear/$nextmonth",t('Next'),'',''),
- '$calendar' => cal($y,$m,$links, ' eventcal'),
-
+ '$calendar' => cal($y,$m,$links, ' eventcal'),
'$events' => $events,
diff --git a/mod/fbrowser.php b/mod/fbrowser.php
index baacfe56b..19bd77914 100644
--- a/mod/fbrowser.php
+++ b/mod/fbrowser.php
@@ -45,7 +45,7 @@ function fbrowser_content($a){
$path[]=array($a->get_baseurl()."/fbrowser/image/".$a->argv[2]."/", $album);
}
- $r = q("SELECT `resource_id`, `id`, `filename`, type, min(`scale`) AS `hiq`,max(`scale`) AS `loq`, `desc`
+ $r = q("SELECT `resource_id`, `id`, `filename`, type, min(`scale`) AS `hiq`,max(`scale`) AS `loq`, `description`
FROM `photo` WHERE `uid` = %d $sql_extra
GROUP BY `resource_id` $sql_extra2",
intval(local_user())
diff --git a/mod/filestorage.php b/mod/filestorage.php
index 5e1e61f42..3e53a1e93 100644
--- a/mod/filestorage.php
+++ b/mod/filestorage.php
@@ -1,5 +1,37 @@
<?php
+require_once('include/attach.php');
+
+function filestorage_post(&$a) {
+
+ $channel_id = ((x($_POST,'uid')) ? intval($_POST['uid']) : 0);
+
+ if((! $channel_id) || (! local_user()) || ($channel_id != local_user())) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+ $recurse = ((x($_POST,'recurse')) ? intval($_POST['recurse']) : 0);
+ $resource = ((x($_POST,'filehash')) ? notags($_POST['filehash']) : '');
+
+ if(! $resource) {
+ notice(t('Item not found.') . EOL);
+ 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']);
+
+ attach_change_permissions($channel_id,$resource,$str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny,$recurse = false);
+
+}
+
+
+
+
+
function filestorage_content(&$a) {
if(argc() > 1)
@@ -10,81 +42,138 @@ function filestorage_content(&$a) {
return;
}
- $r = q("select channel_id from channel where channel_address = '%s'",
- dbesc($which)
- );
- if($r) {
- $owner = intval($r[0]['channel_id']);
+ $r = q("select * from channel where channel_address = '%s'",
+ dbesc($which)
+ );
+ if($r) {
+ $channel = $r[0];
+ $owner = intval($r[0]['channel_id']);
}
- $observer = $a->get_observer();
- $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+ $observer = $a->get_observer();
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
- $perms = get_all_perms($owner,$ob_hash);
+ $perms = get_all_perms($owner,$ob_hash);
- if(! $perms['view_storage']) {
- notice( t('Permission denied.') . EOL);
- return;
- }
+ if(! $perms['view_storage']) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
-// Since we have ACL'd files in the wild, but don't have ACL here yet, we
-// need to return for anoyne other than the owner, despite the perms check for now.
+ // Since we have ACL'd files in the wild, but don't have ACL here yet, we
+ // need to return for anyone other than the owner, despite the perms check for now.
$is_owner = (((local_user()) && ($owner == local_user())) ? true : false);
- if (! $is_owner) {
- info( t('Permission Denied.') . EOL );
- return;
+ if(! $is_owner) {
+ info( t('Permission Denied.') . EOL );
+ return;
}
-// TODO This will also need to check for files on disk and delete them from there as well as the DB.
- if ((argc() > 3 && argv(3) === 'delete') ? true : false);{
- if(! $perms['write_storage']) {
- notice( t('Permission denied. VS.') . EOL);
- return;
+
+ if(argc() > 3 && argv(3) === 'delete') {
+ if(! $perms['write_storage']) {
+ notice( t('Permission denied.') . EOL);
+ return;
}
- $file = argv(2);
- $r = q("delete from attach where id = '%s' and uid = '%s' limit 1",
+ $file = intval(argv(2));
+ $r = q("select hash from attach where id = %d and uid = %d limit 1",
dbesc($file),
intval($owner)
);
+ if(! $r) {
+ notice( t('File not found.') . EOL);
+ goaway(z_root() . '/filestorage/' . $which);
+ }
-
+ attach_delete($owner,$r[0]['hash']);
+
+ goaway(z_root() . '/filestorage/' . $which);
}
-$r = q("select * from attach where uid = %d order by filename asc",
- intval($owner)
-);
+ if(argc() > 3 && argv(3) === 'edit') {
+ require_once('include/acl_selectors.php');
+ if(! $perms['write_storage']) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+ $file = intval(argv(2));
- $files = null;
+ $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",
+ intval($file),
+ intval($owner)
+ );
- if($r) {
- $files = array();
- foreach($r as $rr) {
- $files[$rr['id']][] = array('id' => $rr['id'],'download' => $rr['hash'], 'title' => $rr['filename'], 'size' => $rr['filesize']);
- }
- }
+ $f = $r[0];
+ $channel = $a->get_channel();
- $limit = service_class_fetch ($owner,'attach_upload_limit');
- $r = q("select sum(filesize) as total from attach where uid = %d ",
+ $cloudpath = get_cloudpath($f) . (($f['flags'] & ATTACH_FLAG_DIR) ? '?f=&davguest=1' : '');
+
+ $aclselect_e = populate_acl($f);
+ $is_a_dir = (($f['flags'] & ATTACH_FLAG_DIR) ? true : false);
+
+
+ $o = replace_macros(get_markup_template('attach_edit.tpl'), array(
+ '$header' => t('Edit file permissions'),
+ '$file' => $f,
+ '$cloudpath' => z_root() . '/' . $cloudpath,
+ '$uid' => $channel['channel_id'],
+ '$channelnick' => $channel['channel_address'],
+ '$permissions' => t('Permissions'),
+ '$aclselect' => $aclselect_e,
+ '$recurse' => t('Include all files and sub folders'),
+ '$backlink' => t('Return to file list'),
+ '$isadir' => $is_a_dir,
+ '$cpdesc' => t('Copy/paste this code to attach file to a post'),
+ '$cpldesc' => t('Copy/paste this URL to link file from a web page'),
+ '$submit' => t('Submit')
+
+ ));
+
+ return $o;
+ }
+
+ $r = q("select * from attach where uid = %d order by edited desc",
intval($owner)
);
+
+ $files = null;
+
+ if($r) {
+ $files = array();
+ foreach($r as $rr) {
+ $files[$rr['id']][] = array(
+ 'id' => $rr['id'],
+ 'download' => $rr['hash'],
+ 'title' => $rr['filename'],
+ 'size' => $rr['filesize'],
+ 'rev' => $rr['revision'],
+ 'dir' => (($rr['flags'] & ATTACH_FLAG_DIR) ? true : false)
+ );
+ }
+ }
+
+ $limit = service_class_fetch ($owner,'attach_upload_limit');
+ $r = q("select sum(filesize) as total from attach where aid = %d ",
+ intval($channel['channel_account_id'])
+ );
$used = $r[0]['total'];
- $url = z_root() . "/filestorage/" . $which;
- return $o . replace_macros(get_markup_template("filestorage.tpl"), array(
+ $url = z_root() . "/filestorage/" . $which;
+ return $o . replace_macros(get_markup_template("filestorage.tpl"), array(
'$baseurl' => $url,
'$download' => t('Download'),
'$files' => $files,
'$channel' => $which,
+ '$edit' => t('Edit'),
'$delete' => t('Delete'),
'$used' => $used,
'$usedlabel' => t('Used: '),
+ '$directory' => t('[directory]'),
'$limit' => $limit,
'$limitlabel' => t('Limit: '),
- ));
+ ));
-
}
diff --git a/mod/follow.php b/mod/follow.php
index 364fe76b9..962bb71a7 100644
--- a/mod/follow.php
+++ b/mod/follow.php
@@ -30,7 +30,7 @@ function follow_init(&$a) {
proc_run('php','include/onepoll.php',$result['abook']['abook_id']);
- goaway(z_root() . '/connections/' . $result['abook']['abook_id']);
+ goaway(z_root() . '/connedit/' . $result['abook']['abook_id']);
}
diff --git a/mod/group.php b/mod/group.php
index 5a34ab6fb..66e5fbf8e 100644
--- a/mod/group.php
+++ b/mod/group.php
@@ -2,12 +2,6 @@
require_once('include/group.php');
-function group_aside(&$a) {
- if(local_user()) {
- $a->set_widget('groups_edit',group_side('connections','group',false,(($a->argc > 1) ? intval($a->argv[1]) : 0)));
- }
-}
-
function group_post(&$a) {
@@ -36,7 +30,7 @@ function group_post(&$a) {
if((argc() == 2) && (intval(argv(1)))) {
check_form_security_token_redirectOnErr('/group', 'group_edit');
- $r = q("SELECT * FROM `group` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ $r = q("SELECT * FROM `groups` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval(argv(1)),
intval(local_user())
);
@@ -50,7 +44,7 @@ function group_post(&$a) {
$public = intval($_POST['public']);
if((strlen($groupname)) && (($groupname != $group['name']) || ($public != $group['visible']))) {
- $r = q("UPDATE `group` SET `name` = '%s', visible = %d WHERE `uid` = %d AND `id` = %d LIMIT 1",
+ $r = q("UPDATE `groups` SET `name` = '%s', visible = %d WHERE `uid` = %d AND `id` = %d LIMIT 1",
dbesc($groupname),
intval($public),
intval(local_user()),
@@ -103,7 +97,7 @@ function group_content(&$a) {
check_form_security_token_redirectOnErr('/group', 'group_drop', 't');
if(intval(argv(2))) {
- $r = q("SELECT `name` FROM `group` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ $r = q("SELECT `name` FROM `groups` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval(argv(2)),
intval(local_user())
);
@@ -138,7 +132,7 @@ function group_content(&$a) {
if((argc() > 1) && (intval(argv(1)))) {
require_once('include/acl_selectors.php');
- $r = q("SELECT * FROM `group` WHERE `id` = %d AND `uid` = %d AND `deleted` = 0 LIMIT 1",
+ $r = q("SELECT * FROM `groups` WHERE `id` = %d AND `uid` = %d AND `deleted` = 0 LIMIT 1",
intval(argv(1)),
intval(local_user())
);
diff --git a/mod/hcard.php b/mod/hcard.php
deleted file mode 100644
index ab2fa88a1..000000000
--- a/mod/hcard.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-function hcard_init(&$a) {
-
- $blocked = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
-
- if($a->argc > 1)
- $which = $a->argv[1];
- else {
- notice( t('No profile') . EOL );
- $a->error = 404;
- return;
- }
-
- $profile = 0;
- if((local_user()) && ($a->argc > 2) && ($a->argv[2] === 'view')) {
- $which = $a->user['nickname'];
- $profile = $a->argv[1];
- }
-
- profile_load($a,$which,$profile);
-
- if((x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY)) {
- $a->page['htmlhead'] .= '<meta name="friendica.community" content="true" />';
- }
- if(x($a->profile,'openidserver'))
- $a->page['htmlhead'] .= '<link rel="openid.server" href="' . $a->profile['openidserver'] . '" />' . "\r\n";
- if(x($a->profile,'openid')) {
- $delegate = ((strstr($a->profile['openid'],'://')) ? $a->profile['openid'] : 'http://' . $a->profile['openid']);
- $a->page['htmlhead'] .= '<link rel="openid.delegate" href="' . $delegate . '" />' . "\r\n";
- }
-
- if(! $blocked) {
- $keywords = ((x($a->profile,'keywords')) ? $a->profile['keywords'] : '');
- $keywords = str_replace(array(',',' ',',,'),array(' ',',',','),$keywords);
- if(strlen($keywords))
- $a->page['htmlhead'] .= '<meta name="keywords" content="' . $keywords . '" />' . "\r\n" ;
- }
-
- $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/dfrn_poll/' . $which .'" />' . "\r\n" ;
- $uri = urlencode('acct:' . $a->profile['nickname'] . '@' . $a->get_hostname() . (($a->path) ? '/' . $a->path : ''));
- $a->page['htmlhead'] .= '<link rel="lrdd" type="application/xrd+xml" href="' . $a->get_baseurl() . '/xrd/?uri=' . $uri . '" />' . "\r\n";
- header('Link: <' . $a->get_baseurl() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false);
-
- $dfrn_pages = array('request', 'confirm', 'notify', 'poll');
- foreach($dfrn_pages as $dfrn)
- $a->page['htmlhead'] .= "<link rel=\"dfrn-{$dfrn}\" href=\"".$a->get_baseurl()."/dfrn_{$dfrn}/{$which}\" />\r\n";
-
-}
-
-function hcard_aside(&$a) {
- profile_create_sidebar($a);
-}
diff --git a/mod/help.php b/mod/help.php
index e78f9e61c..a4ccd1cfe 100644
--- a/mod/help.php
+++ b/mod/help.php
@@ -32,6 +32,8 @@ function help_content(&$a) {
global $lang;
+ $doctype = 'markdown';
+
require_once('library/markdown.php');
$text = '';
@@ -41,6 +43,19 @@ function help_content(&$a) {
$a->page['title'] = t('Help:') . ' ' . str_replace('-',' ',notags(argv(1)));
}
if(! $text) {
+ $text = load_doc_file('doc/' . $a->argv[1] . '.bb');
+ if($text)
+ $doctype = 'bbcode';
+ $a->page['title'] = t('Help:') . ' ' . str_replace('-',' ',notags(argv(1)));
+ }
+ if(! $text) {
+ $text = load_doc_file('doc/' . $a->argv[1] . '.html');
+ if($text)
+ $doctype = 'html';
+ $a->page['title'] = t('Help:') . ' ' . str_replace('-',' ',notags(argv(1)));
+ }
+
+ if(! $text) {
$text = load_doc_file('doc/Site.md');
$a->page['title'] = t('Help');
}
@@ -58,15 +73,20 @@ function help_content(&$a) {
}
$text = preg_replace_callback("/#include (.*?)\;/ism", 'preg_callback_help_include', $text);
-
-
- return Markdown($text);
+
+ if($doctype === 'html')
+ return $text;
+ if($doctype === 'markdown')
+ return Markdown($text);
+ if($doctype === 'bbcode') {
+ require_once('include/bbcode.php');
+ return bbcode($text);
+ }
}
function preg_callback_help_include($matches) {
- print_r($matches);
if($matches[1])
return str_replace($matches[0],load_doc_file($matches[1]),$matches[0]);
diff --git a/mod/home.php b/mod/home.php
index edcaa938d..05626dcb5 100644
--- a/mod/home.php
+++ b/mod/home.php
@@ -1,6 +1,9 @@
<?php
-if(! function_exists('home_init')) {
+require_once('include/items.php');
+require_once('include/conversation.php');
+
+
function home_init(&$a) {
$ret = array();
@@ -20,10 +23,9 @@ function home_init(&$a) {
goaway(z_root() . '/new_channel');
}
-}}
+}
-if(! function_exists('home_content')) {
function home_content(&$a) {
$o = '';
@@ -33,56 +35,62 @@ function home_content(&$a) {
if(x($_SESSION,'mobile_theme'))
unset($_SESSION['mobile_theme']);
-$channel_address = get_config("system", "site_channel" );
+ $channel_address = get_config("system", "site_channel" );
if ($channel_address){
-require_once('include/items.php');
-require_once('include/conversation.php');
-
-
-//We can do better, but until we figure out auto-linkification, let's keep things simple
- $page_id = 'home';
-
- $u = q("select channel_id from channel where channel_address = '%s' limit 1",
- dbesc($channel_address)
- );
+ // We can do better, but until we figure out auto-linkification, let's keep things simple
+
+ $page_id = 'home';
+
+ $u = q("select channel_id from channel where channel_address = '%s' limit 1",
+ dbesc($channel_address)
+ );
+
+ if(! $u) {
+ notice( t('Channel not found.') . EOL);
+ return;
+ }
+
+ $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 limit 1",
+ intval($u[0]['channel_id']),
+ dbesc($page_id),
+ intval(ITEM_WEBPAGE)
+ );
+
+ if(! $r) {
+ notice( t('Item not found.') . EOL);
+ return;
+ }
+
+ xchan_query($r);
+ $r = fetch_post_tags($r,true);
+ $a->profile = array('profile_uid' => $u[0]['channel_id']);
+ $o .= prepare_page($r[0]);
+ return $o;
+ }
- if(! $u) {
- notice( t('Channel not found.') . EOL);
- return;
+ if(get_config('system','projecthome')) {
+ $o .= file_get_contents('assets/home.html');
+ $a->page['template'] = 'full';
+ return $o;
}
- $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 limit 1",
- intval($u[0]['channel_id']),
- dbesc($page_id),
- intval(ITEM_WEBPAGE)
- );
-
- if(! $r) {
- notice( t('Item not found.') . EOL);
- return;
+ if(file_exists('home.html')) {
+ $o .= file_get_contents('home.html');
}
+ else {
- xchan_query($r);
- $r = fetch_post_tags($r,true);
- $a->profile = array('profile_uid' => $u[0]['channel_id']);
- $o .= prepare_page($r[0]);
+ // If there's no site channel or home contents configured, fallback to the old behaviour
-}
-
-// If there's no site channel specified, fallback to the old behaviour
- else { $o .= '<h1>' . ((x($a->config,'sitename')) ? sprintf( t("Welcome to %s") ,$a->config['sitename']) : "" ) . '</h1>';
- if(file_exists('home.html'))
- $o .= file_get_contents('home.html');
-}
-
- if (!$a->config['system']['no_login_on_homepage'])
- $o .= login(($a->config['system']['register_policy'] == REGISTER_CLOSED) ? 0 : 1);
-
- call_hooks("home_content",$o);
- return $o;
-}
+ $sitename = get_config('system','sitename');
+ if($sitename)
+ $o .= '<h1>' . sprintf( t("Welcome to %s") ,$sitename) . '</h1>';
+ if (! $a->config['system']['no_login_on_homepage'])
+ $o .= login(($a->config['system']['register_policy'] == REGISTER_CLOSED) ? 0 : 1);
+ }
+ call_hooks('home_content',$o);
+ return $o;
}
diff --git a/mod/import.php b/mod/import.php
index 94d41455d..5b3b53156 100644
--- a/mod/import.php
+++ b/mod/import.php
@@ -314,7 +314,7 @@ function import_post(&$a) {
. implode("', '", array_values($group))
. "')" );
}
- $r = q("select * from `group` where uid = %d",
+ $r = q("select * from `groups` where uid = %d",
intval($channel['channel_id'])
);
if($r) {
diff --git a/mod/invite.php b/mod/invite.php
index e23ed7d2a..9e37d1e6d 100644
--- a/mod/invite.php
+++ b/mod/invite.php
@@ -42,6 +42,8 @@ function invite_post(&$a) {
foreach($recips as $recip) {
$recip = trim($recip);
+ if(! $recip)
+ continue;
if(! valid_email($recip)) {
notice( sprintf( t('%s : Not a valid email address.'), $recip) . EOL);
diff --git a/mod/item.php b/mod/item.php
index 7f881d28d..6d421009b 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -44,7 +44,7 @@ function item_post(&$a) {
call_hooks('post_local_start', $_REQUEST);
-// logger('postvars ' . print_r($_REQUEST,true), LOGGER_DATA);
+ logger('postvars ' . print_r($_REQUEST,true), LOGGER_DATA);
$api_source = ((x($_REQUEST,'api_source') && $_REQUEST['api_source']) ? true : false);
@@ -66,8 +66,8 @@ function item_post(&$a) {
$owner_hash = null;
- $message_id = ((x($_REQUEST,'message_id') && $api_source) ? strip_tags($_REQUEST['message_id']) : '');
-
+ $message_id = ((x($_REQUEST,'message_id') && $api_source) ? strip_tags($_REQUEST['message_id']) : '');
+ $created = ((x($_REQUEST,'created')) ? datetime_convert('UTC','UTC',$_REQUEST['created']) : datetime_convert());
$profile_uid = ((x($_REQUEST,'profile_uid')) ? intval($_REQUEST['profile_uid']) : 0);
$post_id = ((x($_REQUEST,'post_id')) ? intval($_REQUEST['post_id']) : 0);
$app = ((x($_REQUEST,'source')) ? strip_tags($_REQUEST['source']) : '');
@@ -79,6 +79,7 @@ function item_post(&$a) {
$layout_mid = ((x($_REQUEST,'layout_mid')) ? escape_tags($_REQUEST['layout_mid']): '');
$plink = ((x($_REQUEST,'permalink')) ? escape_tags($_REQUEST['permalink']) : '');
+
/*
Check service class limits
*/
@@ -274,6 +275,10 @@ function item_post(&$a) {
$item_flags = $orig_post['item_flags'];
$item_restrict = $orig_post['item_restrict'];
$postopts = $orig_post['postopts'];
+ $created = $orig_post['created'];
+ $mid = $orig_post['mid'];
+ $parent_mid = $orig_post['parent_mid'];
+ $plink = $orig_post['plink'];
}
else {
@@ -489,8 +494,19 @@ function item_post(&$a) {
if($fullnametagged)
continue;
- $success = handle_tag($a, $body, $inform, $str_tags, (local_user()) ? local_user() : $profile_uid , $tag);
- logger('handle_tag: ' . print_r($success,tue));
+ $success = handle_tag($a, $body, $access_tag, $str_tags, (local_user()) ? local_user() : $profile_uid , $tag);
+ logger('handle_tag: ' . print_r($success,tue), LOGGER_DEBUG);
+ if(($access_tag) && (! $parent_item)) {
+ logger('access_tag: ' . $tag . ' ' . print_r($access_tag,true), LOGGER_DEBUG);
+ if(strpos($access_tag,'cid:') === 0) {
+ $str_contact_allow .= '<' . substr($access_tag,4) . '>';
+ $access_tag = '';
+ }
+ elseif(strpos($access_tag,'gid:') === 0) {
+ $str_group_allow .= '<' . substr($access_tag,4) . '>';
+ $access_tag = '';
+ }
+ }
if($success['replaced']) {
$tagged[] = $tag;
@@ -502,10 +518,10 @@ function item_post(&$a) {
'url' => $success['url']
);
}
- if(is_array($success['contact']) && intval($success['contact']['prv'])) {
- $private_forum = true;
- $private_id = $success['contact']['id'];
- }
+// if(is_array($success['contact']) && intval($success['contact']['prv'])) {
+// $private_forum = true;
+// $private_id = $success['contact']['id'];
+// }
}
}
@@ -559,7 +575,7 @@ function item_post(&$a) {
}
$item_flags |= ITEM_UNSEEN;
- $item_restrict |= ITEM_VISIBLE;
+// $item_restrict |= ITEM_VISIBLE;
if($post_type === 'wall' || $post_type === 'wall-comment')
$item_flags = $item_flags | ITEM_WALL;
@@ -579,9 +595,13 @@ function item_post(&$a) {
$notify_type = (($parent) ? 'comment-new' : 'wall-new' );
- $mid = (($message_id) ? $message_id : item_message_id());
+ if(! $mid) {
+ $mid = (($message_id) ? $message_id : item_message_id());
+ }
+ if(! $parent_mid) {
+ $parent_mid = $mid;
+ }
- $parent_mid = $mid;
if($parent_item)
$parent_mid = $parent_item['mid'];
@@ -593,16 +613,19 @@ function item_post(&$a) {
$datarray = array();
if(! $parent) {
- $datarray['parent_mid'] = $mid;
$item_flags = $item_flags | ITEM_THREAD_TOP;
}
+
+ if ((! $plink) && ($item_flags & ITEM_THREAD_TOP)) {
+ $plink = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $mid;
+ }
$datarray['aid'] = $channel['channel_account_id'];
$datarray['uid'] = $profile_uid;
$datarray['owner_xchan'] = (($owner_hash) ? $owner_hash : $owner_xchan['xchan_hash']);
$datarray['author_xchan'] = $observer['xchan_hash'];
- $datarray['created'] = datetime_convert();
+ $datarray['created'] = $created;
$datarray['edited'] = datetime_convert();
$datarray['expires'] = $expires;
$datarray['commented'] = datetime_convert();
@@ -639,6 +662,7 @@ function item_post(&$a) {
$datarray['owner'] = $owner_xchan;
$datarray['author'] = $observer;
+ $datarray['attach'] = json_encode($datarray['attach']);
$o = conversation($a,array($datarray),'search',false,'preview');
logger('preview: ' . $o, LOGGER_DEBUG);
echo json_encode(array('preview' => $o));
@@ -692,6 +716,8 @@ function item_post(&$a) {
item_store_update($datarray,$execflag);
+ update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remote_id,$mid);
+
proc_run('php', "include/notifier.php", 'edit_post', $post_id);
if((x($_REQUEST,'return')) && strlen($return_path)) {
logger('return: ' . $return_path);
@@ -795,34 +821,8 @@ function item_post(&$a) {
// NOTREACHED
}
- $page_type = '';
-
- if($webpage & ITEM_WEBPAGE)
- $page_type = 'WEBPAGE';
- elseif($webpage & ITEM_BUILDBLOCK)
- $page_type = 'BUILDBLOCK';
- elseif($webpage & ITEM_PDL)
- $page_type = 'PDL';
- elseif($namespace && $remote_id) {
- $page_type = $namespace;
- $pagetitle = $remote_id;
- }
-
- if($page_type) {
-
- // store page info as an alternate message_id so we can access it via
- // https://sitename/page/$channelname/$pagetitle
- // if no pagetitle was given or it couldn't be transliterated into a url, use the first
- // sixteen bytes of the mid - which makes the link portable and not quite as daunting
- // as the entire mid. If it were the post_id the link would be less portable.
- q("insert into item_id ( iid, uid, sid, service ) values ( %d, %d, '%s','%s' )",
- intval($post_id),
- intval($channel['channel_id']),
- dbesc(($pagetitle) ? $pagetitle : substr($mid,0,16)),
- dbesc($page_type)
- );
- }
+ update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remote_id,$mid);
$datarray['id'] = $post_id;
$datarray['llink'] = $a->get_baseurl() . '/display/' . $channel['channel_address'] . '/' . $post_id;
@@ -875,14 +875,14 @@ function item_content(&$a) {
* the appropiate link.
*
* @param unknown_type $body the text to replace the tag in
- * @param unknown_type $inform a comma-seperated string containing everybody to inform
+ * @param unknown_type $access_tag - used to return tag ACL exclusions e.g. @!foo
* @param unknown_type $str_tags string to add the tag to
* @param unknown_type $profile_uid
* @param unknown_type $tag the tag to replace
*
* @return boolean true if replaced, false if not replaced
*/
-function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) {
+function handle_tag($a, &$body, &$access_tag, &$str_tags, $profile_uid, $tag) {
$replaced = false;
$r = null;
@@ -892,13 +892,14 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) {
//is it a hash tag?
if(strpos($tag,'#') === 0) {
- //if the tag is replaced...
- if(strpos($tag,'[zrl='))
+ // if the tag is replaced...
+ if(strpos($tag,'[zrl=')) {
//...do nothing
return $replaced;
+ }
if($tag == '#getzot') {
- $basetag = 'getzot';
- $url = 'http://getzot.com';
+ $basetag = 'getzot';
+ $url = 'https://redmatrix.me';
$newtag = '#[zrl=' . $url . ']' . $basetag . '[/zrl]';
$body = str_replace($tag,$newtag,$body);
$replaced = true;
@@ -922,107 +923,105 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) {
}
return array('replaced' => $replaced, 'termtype' => $termtype, 'term' => $basetag, 'url' => $url, 'contact' => $r[0]);
}
+
//is it a person tag?
if(strpos($tag,'@') === 0) {
+ $exclusive = ((strpos($tag,'!') === 1) ? true : false);
//is it already replaced?
if(strpos($tag,'[zrl='))
return $replaced;
$stat = false;
//get the person's name
- $name = substr($tag,1);
- //is it a link or a full dfrn address?
- if((strpos($name,'@')) || (strpos($name,'http://'))) {
- $newname = $name;
- //get the profile links
- $links = @lrdd($name);
- if(count($links)) {
- //for all links, collect how is to inform and how's profile is to link
- foreach($links as $link) {
- if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page')
- $profile = $link['@attributes']['href'];
- if($link['@attributes']['rel'] === 'salmon') {
- if(strlen($inform))
- $inform .= ',';
- $inform .= 'url:' . str_replace(',','%2c',$link['@attributes']['href']);
- }
- }
+ $name = substr($tag,(($exclusive) ? 2 : 1));
+ $newname = $name;
+ $alias = '';
+ $tagcid = 0;
+
+ // is it some generated name?
+
+ if(strrpos($newname,'+')) {
+ //get the id
+ $tagcid = intval(substr($newname,strrpos($newname,'+') + 1));
+ //remove the next word from tag's name
+ if(strpos($name,' ')) {
+ $name = substr($name,0,strpos($name,' '));
}
- } else { //if it is a name rather than an address
- $newname = $name;
- $alias = '';
- $tagcid = 0;
- //is it some generated name?
- if(strrpos($newname,'+')) {
- //get the id
- $tagcid = intval(substr($newname,strrpos($newname,'+') + 1));
- //remove the next word from tag's name
- if(strpos($name,' ')) {
- $name = substr($name,0,strpos($name,' '));
- }
- }
- if($tagcid) { //if there was an id
- //select contact with that id from the logged in user's contact list
+ if($tagcid) { // if there was an id
+ // select channel with that id from the logged in user's address book
$r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
WHERE abook_id = %d AND abook_channel = %d LIMIT 1",
intval($tagcid),
intval($profile_uid)
);
-
}
- else {
- $newname = str_replace('_',' ',$name);
+ }
+
+ else {
+ $newname = str_replace('_',' ',$name);
+
+ //select someone from this user's contacts by name
+ $r = q("SELECT * FROM abook left join xchan on abook_xchan - xchan_hash
+ WHERE xchan_name = '%s' AND abook_channel = %d LIMIT 1",
+ dbesc($newname),
+ intval($profile_uid)
+ );
- //select someone from this user's contacts by name
+ if(! $r) {
+ //select someone by attag or nick and the name passed in
$r = q("SELECT * FROM abook left join xchan on abook_xchan - xchan_hash
- WHERE xchan_name = '%s' AND abook_channel = %d LIMIT 1",
- dbesc($newname),
+ WHERE xchan_addr like ('%s') AND abook_channel = %d LIMIT 1",
+ dbesc($newname . '@%'),
intval($profile_uid)
);
+ }
+ }
- if(! $r) {
- //select someone by attag or nick and the name passed in
-/* $r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1",
- dbesc($name),
- dbesc($name),
- intval($profile_uid)
- );
-*/ }
+ // $r is set, if someone could be selected
+
+ if($r) {
+ $profile = $r[0]['xchan_url'];
+ $newname = $r[0]['xchan_name'];
+ //add person's id to $access_tag if exclusive
+ if($exclusive) {
+ $access_tag .= 'cid:' . $r[0]['xchan_hash'];
}
-/* } elseif(strstr($name,'_') || strstr($name,' ')) { //no id
- //get the real name
- $newname = str_replace('_',' ',$name);
- //select someone from this user's contacts by name
- $r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($newname),
- intval($profile_uid)
- );
- } else {
- //select someone by attag or nick and the name passed in
- $r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1",
- dbesc($name),
- dbesc($name),
- intval($profile_uid)
- );
- }*/
- //$r is set, if someone could be selected
- if($r) {
- $profile = $r[0]['xchan_url'];
- $newname = $r[0]['xchan_name'];
- //add person's id to $inform
- if(strlen($inform))
- $inform .= ',';
- $inform .= 'cid:' . $r[0]['id'];
+ }
+ else {
+ // check for a group/collection exclusion tag
+
+ // note that we aren't setting $replaced even though we're replacing text.
+ // This tag isn't going to get a term attached to it. It's only used for
+ // access control. The link points to out own channel just so it doesn't look
+ // weird - as all the other tags are linked to something.
+
+ if(local_user() && local_user() == $profile_uid) {
+ require_once('include/group.php');
+ $grp = group_byname($profile_uid,$name);
+ if($grp) {
+ $g = q("select hash from groups where id = %d and visible = 1 limit 1",
+ intval($grp[0]['id'])
+ );
+ if($g && $exclusive) {
+ $access_tag .= 'gid:' . $g[0]['hash'];
+ }
+ $channel = get_app()->get_channel();
+ if($channel) {
+ $newtag = '@' . (($exclusive) ? '!' : '') . '[zrl=' . z_root() . '/channel/' . $channel['channel_address'] . ']' . $newname . '[/zrl]';
+ $body = str_replace('@' . (($exclusive) ? '!' : '') . $name, $newtag, $body);
+ }
+ }
}
}
+
//if there is an url for this persons profile
if(isset($profile)) {
$replaced = true;
//create profile link
$profile = str_replace(',','%2c',$profile);
$url = $profile;
- $newtag = '@[zrl=' . $profile . ']' . $newname . '[/zrl]';
- $body = str_replace('@' . $name, $newtag, $body);
+ $newtag = '@' . (($exclusive) ? '!' : '') . '[zrl=' . $profile . ']' . $newname . '[/zrl]';
+ $body = str_replace('@' . (($exclusive) ? '!' : '') . $name, $newtag, $body);
//append tag to str_tags
if(! stristr($str_tags,$newtag)) {
if(strlen($str_tags))
@@ -1031,8 +1030,7 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) {
}
}
}
-
- return array('replaced' => $replaced, 'termtype' => $termtype, 'term' => $newname, 'url' => $url, 'contact' => $r[0]);
+ return array('replaced' => $replaced, 'termtype' => $termtype, 'term' => $newname, 'url' => $url, 'contact' => $r[0]);
}
@@ -1135,8 +1133,9 @@ function item_check_service_class($channel_id,$iswebpage) {
if ($iswebpage) {
$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_restrict & %d) and i.uid= %d ",
+ and i.parent=i.id and (i.item_restrict & %d) and not (i.item_restrict & %d) and i.uid= %d ",
intval(ITEM_WEBPAGE),
+ intval(ITEM_DELETED),
intval($channel_id)
);
}
diff --git a/mod/layouts.php b/mod/layouts.php
index b1f53d4d8..9ed349850 100644
--- a/mod/layouts.php
+++ b/mod/layouts.php
@@ -43,9 +43,9 @@ function layouts_content(&$a) {
return;
}
- if(local_user() && local_user() == $owner) {
- $a->set_widget('design',design_tools());
- }
+// if(local_user() && local_user() == $owner) {
+ // $a->set_widget('design',design_tools());
+ // }
$tabs = array(
array(
diff --git a/mod/like.php b/mod/like.php
index 84b0a6592..007d1aee1 100755
--- a/mod/like.php
+++ b/mod/like.php
@@ -171,6 +171,7 @@ function like_content(&$a) {
$arr['deny_cid'] = $item['deny_cid'];
$arr['deny_gid'] = $item['deny_gid'];
+
$post = item_store($arr);
$post_id = $post['item_id'];
diff --git a/mod/lockview.php b/mod/lockview.php
index 7dda85623..32e7a3afb 100644
--- a/mod/lockview.php
+++ b/mod/lockview.php
@@ -49,7 +49,7 @@ function lockview_content(&$a) {
stringify_array_elms($deny_users,true);
if(count($allowed_groups)) {
- $r = q("SELECT name FROM `group` WHERE hash IN ( " . implode(', ', $allowed_groups) . " )");
+ $r = q("SELECT name FROM `groups` WHERE hash IN ( " . implode(', ', $allowed_groups) . " )");
if($r)
foreach($r as $rr)
$l[] = '<b>' . $rr['name'] . '</b>';
@@ -61,7 +61,7 @@ function lockview_content(&$a) {
$l[] = $rr['xchan_name'];
}
if(count($deny_groups)) {
- $r = q("SELECT name FROM `group` WHERE hash IN ( " . implode(', ', $deny_groups) . " )");
+ $r = q("SELECT name FROM `groups` WHERE hash IN ( " . implode(', ', $deny_groups) . " )");
if($r)
foreach($r as $rr)
$l[] = '<b><strike>' . $rr['name'] . '</strike></b>';
diff --git a/mod/magic.php b/mod/magic.php
index 03d09e70d..aead559a7 100644
--- a/mod/magic.php
+++ b/mod/magic.php
@@ -33,21 +33,28 @@ function magic_init(&$a) {
if(! $x) {
- // Somebody new? Finger them if they've never been seen here before
-
- if($addr) {
- $ret = zot_finger($addr,null);
- if($ret['success']) {
- $j = json_decode($ret['body'],true);
- if($j)
- import_xchan($j);
-
- // Now try again
-
- $x = q("select * from hubloc where hubloc_url = '%s' order by hubloc_connected desc limit 1",
- dbesc($basepath)
- );
- }
+ /*
+ * We have no records for, or prior communications with this hub.
+ * If an address was supplied, let's finger them to create a hub record.
+ * Otherwise we'll use the special address '[system]' which will return
+ * either a system channel or the first available normal channel. We don't
+ * really care about what channel is returned - we need the hub information
+ * from that response so that we can create signed auth packets destined
+ * for that hub.
+ *
+ */
+
+ $ret = zot_finger((($addr) ? $addr : '[system]@' . $parsed['host']),null);
+ if($ret['success']) {
+ $j = json_decode($ret['body'],true);
+ if($j)
+ import_xchan($j);
+
+ // Now try again
+
+ $x = q("select * from hubloc where hubloc_url = '%s' order by hubloc_connected desc limit 1",
+ dbesc($basepath)
+ );
}
}
diff --git a/mod/mail.php b/mod/mail.php
new file mode 100644
index 000000000..eb1b0ddc0
--- /dev/null
+++ b/mod/mail.php
@@ -0,0 +1,349 @@
+<?php
+
+require_once('include/acl_selectors.php');
+require_once('include/message.php');
+require_once('include/zot.php');
+require_once("include/bbcode.php");
+require_once('include/Contact.php');
+
+
+function mail_post(&$a) {
+
+ if(! local_user())
+ return;
+
+ $replyto = ((x($_REQUEST,'replyto')) ? notags(trim($_REQUEST['replyto'])) : '');
+ $subject = ((x($_REQUEST,'subject')) ? notags(trim($_REQUEST['subject'])) : '');
+ $body = ((x($_REQUEST,'body')) ? escape_tags(trim($_REQUEST['body'])) : '');
+ $recipient = ((x($_REQUEST,'messageto')) ? notags(trim($_REQUEST['messageto'])) : '');
+ $rstr = ((x($_REQUEST,'messagerecip')) ? notags(trim($_REQUEST['messagerecip'])) : '');
+ $expires = ((x($_REQUEST,'expires')) ? datetime_convert(date_default_timezone_get(),'UTC', $_REQUEST['expires']) : '0000-00-00 00:00:00');
+
+ // If we have a raw string for a recipient which hasn't been auto-filled,
+ // it means they probably aren't in our address book, hence we don't know
+ // if we have permission to send them private messages.
+ // finger them and find out before we try and send it.
+
+ if(! $recipient) {
+ $channel = $a->get_channel();
+
+ $ret = zot_finger($rstr,$channel);
+
+ if(! $ret['success']) {
+ notice( t('Unable to lookup recipient.') . EOL);
+ return;
+ }
+ $j = json_decode($ret['body'],true);
+
+ logger('message_post: lookup: ' . $url . ' ' . print_r($j,true));
+
+ if(! ($j['success'] && $j['guid'])) {
+ notice( t('Unable to communicate with requested channel.'));
+ return;
+ }
+
+ $x = import_xchan($j);
+
+ if(! $x['success']) {
+ notice( t('Cannot verify requested channel.'));
+ return;
+ }
+
+ $recipient = $x['hash'];
+
+ $their_perms = 0;
+
+ $global_perms = get_perms();
+
+ if($j['permissions']['data']) {
+ $permissions = crypto_unencapsulate($j['permissions'],$channel['channel_prvkey']);
+ if($permissions)
+ $permissions = json_decode($permissions);
+ logger('decrypted permissions: ' . print_r($permissions,true), LOGGER_DATA);
+ }
+ else
+ $permissions = $j['permissions'];
+
+ foreach($permissions as $k => $v) {
+ if($v) {
+ $their_perms = $their_perms | intval($global_perms[$k][1]);
+ }
+ }
+
+ if(! ($their_perms & PERMS_W_MAIL)) {
+ notice( t('Selected channel has private message restrictions. Send failed.'));
+ return;
+ }
+ }
+
+ if(feature_enabled(local_user(),'richtext')) {
+ $body = fix_mce_lf($body);
+ }
+
+ if(! $recipient) {
+ notice('No recipient found.');
+ $a->argc = 2;
+ $a->argv[1] = 'new';
+ return;
+ }
+
+ // We have a local_user, let send_message use the session channel and save a lookup
+
+ $ret = send_message(0, $recipient, $body, $subject, $replyto, $expires);
+
+ if(! $ret['success']) {
+ notice($ret['message']);
+ }
+
+ goaway(z_root() . '/message');
+
+}
+
+function mail_content(&$a) {
+
+ $o = '';
+ nav_set_selected('messages');
+
+ if(! local_user()) {
+ notice( t('Permission denied.') . EOL);
+ return login();
+ }
+
+ $channel = $a->get_channel();
+ head_set_icon($channel['xchan_photo_s']);
+
+ $cipher = get_pconfig(local_user(),'system','default_cipher');
+ if(! $cipher)
+ $cipher = 'aes256';
+
+ $tpl = get_markup_template('mail_head.tpl');
+ $header = replace_macros($tpl, array(
+ '$messages' => t('Messages'),
+ '$tab_content' => $tab_content
+ ));
+
+ if((argc() == 3) && (argv(1) === 'drop')) {
+ if(! intval(argv(2)))
+ return;
+ $cmd = argv(1);
+
+ $r = private_messages_drop(local_user(), argv(2));
+ if($r) {
+ info( t('Message deleted.') . EOL );
+ }
+ goaway($a->get_baseurl(true) . '/message' );
+ }
+
+ if((argc() == 3) && (argv(1) === 'recall')) {
+ 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 limit 1",
+ intval(MAIL_RECALLED),
+ intval(argv(2)),
+ intval(local_user())
+ );
+ proc_run('php','include/notifier.php','mail',intval(argv(2)));
+
+ if($r) {
+ info( t('Message recalled.') . EOL );
+ }
+ goaway($a->get_baseurl(true) . '/message' );
+
+ }
+
+ if((argc() > 1) && (argv(1) === 'new')) {
+
+ $o .= $header;
+
+ $plaintext = false;
+ if(intval(get_pconfig(local_user(),'system','plaintext')))
+ $plaintext = true;
+ if(! feature_enabled(local_user(),'richtext'))
+ $plaintext = true;
+
+ $tpl = get_markup_template('msg-header.tpl');
+
+ $a->page['htmlhead'] .= replace_macros($tpl, array(
+ '$baseurl' => $a->get_baseurl(true),
+ '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
+ '$nickname' => $channel['channel_address'],
+ '$linkurl' => t('Please enter a link URL:'),
+ '$expireswhen' => t('Expires YYYY-MM-DD HH:MM')
+ ));
+
+ $preselect = (isset($a->argv[2])?array($a->argv[2]):false);
+
+
+ $prename = $preurl = $preid = '';
+
+ if($preselect) {
+ $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_user()),
+ intval(argv(2))
+ );
+ if($r) {
+ $prename = $r[0]['xchan_name'];
+ $preurl = $r[0]['xchan_url'];
+ $preid = $r[0]['abook_id'];
+ }
+ }
+
+ $prefill = (($preselect) ? $prename : '');
+
+ if(! $prefill) {
+ if(array_key_exists('to',$_REQUEST))
+ $prefill = $_REQUEST['to'];
+ }
+
+ // the ugly select box
+
+ $select = contact_select('messageto','message-to-select', $preselect, 4, true, false, false, 10);
+
+ $tpl = get_markup_template('prv_message.tpl');
+ $o .= replace_macros($tpl,array(
+ '$header' => t('Send Private Message'),
+ '$to' => t('To:'),
+ '$showinputs' => 'true',
+ '$prefill' => $prefill,
+ '$autocomp' => $autocomp,
+ '$preid' => $preid,
+ '$subject' => t('Subject:'),
+ '$subjtxt' => ((x($_REQUEST,'subject')) ? strip_tags($_REQUEST['subject']) : ''),
+ '$text' => ((x($_REQUEST,'body')) ? htmlspecialchars($_REQUEST['body'], ENT_COMPAT, 'UTF-8') : ''),
+ '$readonly' => '',
+ '$yourmessage' => t('Your message:'),
+ '$select' => $select,
+ '$parent' => '',
+ '$upload' => t('Upload photo'),
+ '$attach' => t('Attach file'),
+ '$insert' => t('Insert web link'),
+ '$wait' => t('Please wait'),
+ '$submit' => t('Submit'),
+ '$defexpire' => '',
+ '$feature_expire' => ((feature_enabled(local_user(),'content_expire')) ? 'block' : 'none'),
+ '$expires' => t('Set expiration date'),
+ '$feature_encrypt' => ((feature_enabled(local_user(),'content_encrypt')) ? 'block' : 'none'),
+ '$encrypt' => t('Encrypt text'),
+ '$cipher' => $cipher,
+
+
+ ));
+
+ return $o;
+ }
+
+
+ if((argc() > 1) && (intval(argv(1)))) {
+
+ $o .= $header;
+
+ $plaintext = true;
+ if( local_user() && feature_enabled(local_user(),'richtext') )
+ $plaintext = false;
+
+ $messages = private_messages_fetch_conversation(local_user(), argv(1), true);
+
+ if(! $messages) {
+ info( t('Message not found.') . EOL);
+ return $o;
+ }
+
+ if($messages[0]['to_xchan'] === $channel['channel_hash'])
+ $a->poi = $messages[0]['from'];
+ else
+ $a->poi = $messages[0]['to'];
+
+// require_once('include/Contact.php');
+
+// $a->set_widget('mail_conversant',vcard_from_xchan($a->poi,$get_observer_hash,'mail'));
+
+
+ $tpl = get_markup_template('msg-header.tpl');
+
+ $a->page['htmlhead'] .= replace_macros($tpl, array(
+ '$nickname' => $channel['channel_addr'],
+ '$baseurl' => $a->get_baseurl(true),
+ '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
+ '$linkurl' => t('Please enter a link URL:'),
+ '$expireswhen' => t('Expires YYYY-MM-DD HH:MM')
+ ));
+
+
+ $mails = array();
+ $seen = 0;
+ $unknown = false;
+
+ foreach($messages as $message) {
+
+ $s = theme_attachments($message);
+
+ $mails[] = array(
+ 'id' => $message['id'],
+ 'from_name' => $message['from']['xchan_name'],
+ 'from_url' => chanlink_hash($message['from_xchan']),
+ 'from_photo' => $message['from']['xchan_photo_m'],
+ 'to_name' => $message['to']['xchan_name'],
+ 'to_url' => chanlink_hash($message['to_xchan']),
+ 'to_photo' => $message['to']['xchan_photo_m'],
+ 'subject' => $message['title'],
+ 'body' => smilies(bbcode($message['body']) . $s),
+ '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.') : ''),
+ 'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'],'D, d M Y - g:i A'),
+ );
+
+ $seen = $message['seen'];
+
+ }
+
+ $recp = (($message['from_xchan'] === $channel['channel_hash']) ? 'to' : 'from');
+
+// FIXME - move this HTML to template
+
+ $select = $message[$recp]['xchan_name'] . '<input type="hidden" name="messageto" value="' . $message[$recp]['xchan_hash'] . '" />';
+ $parent = '<input type="hidden" name="replyto" value="' . $message['parent_mid'] . '" />';
+
+ $tpl = get_markup_template('mail_display.tpl');
+ $o = replace_macros($tpl, array(
+ '$prvmsg_header' => t('Private Conversation'),
+ '$thread_id' => $a->argv[1],
+ '$thread_subject' => $message['title'],
+ '$thread_seen' => $seen,
+ '$delete' => t('Delete conversation'),
+ '$canreply' => (($unknown) ? false : '1'),
+ '$unknown_text' => t("No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."),
+ '$mails' => $mails,
+
+ // reply
+ '$header' => t('Send Reply'),
+ '$to' => t('To:'),
+ '$showinputs' => '',
+ '$subject' => t('Subject:'),
+ '$subjtxt' => $message['title'],
+ '$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ',
+ '$yourmessage' => t('Your message:'),
+ '$text' => '',
+ '$select' => $select,
+ '$parent' => $parent,
+ '$upload' => t('Upload photo'),
+ '$attach' => t('Attach file'),
+ '$insert' => t('Insert web link'),
+ '$submit' => t('Submit'),
+ '$wait' => t('Please wait'),
+ '$defexpire' => '',
+ '$feature_expire' => ((feature_enabled(local_user(),'content_expire')) ? 'block' : 'none'),
+ '$expires' => t('Set expiration date'),
+ '$feature_encrypt' => ((feature_enabled(local_user(),'content_encrypt')) ? 'block' : 'none'),
+ '$encrypt' => t('Encrypt text'),
+ '$cipher' => $cipher,
+
+ ));
+
+ return $o;
+ }
+
+}
diff --git a/mod/menu.php b/mod/menu.php
index 1ec3c7996..47eed6484 100644
--- a/mod/menu.php
+++ b/mod/menu.php
@@ -42,7 +42,7 @@ function menu_content(&$a) {
}
- $a->set_widget('design',design_tools());
+// $a->set_widget('design',design_tools());
if(argc() == 1) {
diff --git a/mod/message.php b/mod/message.php
index a0382f63d..c14bf2161 100644
--- a/mod/message.php
+++ b/mod/message.php
@@ -7,198 +7,6 @@ require_once("include/bbcode.php");
require_once('include/Contact.php');
-function message_aside(&$a) {
-
- if (! local_user())
- return;
-
- $a->set_widget('msgaside',replace_macros(get_markup_template('message_side.tpl'), array(
- '$tabs'=> array(),
-
- '$check'=>array(
- 'label' => t('Check Mail'),
- 'url' => $a->get_baseurl(true) . '/message',
- 'sel' => (argv(1) == ''),
- ),
- '$new'=>array(
- 'label' => t('New Message'),
- 'url' => $a->get_baseurl(true) . '/message/new',
- 'sel'=> (argv(1) == 'new'),
- )
-
- )));
-
-}
-
-function message_post(&$a) {
-
- if(! local_user())
- return;
-
- $replyto = ((x($_REQUEST,'replyto')) ? notags(trim($_REQUEST['replyto'])) : '');
- $subject = ((x($_REQUEST,'subject')) ? notags(trim($_REQUEST['subject'])) : '');
- $body = ((x($_REQUEST,'body')) ? escape_tags(trim($_REQUEST['body'])) : '');
- $recipient = ((x($_REQUEST,'messageto')) ? notags(trim($_REQUEST['messageto'])) : '');
- $rstr = ((x($_REQUEST,'messagerecip')) ? notags(trim($_REQUEST['messagerecip'])) : '');
- $expires = ((x($_REQUEST,'expires')) ? datetime_convert(date_default_timezone_get(),'UTC', $_REQUEST['expires']) : '0000-00-00 00:00:00');
-
- // If we have a raw string for a recipient which hasn't been auto-filled,
- // it means they probably aren't in our address book, hence we don't know
- // if we have permission to send them private messages.
- // finger them and find out before we try and send it.
-
- if(! $recipient) {
- $channel = $a->get_channel();
-
- $ret = zot_finger($rstr,$channel);
-
- if(! $ret['success']) {
- notice( t('Unable to lookup recipient.') . EOL);
- return;
- }
- $j = json_decode($ret['body'],true);
-
- logger('message_post: lookup: ' . $url . ' ' . print_r($j,true));
-
- if(! ($j['success'] && $j['guid'])) {
- notice( t('Unable to communicate with requested channel.'));
- return;
- }
-
- $x = import_xchan($j);
-
- if(! $x['success']) {
- notice( t('Cannot verify requested channel.'));
- return;
- }
-
- $recipient = $x['hash'];
-
- $their_perms = 0;
-
- $global_perms = get_perms();
-
- if($j['permissions']['data']) {
- $permissions = crypto_unencapsulate($j['permissions'],$channel['channel_prvkey']);
- if($permissions)
- $permissions = json_decode($permissions);
- logger('decrypted permissions: ' . print_r($permissions,true), LOGGER_DATA);
- }
- else
- $permissions = $j['permissions'];
-
- foreach($permissions as $k => $v) {
- if($v) {
- $their_perms = $their_perms | intval($global_perms[$k][1]);
- }
- }
-
- if(! ($their_perms & PERMS_W_MAIL)) {
- notice( t('Selected channel has private message restrictions. Send failed.'));
- return;
- }
- }
-
- if(feature_enabled(local_user(),'richtext')) {
- $body = fix_mce_lf($body);
- }
-
- if(! $recipient) {
- notice('No recipient found.');
- $a->argc = 2;
- $a->argv[1] = 'new';
- return;
- }
-
- // We have a local_user, let send_message use the session channel and save a lookup
-
- $ret = send_message(0, $recipient, $body, $subject, $replyto, $expires);
-
- if(! $ret['success']) {
- notice($ret['message']);
- }
-
-}
-
-// Note: the code in 'item_extract_images' and 'item_redir_and_replace_images'
-// is identical to the code in include/conversation.php
-if(! function_exists('item_extract_images')) {
-function item_extract_images($body) {
-
- $saved_image = array();
- $orig_body = $body;
- $new_body = '';
-
- $cnt = 0;
- $img_start = strpos($orig_body, '[img');
- $img_st_close = ($img_start !== false ? strpos(substr($orig_body, $img_start), ']') : false);
- $img_end = ($img_start !== false ? strpos(substr($orig_body, $img_start), '[/img]') : false);
- while(($img_st_close !== false) && ($img_end !== false)) {
-
- $img_st_close++; // make it point to AFTER the closing bracket
- $img_end += $img_start;
-
- if(! strcmp(substr($orig_body, $img_start + $img_st_close, 5), 'data:')) {
- // This is an embedded image
-
- $saved_image[$cnt] = substr($orig_body, $img_start + $img_st_close, $img_end - ($img_start + $img_st_close));
- $new_body = $new_body . substr($orig_body, 0, $img_start) . '[!#saved_image' . $cnt . '#!]';
-
- $cnt++;
- }
- else
- $new_body = $new_body . substr($orig_body, 0, $img_end + strlen('[/img]'));
-
- $orig_body = substr($orig_body, $img_end + strlen('[/img]'));
-
- if($orig_body === false) // in case the body ends on a closing image tag
- $orig_body = '';
-
- $img_start = strpos($orig_body, '[img');
- $img_st_close = ($img_start !== false ? strpos(substr($orig_body, $img_start), ']') : false);
- $img_end = ($img_start !== false ? strpos(substr($orig_body, $img_start), '[/img]') : false);
- }
-
- $new_body = $new_body . $orig_body;
-
- return array('body' => $new_body, 'images' => $saved_image);
-}}
-
-if(! function_exists('item_redir_and_replace_images')) {
-function item_redir_and_replace_images($body, $images, $cid) {
-
- $origbody = $body;
- $newbody = '';
-
- for($i = 0; $i < count($images); $i++) {
- $search = '/\[zrl\=(.*?)\]\[!#saved_image' . $i . '#!\]\[\/zrl\]' . '/is';
-//FIXME
- $replace = '[zrl=' . z_path() . '/redir/' . $cid
- . '?f=1&url=' . '$1' . '][!#saved_image' . $i . '#!][/zrl]' ;
-
- $img_end = strpos($origbody, '[!#saved_image' . $i . '#!][/url]') + strlen('[!#saved_image' . $i . '#!][/url]');
- $process_part = substr($origbody, 0, $img_end);
- $origbody = substr($origbody, $img_end);
-
- $process_part = preg_replace($search, $replace, $process_part);
- $newbody = $newbody . $process_part;
- }
- $newbody = $newbody . $origbody;
-
- $cnt = 0;
- foreach($images as $image) {
- // We're depending on the property of 'foreach' (specified on the PHP website) that
- // it loops over the array starting from the first element and going sequentially
- // to the last element
- $newbody = str_replace('[!#saved_image' . $cnt . '#!]', '[img]' . $image . '[/img]', $newbody);
- $cnt++;
- }
-
- return $newbody;
-}}
-
-
-
function message_content(&$a) {
$o = '';
@@ -224,126 +32,15 @@ function message_content(&$a) {
'$tab_content' => $tab_content
));
- if((argc() == 3) && (argv(1) === 'drop' || argv(1) === 'dropconv')) {
- if(! intval(argv(2)))
- return;
- $cmd = argv(1);
- if($cmd === 'drop') {
- $r = private_messages_drop(local_user(), argv(2));
- if($r) {
- info( t('Message deleted.') . EOL );
- }
- goaway($a->get_baseurl(true) . '/message' );
- }
- else {
- $r = private_messages_drop(local_user(), argv(2), true);
- if($r)
- info( t('Conversation removed.') . EOL );
- goaway($a->get_baseurl(true) . '/message' );
- }
- }
-
- if((argc() == 3) && (argv(1) === 'recall')) {
+ if((argc() == 3) && (argv(1) === 'dropconv')) {
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 limit 1",
- intval(MAIL_RECALLED),
- intval(argv(2)),
- intval(local_user())
- );
- proc_run('php','include/notifier.php','mail',intval(argv(2)));
-
- if($r) {
- info( t('Message recalled.') . EOL );
- }
+ $r = private_messages_drop(local_user(), argv(2), true);
+ if($r)
+ info( t('Conversation removed.') . EOL );
goaway($a->get_baseurl(true) . '/message' );
-
- }
-
-
- if((argc() > 1) && ($a->argv[1] === 'new')) {
-
- $o .= $header;
-
- $plaintext = false;
- if(intval(get_pconfig(local_user(),'system','plaintext')))
- $plaintext = true;
- if(! feature_enabled(local_user(),'richtext'))
- $plaintext = true;
-
- $tpl = get_markup_template('msg-header.tpl');
-
- $a->page['htmlhead'] .= replace_macros($tpl, array(
- '$baseurl' => $a->get_baseurl(true),
- '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
- '$nickname' => $channel['channel_address'],
- '$linkurl' => t('Please enter a link URL:'),
- '$expireswhen' => t('Expires YYYY-MM-DD HH:MM')
- ));
-
- $preselect = (isset($a->argv[2])?array($a->argv[2]):false);
-
-
- $prename = $preurl = $preid = '';
-
- if($preselect) {
- $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_user()),
- intval(argv(2))
- );
- if($r) {
- $prename = $r[0]['xchan_name'];
- $preurl = $r[0]['xchan_url'];
- $preid = $r[0]['abook_id'];
- }
- }
-
- $prefill = (($preselect) ? $prename : '');
-
- if(! $prefill) {
- if(array_key_exists('to',$_REQUEST))
- $prefill = $_REQUEST['to'];
- }
-
- // the ugly select box
-
- $select = contact_select('messageto','message-to-select', $preselect, 4, true, false, false, 10);
-
- $tpl = get_markup_template('prv_message.tpl');
- $o .= replace_macros($tpl,array(
- '$header' => t('Send Private Message'),
- '$to' => t('To:'),
- '$showinputs' => 'true',
- '$prefill' => $prefill,
- '$autocomp' => $autocomp,
- '$preid' => $preid,
- '$subject' => t('Subject:'),
- '$subjtxt' => ((x($_REQUEST,'subject')) ? strip_tags($_REQUEST['subject']) : ''),
- '$text' => ((x($_REQUEST,'body')) ? escape_tags(htmlspecialchars($_REQUEST['body'])) : ''),
- '$readonly' => '',
- '$yourmessage' => t('Your message:'),
- '$select' => $select,
- '$parent' => '',
- '$upload' => t('Upload photo'),
- '$attach' => t('Attach file'),
- '$insert' => t('Insert web link'),
- '$wait' => t('Please wait'),
- '$submit' => t('Submit'),
- '$defexpire' => '',
- '$feature_expire' => ((feature_enabled(local_user(),'content_expire')) ? 'block' : 'none'),
- '$expires' => t('Set expiration date'),
- '$feature_encrypt' => ((feature_enabled(local_user(),'content_encrypt')) ? 'block' : 'none'),
- '$encrypt' => t('Encrypt text'),
- '$cipher' => $cipher,
-
-
- ));
-
- return $o;
}
-
if(argc() == 1) {
// list messages
@@ -382,148 +79,5 @@ function message_content(&$a) {
return $o;
}
- if((argc() > 1) && (intval(argv(1)))) {
-
- $o .= $header;
-
- $plaintext = true;
- if( local_user() && feature_enabled(local_user(),'richtext') )
- $plaintext = false;
-
- $messages = private_messages_fetch_conversation(local_user(), argv(1), true);
-
- if(! $messages) {
- info( t('Message not found.') . EOL);
- return $o;
- }
-
- $other_channel = null;
- if($messages[0]['to_xchan'] === $channel['channel_hash'])
- $other_channel = $messages[0]['from'];
- else
- $other_channel = $messages[0]['to'];
-
- require_once('include/Contact.php');
-
- $a->set_widget('mail_conversant',vcard_from_xchan($other_channel,$get_observer_hash,'mail'));
-
-
- $tpl = get_markup_template('msg-header.tpl');
-
- $a->page['htmlhead'] .= replace_macros($tpl, array(
- '$nickname' => $channel['channel_addr'],
- '$baseurl' => $a->get_baseurl(true),
- '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
- '$linkurl' => t('Please enter a link URL:'),
- '$expireswhen' => t('Expires YYYY-MM-DD HH:MM')
- ));
-
-
- $mails = array();
- $seen = 0;
- $unknown = false;
-
- foreach($messages as $message) {
-
- $s = $arr = '';
-
- if($message['attach'])
- $arr = json_decode_plus($message['attach']);
- if($arr) {
- $s .= '<div class="body-attach">';
- foreach($arr as $r) {
- $matches = false;
- $icon = '';
- $icontype = substr($r['type'],0,strpos($r['type'],'/'));
-
- switch($icontype) {
- case 'video':
- case 'audio':
- case 'image':
- case 'text':
- $icon = '<div class="attachtype icon s22 type-' . $icontype . '"></div>';
- break;
- default:
- $icon = '<div class="attachtype icon s22 type-unkn"></div>';
- break;
- }
-
- $title = htmlentities($r['title'], ENT_COMPAT,'UTF-8');
- if(! $title)
- $title = t('unknown.???');
- $title .= ' ' . $r['length'] . ' ' . t('bytes');
-
- $url = $a->get_baseurl() . '/magic?f=&hash=' . $message['from_xchan'] . '&dest=' . $r['href'] . '/' . $r['revision'];
- $s .= '<a href="' . $url . '" title="' . $title . '" class="attachlink" >' . $icon . '</a>';
- }
- $s .= '<div class="clear"></div></div>';
- }
-
- $mails[] = array(
- 'id' => $message['id'],
- 'from_name' => $message['from']['xchan_name'],
- 'from_url' => chanlink_hash($message['from_xchan']),
- 'from_photo' => $message['from']['xchan_photo_m'],
- 'to_name' => $message['to']['xchan_name'],
- 'to_url' => chanlink_hash($message['to_xchan']),
- 'to_photo' => $message['to']['xchan_photo_m'],
- 'subject' => $message['title'],
- 'body' => smilies(bbcode($message['body']) . $s),
- '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.') : ''),
- 'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'],'D, d M Y - g:i A'),
- );
-
- $seen = $message['seen'];
-
- }
-
- $recp = (($message['from_xchan'] === $channel['channel_hash']) ? 'to' : 'from');
-
-// FIXME - move this HTML to template
-
- $select = $message[$recp]['xchan_name'] . '<input type="hidden" name="messageto" value="' . $message[$recp]['xchan_hash'] . '" />';
- $parent = '<input type="hidden" name="replyto" value="' . $message['parent_mid'] . '" />';
-
- $tpl = get_markup_template('mail_display.tpl');
- $o = replace_macros($tpl, array(
- '$prvmsg_header' => t('Private Conversation'),
- '$thread_id' => $a->argv[1],
- '$thread_subject' => $message['title'],
- '$thread_seen' => $seen,
- '$delete' => t('Delete conversation'),
- '$canreply' => (($unknown) ? false : '1'),
- '$unknown_text' => t("No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."),
- '$mails' => $mails,
-
- // reply
- '$header' => t('Send Reply'),
- '$to' => t('To:'),
- '$showinputs' => '',
- '$subject' => t('Subject:'),
- '$subjtxt' => $message['title'],
- '$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ',
- '$yourmessage' => t('Your message:'),
- '$text' => '',
- '$select' => $select,
- '$parent' => $parent,
- '$upload' => t('Upload photo'),
- '$attach' => t('Attach file'),
- '$insert' => t('Insert web link'),
- '$submit' => t('Submit'),
- '$wait' => t('Please wait'),
- '$defexpire' => '',
- '$feature_expire' => ((feature_enabled(local_user(),'content_expire')) ? 'block' : 'none'),
- '$expires' => t('Set expiration date'),
- '$feature_encrypt' => ((feature_enabled(local_user(),'content_encrypt')) ? 'block' : 'none'),
- '$encrypt' => t('Encrypt text'),
- '$cipher' => $cipher,
-
- ));
-
- return $o;
- }
}
diff --git a/mod/mitem.php b/mod/mitem.php
index 8e60e2d65..e0aa1b87a 100644
--- a/mod/mitem.php
+++ b/mod/mitem.php
@@ -81,11 +81,8 @@ function mitem_content(&$a) {
$channel = $a->get_channel();
- $a->set_widget('design',design_tools());
-
-
$m = menu_fetch($a->data['menu']['menu_name'],local_user(), get_observer_hash());
- $a->set_widget('menu_preview',menu_render($m));
+ $a->data['menu_item'] = $m;
if(argc() == 2) {
diff --git a/mod/mood.php b/mod/mood.php
index 83b8bfb57..5075f622d 100755
--- a/mod/mood.php
+++ b/mod/mood.php
@@ -11,6 +11,7 @@ function mood_init(&$a) {
return;
$uid = local_user();
+ $channel = $a->get_channel();
$verb = notags(trim($_GET['verb']));
if(! $verb)
@@ -48,7 +49,6 @@ function mood_init(&$a) {
else {
$private = 0;
- $channel = $a->get_channel();
$allow_cid = $channel['channel_allow_cid'];
$allow_gid = $channel['channel_allow_gid'];
@@ -84,6 +84,11 @@ function mood_init(&$a) {
$arr['verb'] = $activity;
$arr['body'] = $action;
+ if ((! $arr['plink']) && ($arr['item_flags'] & ITEM_THREAD_TOP)) {
+ $arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
+ }
+
+
$post = item_store($arr);
$item_id = $post['item_id'];
diff --git a/mod/network.php b/mod/network.php
index 754978949..191fe55ed 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -69,7 +69,7 @@ function network_content(&$a, $update = 0, $load = false) {
$_GET['order'] = 'post';
if($gid) {
- $r = q("SELECT * FROM `group` WHERE id = %d AND uid = %d LIMIT 1",
+ $r = q("SELECT * FROM `groups` WHERE id = %d AND uid = %d LIMIT 1",
intval($gid),
intval(local_user())
);
@@ -111,36 +111,11 @@ function network_content(&$a, $update = 0, $load = false) {
if(! $update) {
-
- if(feature_enabled(local_user(),'affinity')) {
- $tpl = get_markup_template('main_slider.tpl');
- $x = replace_macros($tpl,array(
- '$val' => intval($cmin) . ';' . intval($cmax),
- '$refresh' => t('Refresh'),
- '$me' => t('Me'),
- '$intimate' => t('Best Friends'),
- '$friends' => t('Friends'),
- '$coworkers' => t('Co-workers'),
- '$oldfriends' => t('Former Friends'),
- '$acquaintances' => t('Acquaintances'),
- '$world' => t('Everybody')
- ));
- $arr = array('html' => $x);
- call_hooks('main_slider',$arr);
- $o .= $arr['html'];
- }
-
-
$o .= network_tabs();
- // --- end item filter tabs
-
-
-
-
// search terms header
if($search)
- $o .= '<h2>' . t('Search Results For:') . ' ' . htmlspecialchars($search) . '</h2>';
+ $o .= '<h2>' . t('Search Results For:') . ' ' . htmlspecialchars($search, ENT_COMPAT,'UTF-8') . '</h2>';
nav_set_selected('network');
@@ -262,6 +237,7 @@ function network_content(&$a, $update = 0, $load = false) {
'$spam' => (($spam) ? $spam : '0'),
'$nouveau' => (($nouveau) ? $nouveau : '0'),
'$wall' => '0',
+ '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
'$page' => (($a->pager['page'] != 1) ? $a->pager['page'] : 1),
'$search' => (($search) ? $search : ''),
'$order' => $order,
diff --git a/mod/notes.php b/mod/notes.php
index ce3460aa4..468b4ef26 100644
--- a/mod/notes.php
+++ b/mod/notes.php
@@ -6,11 +6,11 @@ function notes_init(&$a) {
logger('mod_notes: ' . print_r($_REQUEST,true));
$ret = array('success' => true);
- if($_REQUEST['note_text']) {
+ if($_REQUEST['note_text'] || $_REQUEST['note_text'] == '') {
$body = escape_tags($_REQUEST['note_text']);
set_pconfig(local_user(),'notes','text',$body);
}
logger('notes saved.');
json_return_and_die($ret);
-} \ No newline at end of file
+}
diff --git a/mod/online.php b/mod/online.php
new file mode 100644
index 000000000..c6500347a
--- /dev/null
+++ b/mod/online.php
@@ -0,0 +1,11 @@
+<?php /** @file */
+
+function online_init(&$a) {
+
+ $ret = array('result' => false);
+ if(argc() != 2)
+ json_return_and_die($ret);
+
+ $ret = get_online_status(argv(1));
+ json_return_and_die($ret);
+}
diff --git a/mod/page.php b/mod/page.php
index df17dbf52..56592116f 100644
--- a/mod/page.php
+++ b/mod/page.php
@@ -38,7 +38,7 @@ function page_content(&$a) {
$channel_address = argv(1);
$page_id = argv(2);
-
+dbg(1);
$u = q("select channel_id from channel where channel_address = '%s' limit 1",
dbesc($channel_address)
);
@@ -63,7 +63,7 @@ function page_content(&$a) {
dbesc($page_id),
intval(ITEM_WEBPAGE)
);
-
+dbg(0);
if(! $r) {
// Check again with no permissions clause to see if it is a permissions issue
diff --git a/mod/photo.php b/mod/photo.php
index 591d7198a..1319f9569 100644
--- a/mod/photo.php
+++ b/mod/photo.php
@@ -22,9 +22,17 @@ 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 = 'images/default_profile_photos/rainbow_man/175.jpg';
+ $default = get_default_profile_photo();
if(isset($type)) {
@@ -38,11 +46,11 @@ function photo_init(&$a) {
case 'm':
$resolution = 5;
- $default = 'images/default_profile_photos/rainbow_man/80.jpg';
+ $default = get_default_profile_photo(80);
break;
case 's':
$resolution = 6;
- $default = 'images/default_profile_photos/rainbow_man/48.jpg';
+ $default = get_default_profile_photo(48);
break;
case 'l':
default:
@@ -135,15 +143,15 @@ function photo_init(&$a) {
switch($resolution) {
case 4:
- $data = file_get_contents('images/default_profile_photos/rainbow_man/175.jpg');
+ $data = file_get_contents(get_default_profile_photo());
$mimetype = 'image/jpeg';
break;
case 5:
- $data = file_get_contents('images/default_profile_photos/rainbow_man/80.jpg');
+ $data = file_get_contents(get_default_profile_photo(80));
$mimetype = 'image/jpeg';
break;
case 6:
- $data = file_get_contents('images/default_profile_photos/rainbow_man/48.jpg');
+ $data = file_get_contents(get_default_profile_photo(48));
$mimetype = 'image/jpeg';
break;
default:
diff --git a/mod/photos.php b/mod/photos.php
index 64ca86941..c299fe778 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -19,6 +19,9 @@ function photos_init(&$a) {
if(argc() > 1) {
$nick = argv(1);
+
+ profile_load($a,$nick);
+
$channelx = channelx_by_nick($nick);
if(! $channelx)
@@ -31,16 +34,7 @@ function photos_init(&$a) {
$observer_xchan = (($observer) ? $observer['xchan_hash'] : '');
- $a->data['perms'] = get_all_perms($channelx[0]['channel_id'],$observer_xchan);
-
-
-
- $a->set_widget('vcard',vcard_from_xchan($a->data['channel'],$observer));
head_set_icon($a->data['channel']['xchan_photo_s']);
- if($a->data['perms']['view_photos']) {
- $a->data['albums'] = photos_albums_list($a->data['channel'],$observer);
- $a->set_widget('photo_albums',photos_album_widget($a->data['channel'],$observer,$a->data['albums']));
- }
$a->page['htmlhead'] .= "<script> var ispublic = '" . t('everybody') . "'; var profile_uid = " . (($a->data['channel']) ? $a->data['channel']['channel_id'] : 0) . "; </script>" ;
@@ -163,23 +157,20 @@ function photos_post(&$a) {
}
if((argc() > 2) && (x($_REQUEST,'delete')) && ($_REQUEST['delete'] === t('Delete Photo'))) {
-// FIXME
+
// same as above but remove single photo
- if($visitor) {
- $r = q("SELECT `id`, `resource_id` FROM `photo` WHERE `contact-id` = %d AND `uid` = %d AND `resource_id` = '%s' LIMIT 1",
- intval($visitor),
- intval($page_owner_uid),
- dbesc($a->argv[2])
- );
- }
- else {
- $r = q("SELECT `id`, `resource_id` FROM `photo` WHERE `uid` = %d AND `resource_id` = '%s' LIMIT 1",
- intval(local_user()),
- dbesc($a->argv[2])
- );
- }
- if(count($r)) {
+ $ob_hash = get_observer_hash();
+ if(! $ob_hash)
+ goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
+
+ $r = q("SELECT `id`, `resource_id` FROM `photo` WHERE ( xchan = '%s' or `uid` = %d ) AND `resource_id` = '%s' LIMIT 1",
+ dbesc($ob_hash),
+ intval(local_user()),
+ dbesc($a->argv[2])
+ );
+
+ if($r) {
q("DELETE FROM `photo` WHERE `uid` = %d AND `resource_id` = '%s'",
intval($page_owner_uid),
dbesc($r[0]['resource_id'])
@@ -189,7 +180,7 @@ function photos_post(&$a) {
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",
+ 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()),
@@ -206,7 +197,6 @@ function photos_post(&$a) {
}
goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
- return; // NOTREACHED
}
if(($a->argc > 2) && ((x($_POST,'desc') !== false) || (x($_POST,'newtag') !== false)) || (x($_POST,'albname') !== false)) {
@@ -291,7 +281,7 @@ function photos_post(&$a) {
);
if(count($p)) {
$ext = $phototypes[$p[0]['type']];
- $r = q("UPDATE `photo` SET `desc` = '%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', `album` = '%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),
@@ -309,7 +299,7 @@ function photos_post(&$a) {
/* Don't make the item visible if the only change was the album name */
$visibility = 0;
- if($p[0]['desc'] !== $desc || strlen($rawtags))
+ if($p[0]['description'] !== $desc || strlen($rawtags))
$visibility = 1;
if(! $item_id) {
@@ -345,201 +335,77 @@ function photos_post(&$a) {
$str_tags = '';
$inform = '';
- // if the new tag doesn't have a namespace specifier (@foo or #foo) give it a hashtag
+ // if the new tag doesn't have a namespace specifier (@foo or #foo) give it a mention
$x = substr($rawtags,0,1);
if($x !== '@' && $x !== '#')
- $rawtags = '#' . $rawtags;
+ $rawtags = '@' . $rawtags;
$taginfo = array();
$tags = get_tags($rawtags);
if(count($tags)) {
foreach($tags as $tag) {
- if(isset($profile))
- unset($profile);
- if(strpos($tag,'@') === 0) {
- $name = substr($tag,1);
- if((strpos($name,'@')) || (strpos($name,'http://'))) {
- $newname = $name;
- $links = @lrdd($name);
- if(count($links)) {
- foreach($links as $link) {
- if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page')
- $profile = $link['@attributes']['href'];
- if($link['@attributes']['rel'] === 'salmon') {
- $salmon = '$url:' . str_replace(',','%sc',$link['@attributes']['href']);
- if(strlen($inform))
- $inform .= ',';
- $inform .= $salmon;
- }
- }
- }
- $taginfo[] = array($newname,$profile,$salmon);
+
+ // If we already tagged 'Robert Johnson', don't try and tag 'Robert'.
+ // Robert Johnson should be first in the $tags array
+
+ $fullnametagged = false;
+ for($x = 0; $x < count($tagged); $x ++) {
+ if(stristr($tagged[$x],$tag . ' ')) {
+ $fullnametagged = true;
+ break;
}
- else {
- $newname = $name;
- $alias = '';
- $tagcid = 0;
- if(strrpos($newname,'+'))
- $tagcid = intval(substr($newname,strrpos($newname,'+') + 1));
-
- if($tagcid) {
- $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($tagcid),
- intval($profile_uid)
- );
- }
- else {
- $newname = str_replace('_',' ',$name);
-
- //select someone from this user's contacts by name
- $r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($newname),
- intval($page_owner_uid)
- );
-
- if(! $r) {
- //select someone by attag or nick and the name passed in
- $r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1",
- dbesc($name),
- dbesc($name),
- intval($page_owner_uid)
- );
- }
- }
-/* elseif(strstr($name,'_') || strstr($name,' ')) {
- $newname = str_replace('_',' ',$name);
- $r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($newname),
- intval($page_owner_uid)
- );
- }
- else {
- $r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1",
- dbesc($name),
- dbesc($name),
- intval($page_owner_uid)
- );
- }*/
- if(count($r)) {
- $newname = $r[0]['name'];
- $profile = $r[0]['url'];
- $notify = 'cid:' . $r[0]['id'];
- if(strlen($inform))
- $inform .= ',';
- $inform .= $notify;
- }
+ }
+ if($fullnametagged)
+ continue;
+
+ require_once('mod/item.php');
+ $body = $access_tag = '';
+
+ $success = handle_tag($a, $body, $access_tag, $str_tags, (local_user()) ? local_user() : $a->profile['profile_uid'] , $tag);
+ logger('handle_tag: ' . print_r($success,tue), LOGGER_DEBUG);
+ if($access_tag) {
+ logger('access_tag: ' . $tag . ' ' . print_r($access_tag,true), LOGGER_DEBUG);
+ if(strpos($access_tag,'cid:') === 0) {
+ $str_contact_allow .= '<' . substr($access_tag,4) . '>';
+ $access_tag = '';
}
- if($profile) {
- if(substr($notify,0,4) === 'cid:')
- $taginfo[] = array($newname,$profile,$notify,$r[0],'@[zrl=' . str_replace(',','%2c',$profile) . ']' . $newname . '[/zrl]');
- else
- $taginfo[] = array($newname,$profile,$notify,null,$str_tags .= '@[url=' . $profile . ']' . $newname . '[/url]');
- if(strlen($str_tags))
- $str_tags .= ',';
- $profile = str_replace(',','%2c',$profile);
- $str_tags .= '@[zrl=' . $profile . ']' . $newname . '[/zrl]';
+ elseif(strpos($access_tag,'gid:') === 0) {
+ $str_group_allow .= '<' . substr($access_tag,4) . '>';
+ $access_tag = '';
}
}
+
+ if($success['replaced']) {
+ $tagged[] = $tag;
+ $post_tags[] = array(
+ 'uid' => $a->profile['profile_uid'],
+ 'type' => $success['termtype'],
+ 'otype' => TERM_OBJ_POST,
+ 'term' => $success['term'],
+ 'url' => $success['url']
+ );
+ }
}
}
-
- $newtag = $old_tag;
- if(strlen($newtag) && strlen($str_tags))
- $newtag .= ',';
- $newtag .= $str_tags;
-
- $newinform = $old_inform;
- if(strlen($newinform) && strlen($inform))
- $newinform .= ',';
- $newinform .= $inform;
-//FIXME - inform is gone
-// $r = q("UPDATE `item` SET `tag` = '%s', `inform` = '%s', `edited` = '%s', `changed` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1",
-// dbesc($newtag),
-// dbesc($newinform),
-// dbesc(datetime_convert()),
-// dbesc(datetime_convert()),
-// intval($item_id),
-// intval($page_owner_uid)
-// );
-
- $best = 0;
- foreach($p as $scales) {
- if(intval($scales['scale']) == 2) {
- $best = 2;
- break;
- }
- if(intval($scales['scale']) == 4) {
- $best = 4;
- break;
- }
- }
-
- if(count($taginfo)) {
- foreach($taginfo as $tagged) {
- $mid = item_message_id();
-
- $arr = array();
-
- $arr['uid'] = $page_owner_uid;
- $arr['mid'] = $mid;
- $arr['parent_mid'] = $mid;
- $arr['type'] = 'activity';
- $arr['wall'] = 1;
- $arr['contact-id'] = $owner_record['id'];
- $arr['owner-name'] = $owner_record['name'];
- $arr['owner-link'] = $owner_record['url'];
- $arr['owner-avatar'] = $owner_record['thumb'];
- $arr['author-name'] = $owner_record['name'];
- $arr['author-link'] = $owner_record['url'];
- $arr['author-avatar'] = $owner_record['thumb'];
- $arr['title'] = '';
- $arr['allow_cid'] = $p[0]['allow_cid'];
- $arr['allow_gid'] = $p[0]['allow_gid'];
- $arr['deny_cid'] = $p[0]['deny_cid'];
- $arr['deny_gid'] = $p[0]['deny_gid'];
- $arr['visible'] = 1;
- $arr['verb'] = ACTIVITY_TAG;
- $arr['obj_type'] = ACTIVITY_OBJ_PERSON;
- $arr['tgt_type'] = ACTIVITY_OBJ_PHOTO;
- $arr['tag'] = $tagged[4];
- $arr['inform'] = $tagged[2];
- $arr['origin'] = 1;
- $arr['body'] = sprintf( t('%1$s was tagged in %2$s by %3$s'), '[zrl=' . $tagged[1] . ']' . $tagged[0] . '[/zrl]', '[zrl=' . $a->get_baseurl() . '/photos/' . $owner_record['nickname'] . '/image/' . $p[0]['resource-id'] . ']' . t('a photo') . '[/zrl]', '[zrl=' . $owner_record['url'] . ']' . $owner_record['name'] . '[/zrl]') ;
-
- $arr['body'] .= "\n\n" . '[zrl=' . $a->get_baseurl() . '/photos/' . $owner_record['nickname'] . '/image/' . $p[0]['resource_id'] . ']' . '[zmg]' . $a->get_baseurl() . "/photo/" . $p[0]['resource_id'] . '-' . $best . '.' . $ext . '[/zmg][/zrl]' . "\n" ;
-
- $arr['object'] = '<object><type>' . ACTIVITY_OBJ_PERSON . '</type><title>' . $tagged[0] . '</title><id>' . $tagged[1] . '/' . $tagged[0] . '</id>';
- $arr['object'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . $tagged[1] . '" />' . "\n");
- if($tagged[3])
- $arr['object'] .= xmlify('<link rel="photo" type="'.$p[0]['type'].'" href="' . $tagged[3]['photo'] . '" />' . "\n");
- $arr['object'] .= '</link></object>' . "\n";
-
- $arr['target'] = '<target><type>' . ACTIVITY_OBJ_PHOTO . '</type><title>' . $p[0]['desc'] . '</title><id>'
- . $a->get_baseurl() . '/photos/' . $owner_record['nickname'] . '/image/' . $p[0]['resource_id'] . '</id>';
- $arr['target'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . $a->get_baseurl() . '/photos/' . $owner_record['nickname'] . '/image/' . $p[0]['resource_id'] . '" />' . "\n" . '<link rel="preview" type="'.$p[0]['type'].'" href="' . $a->get_baseurl() . "/photo/" . $p[0]['resource_id'] . '-' . $best . '.' . $ext . '" />') . '</link></target>';
-
- $post = item_store($arr);
- $item_id = $post['item_id'];
-
- if($item_id) {
- q("UPDATE `item` SET `plink` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
- dbesc($a->get_baseurl() . '/display/' . $owner_record['nickname'] . '/' . $item_id),
- intval($page_owner_uid),
- intval($item_id)
- );
-
- proc_run('php',"include/notifier.php","tag","$item_id");
- }
- }
+ $r = q("select * from item where id = %d and uid = %d limit 1",
+ intval($item_id),
+ intval($page_owner_uid)
+ );
+ if($r) {
+ $datarray = $r[0];
+ $datarray['term'] = $post_tags;
+ item_store_update($datarray,$execflag);
}
}
+
goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
return; // NOTREACHED
+
}
@@ -596,6 +462,8 @@ function photos_content(&$a) {
// Parse arguments
//
+ $can_comment = perm_is_allowed($a->profile['profile_uid'],get_observer_hash(),'post_comments');
+
if(argc() > 3) {
$datatype = argv(2);
$datum = argv(3);
@@ -655,12 +523,21 @@ function photos_content(&$a) {
return;
}
+
+
+ if(array_key_exists('albums', $a->data))
+ $albums = get_app()->data['albums'];
+ else
+ $albums = photos_albums_list($a->data['channel'],$a->data['observer']);
+
+
+
$selname = (($datum) ? hex2bin($datum) : '');
$albumselect = '<select id="photos-upload-album-select" name="album" size="4">';
$albumselect .= '<option value="" ' . ((! $selname) ? ' selected="selected" ' : '') . '>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>';
- if(count($a->data['albums'])) {
- foreach($a->data['albums'] as $album) {
+ if(count($albums)) {
+ foreach($albums as $album) {
if($album['text'] === '')
continue;
$selected = (($selname === $album['text']) ? ' selected="selected" ' : '');
@@ -686,8 +563,8 @@ function photos_content(&$a) {
/* Show space usage */
- $r = q("select sum(size) as total from photo where uid = %d and scale = 0 ",
- intval($a->data['channel']['channel_id'])
+ $r = q("select sum(size) as total from photo where aid = %d and scale = 0 ",
+ intval($a->data['channel']['channel_account_id'])
);
@@ -759,7 +636,7 @@ function photos_content(&$a) {
else
$order = 'DESC';
- $r = q("SELECT `resource_id`, `id`, `filename`, type, max(`scale`) AS `scale`, `desc` FROM `photo` WHERE `uid` = %d AND `album` = '%s'
+ $r = q("SELECT `resource_id`, `id`, `filename`, type, max(`scale`) AS `scale`, `description` 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` ORDER BY `created` $order LIMIT %d , %d",
intval($owner_uid),
dbesc($album),
@@ -825,25 +702,24 @@ function photos_content(&$a) {
$ext = $phototypes[$rr['type']];
- if($a->get_template_engine() === 'internal') {
- $imgalt_e = template_escape($rr['filename']);
- $desc_e = template_escape($rr['desc']);
- }
- else {
- $imgalt_e = $rr['filename'];
- $desc_e = $rr['desc'];
- }
+ $imgalt_e = $rr['filename'];
+ $desc_e = $rr['description'];
+
+// prettyphoto has potential license issues, so we can no longer include it in core
+// The following lines would need to be modified so that they are provided in theme specific files
+// instead of core modules for themes that wish to make use of prettyphoto. I would suggest
+// the feature as a per-theme display option and putting the rel line inside a template.
- if(feature_enabled($a->data['channel']['channel_id'],'prettyphoto')){
- $imagelink = ($a->get_baseurl() . '/photo/' . $rr['resource_id'] . '.' . $ext );
- $rel=("prettyPhoto[pp_gal]");
- }
- else {
+// if(feature_enabled($a->data['channel']['channel_id'],'prettyphoto')){
+// $imagelink = ($a->get_baseurl() . '/photo/' . $rr['resource_id'] . '.' . $ext );
+// $rel=("prettyPhoto[pp_gal]");
+// }
+// else {
$imagelink = ($a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/image/' . $rr['resource_id']
. (($_GET['order'] === 'posted') ? '?f=&order=posted' : ''));
$rel=("photo");
- }
+// }
$o .= replace_macros($tpl,array(
'$id' => $rr['id'],
@@ -854,6 +730,8 @@ function photos_content(&$a) {
'$imgsrc' => $a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . $rr['scale'] . '.' .$ext,
'$imgalt' => $imgalt_e,
'$desc'=> $desc_e,
+ '$ext' => $ext,
+ '$hash'=> $rr['resource_id'],
));
}
@@ -872,7 +750,7 @@ function photos_content(&$a) {
// fetch image, item containing image, then comments
- $ph = q("SELECT aid,uid,xchan,resource_id,created,edited,title,`desc`,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,profile,photo_flags,allow_cid,allow_gid,deny_cid,deny_gid FROM `photo` WHERE `uid` = %d AND `resource_id` = '%s'
and (photo_flags = %d or photo_flags = %d ) $sql_extra ORDER BY `scale` ASC ",
intval($owner_uid),
dbesc($datum),
@@ -900,6 +778,8 @@ function photos_content(&$a) {
return;
}
+
+
$prevlink = '';
$nextlink = '';
@@ -1020,6 +900,8 @@ function photos_content(&$a) {
}
}
+// logger('mod_photo: link_item' . print_r($link_item,true));
+
// FIXME - remove this when we move to conversation module
$r = $r[0]['children'];
@@ -1028,7 +910,7 @@ function photos_content(&$a) {
if($can_post) {
$album_e = $ph[0]['album'];
- $caption_e = $ph[0]['desc'];
+ $caption_e = $ph[0]['description'];
$aclselect_e = populate_acl($ph[0]);
$edit = array(
@@ -1063,7 +945,7 @@ function photos_content(&$a) {
$likebuttons = '';
- if($can_post || $a->data['perms']['post_comments']) {
+ if($can_post || $can_comment) {
$likebuttons = replace_macros($like_tpl,array(
'$id' => $link_item['id'],
'$likethis' => t("I like this \x28toggle\x29"),
@@ -1075,7 +957,7 @@ function photos_content(&$a) {
$comments = '';
if(! count($r)) {
- if($can_post || $a->data['perms']['post_comments']) {
+ if($can_post || $can_comment) {
$comments .= replace_macros($cmnt_tpl,array(
'$return_path' => '',
'$mode' => 'photos',
@@ -1163,7 +1045,7 @@ function photos_content(&$a) {
}
- if($can_post || $a->data['perms']['post_comments']) {
+ if($can_post || $can_comment) {
$comments .= replace_macros($cmnt_tpl,array(
'$return_path' => '',
'$jsreload' => $return_url,
@@ -1198,7 +1080,7 @@ function photos_content(&$a) {
'$photo' => $photo,
'$prevlink' => $prevlink,
'$nextlink' => $nextlink,
- '$desc' => $ph[0]['desc'],
+ '$desc' => $ph[0]['description'],
'$tags' => $tags_e,
'$edit' => $edit,
'$likebuttons' => $likebuttons,
diff --git a/mod/ping.php b/mod/ping.php
index 414f06e53..2d5deb9ad 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -43,6 +43,35 @@ function ping_init(&$a) {
unset($_SESSION['sysmsg_info']);
}
+ if(get_observer_hash() && (! $result['invalid'])) {
+ $r = q("select cp_id, cp_room from chatpresence where cp_xchan = '%s' and cp_client = '%s'",
+ dbesc(get_observer_hash()),
+ dbesc($_SERVER['REMOTE_ADDR'])
+ );
+ $basic_presence = false;
+ if($r) {
+ foreach($r as $rr) {
+ if($rr['cp_room'] == 0)
+ $basic_presence = true;
+ q("update chatpresence set cp_last = '%s' where cp_id = %d limit 1",
+ dbesc(datetime_convert()),
+ intval($rr['cp_id'])
+ );
+ }
+ }
+ if(! $basic_presence) {
+ q("insert into chatpresence ( cp_xchan, cp_last, cp_status, cp_client)
+ values( '%s', '%s', '%s', '%s' ) ",
+ dbesc(get_observer_hash()),
+ dbesc(datetime_convert()),
+ dbesc('online'),
+ dbesc($_SERVER['REMOTE_ADDR'])
+ );
+ }
+ }
+
+ q("delete from chatpresence where cp_last < UTC_TIMESTAMP() - INTERVAL 3 MINUTE");
+
if((! local_user()) || ($result['invalid'])) {
echo json_encode($result);
killme();
@@ -151,7 +180,7 @@ function ping_init(&$a) {
foreach($t as $zz) {
// $msg = sprintf( t('sent you a private message.'), $zz['xchan_name']);
$notifs[] = array(
- 'notify_link' => $a->get_baseurl() . '/message/' . $zz['id'],
+ 'notify_link' => $a->get_baseurl() . '/mail/' . $zz['id'],
'name' => $zz['xchan_name'],
'url' => $zz['xchan_url'],
'photo' => $zz['xchan_photo_s'],
@@ -209,7 +238,7 @@ function ping_init(&$a) {
if($r) {
foreach($r as $rr) {
$result[] = array(
- 'notify_link' => $a->get_baseurl() . '/connections/' . $rr['abook_id'],
+ 'notify_link' => $a->get_baseurl() . '/connedit/' . $rr['abook_id'],
'name' => $rr['xchan_name'],
'url' => $rr['xchan_url'],
'photo' => $rr['xchan_photo_s'],
diff --git a/mod/post.php b/mod/post.php
index 73345c4e9..965ba09a3 100644
--- a/mod/post.php
+++ b/mod/post.php
@@ -69,6 +69,7 @@ function post_init(&$a) {
* "success":1,
* "confirm":"q0Ysovd1u..."
* "service_class":(optional)
+ * "level":(optional)
* }
*
* 'confirm' in this case is the base64url encoded RSA signature of the concatenation of 'secret' with the
@@ -150,6 +151,7 @@ function post_init(&$a) {
$remote = remote_user();
$result = null;
$remote_service_class = '';
+ $remote_level = 0;
$remote_hub = $x[0]['hubloc_url'];
// Also check that they are coming from the same site as they authenticated with originally.
@@ -210,6 +212,8 @@ function post_init(&$a) {
}
if(array_key_exists('service_class',$j))
$remote_service_class = $j['service_class'];
+ if(array_key_exists('level',$j))
+ $remote_level = $j['level'];
}
// everything is good... maybe
if(local_user()) {
@@ -232,7 +236,7 @@ function post_init(&$a) {
if($test) {
$ret['success'] = true;
- $ret['message'] .= 'Success' . EOL;
+ $ret['message'] .= 'Authentication Success!' . EOL;
json_return_and_die($ret);
}
@@ -241,6 +245,7 @@ function post_init(&$a) {
$_SESSION['visitor_id'] = $x[0]['xchan_hash'];
$_SESSION['my_address'] = $address;
$_SESSION['remote_service_class'] = $remote_service_class;
+ $_SESSION['remote_level'] = $remote_level;
$_SESSION['remote_hub'] = $remote_hub;
$arr = array('xchan' => $x[0], 'url' => $desturl, 'session' => $_SESSION);
diff --git a/mod/profile_photo.php b/mod/profile_photo.php
index e86e2a828..876e3a931 100644
--- a/mod/profile_photo.php
+++ b/mod/profile_photo.php
@@ -14,16 +14,6 @@ function profile_photo_init(&$a) {
}
-function profile_photo_aside(&$a) {
-
- if(! local_user()) {
- return;
- }
-
- profile_create_sidebar($a);
-}
-
-
function profile_photo_post(&$a) {
if(! local_user()) {
diff --git a/mod/profiles.php b/mod/profiles.php
index 173d97138..c71ad9733 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -146,17 +146,6 @@ function profiles_init(&$a) {
}
}
-function profiles_aside(&$a) {
-
- if(! local_user()) {
- return;
- }
-
- if((argc() > 1) && (intval(argv(1)))) {
- profile_create_sidebar($a);
- }
-}
-
function profiles_post(&$a) {
if(! local_user()) {
@@ -267,35 +256,23 @@ function profiles_post(&$a) {
if(strpos($lookup,'@') === 0)
$lookup = substr($lookup,1);
$lookup = str_replace('_',' ', $lookup);
- if(strpos($lookup,'@') || (strpos($lookup,'http://'))) {
- $newname = $lookup;
- $links = @lrdd($lookup);
- if(count($links)) {
- foreach($links as $link) {
- if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page') {
- $prf = $link['@attributes']['href'];
- }
- }
- }
- }
- else {
- $newname = $lookup;
-
- $r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($newname),
+ $newname = $lookup;
+
+ $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash WHERE xchan_name = '%s' AND abook_channel = %d LIMIT 1",
+ dbesc($newname),
+ intval(local_user())
+ );
+ if(! $r) {
+ $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash WHERE xchan_addr = '%s' AND abook_channel = %d LIMIT 1",
+ dbesc($lookup . '@%'),
intval(local_user())
);
- if(! $r) {
- $r = q("SELECT * FROM `contact` WHERE `nick` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($lookup),
- intval(local_user())
- );
- }
- if(count($r)) {
- $prf = $r[0]['url'];
- $newname = $r[0]['name'];
- }
}
+ if($r) {
+ $prf = $r[0]['xchan_url'];
+ $newname = $r[0]['xchan_name'];
+ }
+
if($prf) {
$with = str_replace($lookup,'<a href="' . $prf . '">' . $newname . '</a>', $with);
@@ -621,6 +598,8 @@ function profiles_content(&$a) {
$tpl_header = get_markup_template('profile_listing_header.tpl');
$o .= replace_macros($tpl_header,array(
'$header' => t('Edit/Manage Profiles'),
+ '$addstuff' => t('Add profile things'),
+ '$stuff_desc' => t('Include desirable objects in your profile'),
'$chg_photo' => t('Change profile photo'),
'$cr_new' => t('Create New Profile'),
'$cr_new_link' => 'profiles/new?t=' . get_form_security_token("profile_new")
diff --git a/mod/profperm.php b/mod/profperm.php
index 8054851e8..08838831b 100644
--- a/mod/profperm.php
+++ b/mod/profperm.php
@@ -1,11 +1,15 @@
<?php
+require_once('include/Contact.php');
+
function profperm_init(&$a) {
if(! local_user())
return;
- $which = $a->user['nickname'];
+ $channel = $a->get_channel();
+ $which = $channel['channel_address'];
+
$profile = $a->argv[1];
profile_load($a,$which,$profile);
@@ -13,15 +17,6 @@ function profperm_init(&$a) {
}
-function profperm_aside(&$a) {
-
- if(! local_user())
- return;
-
- profile_create_sidebar($a);
-}
-
-
function profperm_content(&$a) {
if(! local_user()) {
@@ -30,7 +25,7 @@ function profperm_content(&$a) {
}
- if($a->argc < 2) {
+ if(argc() < 2) {
notice( t('Invalid profile identifier.') . EOL );
return;
}
@@ -44,59 +39,59 @@ function profperm_content(&$a) {
$switchtotext = 400;
- if(($a->argc > 2) && intval($a->argv[1]) && intval($a->argv[2])) {
- $r = q("SELECT `id` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `self` = 0
- AND `network` = 'dfrn' AND `id` = %d AND `uid` = %d LIMIT 1",
- intval($a->argv[2]),
+ if((argc() > 2) && intval(argv(1)) && intval(argv(2))) {
+ $r = q("SELECT abook_id FROM abook WHERE abook_id = %d and abook_channel = %d limit 1",
+ intval(argv(2)),
intval(local_user())
);
- if(count($r))
- $change = intval($a->argv[2]);
+ if($r)
+ $change = intval(argv(2));
}
- if(($a->argc > 1) && (intval($a->argv[1]))) {
+ if((argc() > 1) && (intval(argv(1)))) {
$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d AND `is_default` = 0 LIMIT 1",
- intval($a->argv[1]),
+ intval(argv(1)),
intval(local_user())
);
- if(! count($r)) {
+ if(! $r) {
notice( t('Invalid profile identifier.') . EOL );
return;
}
+
$profile = $r[0];
- $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `profile_id` = %d",
+ $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d AND abook_profile = %d",
intval(local_user()),
- intval($a->argv[1])
+ intval(argv(1))
);
$ingroup = array();
- if(count($r))
+ if($r)
foreach($r as $member)
- $ingroup[] = $member['id'];
+ $ingroup[] = $member['abook_id'];
$members = $r;
if($change) {
if(in_array($change,$ingroup)) {
- q("UPDATE `contact` SET `profile_id` = 0 WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ q("UPDATE abook SET abook_profile = 0 WHERE abook_id = %d AND abook_channel = %d LIMIT 1",
intval($change),
intval(local_user())
);
}
else {
- q("UPDATE `contact` SET `profile_id` = %d WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($a->argv[1]),
+ q("UPDATE abook SET abook_profile = %d WHERE abook_id = %d AND abook_channel = %d LIMIT 1",
+ intval(argv(1)),
intval($change),
intval(local_user())
);
}
- $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `profile_id` = %d",
+ $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d AND abook_profile = %d",
intval(local_user()),
- intval($a->argv[1])
+ intval(argv(1))
);
$members = $r;
@@ -104,7 +99,7 @@ function profperm_content(&$a) {
$ingroup = array();
if(count($r))
foreach($r as $member)
- $ingroup[] = $member['id'];
+ $ingroup[] = $member['abook_id'];
}
$o .= '<h2>' . t('Profile Visibility Editor') . '</h2>';
@@ -127,8 +122,8 @@ function profperm_content(&$a) {
$textmode = (($switchtotext && (count($members) > $switchtotext)) ? true : false);
foreach($members as $member) {
- if($member['url']) {
- $member['click'] = 'profChangeMember(' . $profile['id'] . ',' . $member['id'] . '); return true;';
+ if($member['xchan_url']) {
+ $member['click'] = 'profChangeMember(' . $profile['id'] . ',' . $member['abook_id'] . '); return false;';
$o .= micropro($member,true,'mpprof', $textmode);
}
}
@@ -136,20 +131,17 @@ function profperm_content(&$a) {
$o .= '<hr id="prof-separator" />';
$o .= '<div id="prof-all-contcts-title">';
- $o .= '<h3>' . t("All Contacts \x28with secure profile access\x29") . '</h3>';
+ $o .= '<h3>' . t("All Connections") . '</h3>';
$o .= '</div>';
$o .= '<div id="prof-all-contacts">';
- $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0
- AND `network` = 'dfrn' ORDER BY `name` ASC",
- intval(local_user())
- );
+ $r = abook_connections(local_user());
- if(count($r)) {
+ if($r) {
$textmode = (($switchtotext && (count($r) > $switchtotext)) ? true : false);
foreach($r as $member) {
- if(! in_array($member['id'],$ingroup)) {
- $member['click'] = 'profChangeMember(' . $profile['id'] . ',' . $member['id'] . '); return true;';
+ if(! in_array($member['abook_id'],$ingroup)) {
+ $member['click'] = 'profChangeMember(' . $profile['id'] . ',' . $member['abook_id'] . '); return false;';
$o .= micropro($member,true,'mpprof',$textmode);
}
}
diff --git a/mod/pubsites.php b/mod/pubsites.php
index c15ba31ac..c08ca2ae5 100644
--- a/mod/pubsites.php
+++ b/mod/pubsites.php
@@ -29,8 +29,10 @@ function pubsites_content(&$a) {
$j = json_decode($ret['body'],true);
if($j) {
$o .= '<table border="1"><tr><td>' . t('Site URL') . '</td><td>' . t('Access Type') . '</td><td>' . t('Registration Policy') . '</td><td>' . t('Location') . '</td></tr>';
- foreach($j['sites'] as $jj) {
- $o .= '<tr><td>' . '<a href="'. (($jj['sellpage']) ? $jj['sellpage'] : $jj['url'] . '/register' ) . '" >' . $jj['url'] . '</a>' . '</td><td>' . $jj['access'] . '</td><td>' . $jj['register'] . '</td><td>' . $jj['location'] . '</td></tr>';
+ if($j['sites']) {
+ foreach($j['sites'] as $jj) {
+ $o .= '<tr><td>' . '<a href="'. (($jj['sellpage']) ? $jj['sellpage'] : $jj['url'] . '/register' ) . '" >' . $jj['url'] . '</a>' . '</td><td>' . $jj['access'] . '</td><td>' . $jj['register'] . '</td><td>' . $jj['location'] . '</td></tr>';
+ }
}
$o .= '</table>';
diff --git a/mod/qsearch.php b/mod/qsearch.php
deleted file mode 100644
index c35e253b6..000000000
--- a/mod/qsearch.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-function qsearch_init(&$a) {
-
- if(! local_user())
- killme();
-
- $limit = (get_config('system','qsearch_limit') ? intval(get_config('system','qsearch_limit')) : 100);
-
- $search = ((x($_GET,'s')) ? notags(trim(urldecode($_GET['s']))) : '');
-
- if(! strlen($search))
- killme();
-
-
- if($search)
- $search = dbesc($search);
-
- $results = array();
-
- $r = q("SELECT * FROM `group` WHERE `name` REGEXP '$search' AND `deleted` = 0 AND `uid` = %d LIMIT 0, %d ",
- intval(local_user()),
- intval($limit)
- );
-
- if(count($r)) {
-
- foreach($r as $rr)
- $results[] = array( 0, (int) $rr['id'], $rr['name'], '', '');
- }
-
- $sql_extra = ((strlen($search)) ? " AND (`name` REGEXP '$search' OR `nick` REGEXP '$search') " : "");
-
-
- $r = q("SELECT * FROM `contact` WHERE `uid` = %d $sql_extra ORDER BY `name` ASC LIMIT 0, %d ",
- intval(local_user()),
- intval($limit)
- );
-
-
- if(count($r)) {
-
- foreach($r as $rr)
- $results[] = array( (int) $rr['id'], 0, $rr['name'],$rr['url'],$rr['photo']);
- }
-
- echo json_encode((object) $results);
- killme();
-}
-
diff --git a/mod/redir.php b/mod/redir.php
deleted file mode 100644
index 113f6c200..000000000
--- a/mod/redir.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-function redir_init(&$a) {
-
- $url = ((x($_GET,'url')) ? $_GET['url'] : '');
-
- // traditional DFRN
-
- if(local_user() && $a->argc > 1 && intval($a->argv[1])) {
-
- $cid = $a->argv[1];
-
- $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($cid),
- intval(local_user())
- );
-
- if((! count($r)) || ($r[0]['network'] !== NETWORK_DFRN))
- goaway(z_root());
-
- $dfrn_id = $orig_id = (($r[0]['issued_id']) ? $r[0]['issued_id'] : $r[0]['dfrn_id']);
-
- if($r[0]['duplex'] && $r[0]['issued_id']) {
- $orig_id = $r[0]['issued_id'];
- $dfrn_id = '1:' . $orig_id;
- }
- if($r[0]['duplex'] && $r[0]['dfrn_id']) {
- $orig_id = $r[0]['dfrn_id'];
- $dfrn_id = '0:' . $orig_id;
- }
-
- $sec = random_string();
-
- q("INSERT INTO `profile_check` ( `uid`, `cid`, `dfrn_id`, `sec`, `expire`)
- VALUES( %d, %s, '%s', '%s', %d )",
- intval(local_user()),
- intval($cid),
- dbesc($dfrn_id),
- dbesc($sec),
- intval(time() + 45)
- );
-
- logger('mod_redir: ' . $r[0]['name'] . ' ' . $sec, LOGGER_DEBUG);
- $dest = (($url) ? '&destination_url=' . $url : '');
- goaway ($r[0]['poll'] . '?dfrn_id=' . $dfrn_id
- . '&dfrn_version=' . DFRN_PROTOCOL_VERSION . '&type=profile&sec=' . $sec . $dest );
- }
-
- if(local_user())
- $handle = $a->user['nickname'] . '@' . substr($a->get_baseurl(),strpos($a->get_baseurl(),'://')+3);
- if(remote_user())
- $handle = $_SESSION['handle'];
-
- if($url) {
- $url = str_replace('{zid}','&zid=' . $handle,$url);
- goaway($url);
- }
-
- goaway(z_root());
-}
diff --git a/mod/register.php b/mod/register.php
index 2040732ff..990cce2ed 100644
--- a/mod/register.php
+++ b/mod/register.php
@@ -135,10 +135,17 @@ function register_post(&$a) {
function register_content(&$a) {
+ $registration_is = '';
+ $other_sites = '';
if(get_config('system','register_policy') == REGISTER_CLOSED) {
- notice("Permission denied." . EOL);
- return;
+ require_once('mod/pubsites.php');
+ return pubsites_content($a);
+ }
+
+ if(get_config('system','register_policy') == REGISTER_APPROVE) {
+ $registration_is = t('Registration on this site/hub is by approval only.');
+ $other_sites = t('<a href="pubsites">Register at another affiliated site/hub</a>');
}
$max_dailies = intval(get_config('system','max_daily_registrations'));
@@ -175,10 +182,14 @@ function register_content(&$a) {
$invite_code = ((x($_REQUEST,'invite_code')) ? strip_tags(trim($_REQUEST['invite_code'])) : "" );
+
+
$o = replace_macros(get_markup_template('register.tpl'), array(
'$title' => t('Registration'),
+ '$reg_is' => $registration_is,
'$registertext' => get_config('system','register_text'),
+ '$other_sites' => $other_sites,
'$invitations' => get_config('system','invitation_only'),
'$invite_desc' => t('Membership on this site is by invitation only.'),
'$label_invite' => t('Please enter your invitation code'),
diff --git a/mod/removeme.php b/mod/removeme.php
index 7af4719bd..f0b4ae3c0 100644
--- a/mod/removeme.php
+++ b/mod/removeme.php
@@ -50,7 +50,7 @@ function removeme_content(&$a) {
'$desc' => t('This will completely remove this channel from the network. Once this has been done it is not recoverable.'),
'$passwd' => t('Please enter your password for verification:'),
'$global' => array('global', t('Remove this channel and all its clones from the network'), false, t('By default only the instance of the channel located on this hub will be removed from the network')),
- '$submit' => t('Remove My Account')
+ '$submit' => t('Remove Channel')
));
return $o;
diff --git a/mod/rpost.php b/mod/rpost.php
index 8e01ef5d4..852a57d78 100644
--- a/mod/rpost.php
+++ b/mod/rpost.php
@@ -65,8 +65,10 @@ function rpost_content(&$a) {
if($_REQUEST['remote_return']) {
$_SESSION['remote_return'] = $_REQUEST['remote_return'];
}
- if(argc() > 1 && argv(1) === 'return' && $_SESSION['remote_return']) {
- goaway($_SESSION['remote_return']);
+ if(argc() > 1 && argv(1) === 'return') {
+ if($_SESSION['remote_return'])
+ goaway($_SESSION['remote_return']);
+ goaway(z_root() . '/network');
}
$plaintext = true;
diff --git a/mod/search.php b/mod/search.php
index 7651b3a4e..22e521164 100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -1,86 +1,19 @@
<?php
-function search_saved_searches() {
-
- if(! feature_enabled(local_user(),'savedsearch'))
- return '';
-
- $o = '';
-
- $r = q("select `tid`,`term` from `term` WHERE `uid` = %d and type = %d",
- intval(local_user()),
- intval(TERM_SAVEDSEARCH)
- );
-
- if(count($r)) {
- $o .= '<div id="saved-search-list" class="widget">';
- $o .= '<h3>' . t('Saved Searches') . '</h3>' . "\r\n";
- $o .= '<ul id="saved-search-ul">' . "\r\n";
- foreach($r as $rr) {
- $o .= '<li class="saved-search-li clear"><a href="search/?f=&remove=1&search=' . rawurlencode($rr['term']) . '" title="' . t('Remove term') . '" onclick="return confirmDelete();"><i class="icon-remove drop-icons"></i></a> <a href="search/?f=&search=' . $rr['term'] . '" class="savedsearchterm" >' . htmlspecialchars($rr['term']) . '</a></li>' . "\r\n";
- }
- $o .= '</ul><div class="clear"></div></div>' . "\r\n";
- }
-
- return $o;
-
-}
-
-
function search_init(&$a) {
-
- $search = ((x($_GET,'search')) ? trim(rawurldecode($_GET['search'])) : '');
-
- if(local_user()) {
- if(x($_GET,'save') && $search) {
- $r = q("select `tid` from `term` where `uid` = %d and `type` = %d and `term` = '%s' limit 1",
- intval(local_user()),
- intval(TERM_SAVEDSEARCH),
- dbesc($search)
- );
- if(! count($r)) {
- q("insert into `term` ( `uid`,`type`,`term` ) values ( %d, %d, '%s') ",
- intval(local_user()),
- intval(TERM_SAVEDSEARCH),
- dbesc($search)
- );
- }
- }
- if(x($_GET,'remove') && $search) {
- q("delete from `term` where `uid` = %d and `type` = %d and `term` = '%s' limit 1",
- intval(local_user()),
- intval(TERM_SAVEDSEARCH),
- dbesc($search)
- );
- }
-
- $a->page['aside'] .= search_saved_searches();
-
- }
- else {
- unset($_SESSION['theme']);
- unset($_SESSION['mobile_theme']);
- }
-
-
-
-}
-
-
-
-function search_post(&$a) {
- if(x($_POST,'search'))
- $a->data['search'] = $_POST['search'];
+ if(x($_REQUEST,'search'))
+ $a->data['search'] = $_REQUEST['search'];
}
function search_content(&$a,$update = 0, $load = false) {
- if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
- notice( t('Public access denied.') . EOL);
+ if((get_config('system','block_public')) || (get_config('system','block_public_search'))) {
+ if ((! local_user()) && (! remote_user())) {
+ notice( t('Public access denied.') . EOL);
return;
+ }
}
-
nav_set_selected('search');
require_once("include/bbcode.php");
@@ -133,10 +66,7 @@ function search_content(&$a,$update = 0, $load = false) {
);
}
else {
- if (get_config('system','use_fulltext_engine'))
- $sql_extra = sprintf(" AND MATCH (`item`.`body`) AGAINST ('".'"%s"'."' in boolean mode) ", dbesc(protect_sprintf($search)));
- else
- $sql_extra = sprintf(" AND `item`.`body` REGEXP '%s' ", dbesc(protect_sprintf(preg_quote($search))));
+ $sql_extra = sprintf(" AND `item`.`body` REGEXP '%s' ", dbesc(protect_sprintf(preg_quote($search))));
}
// Here is the way permissions work in the search module...
@@ -144,9 +74,6 @@ function search_content(&$a,$update = 0, $load = false) {
// OR your own posts if you are a logged in member
// No items will be shown if the member has a blocked profile wall.
-
-
-
if((! $update) && (! $load)) {
// This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
@@ -170,6 +97,7 @@ function search_content(&$a,$update = 0, $load = false) {
'$spam' => '0',
'$nouveau' => '0',
'$wall' => '0',
+ '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
'$page' => (($a->pager['page'] != 1) ? $a->pager['page'] : 1),
'$search' => (($tag) ? urlencode('#') : '') . $search,
'$order' => '',
@@ -223,63 +151,19 @@ function search_content(&$a,$update = 0, $load = false) {
}
if($r) {
-
-// $parents_str = ids_to_querystr($r,'item_id');
-
-// $items = q("SELECT `item`.*, `item`.`id` AS `item_id`
-// FROM `item`
-// WHERE item_restrict = 0
-// $sql_extra and parent in ( $parents_str ) "
-// );
-
xchan_query($r);
$items = fetch_post_tags($r,true);
-// $items = conv_sort($items,'created');
-
} else {
$items = array();
}
-//logger('mod_search: items ' . count($items));
-
-// $r = q("SELECT distinct(`item`.`mid`), `item`.*, `item`.`id` AS `item_id`,
-// `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`alias`, `contact`.`rel`,
-// `contact`.`network`, `contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
-// `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`,
-// `user`.`nickname`
-// FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
-// LEFT JOIN `user` ON `user`.`uid` = `item`.`uid`
-// WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
-// AND (( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND `item`.`private` = 0 AND `user`.`hidewall` = 0 )
-// OR `item`.`uid` = %d )
-// AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
-// $sql_extra
-// group by `item`.`mid`
-// ORDER BY `received` DESC LIMIT %d , %d ",
-// intval(local_user()),
-// intval($a->pager['start']),
-// intval($a->pager['itemspage'])
-
-// );
-
-
-// $a = fetch_post_tags($a,true);
-
-// if(! $items) {//
-// info( t('No results.') . EOL);
-// return $o;
-// }
-
-
if($tag)
- $o .= '<h2>Items tagged with: ' . htmlspecialchars($search) . '</h2>';
+ $o .= '<h2>Items tagged with: ' . htmlspecialchars($search, ENT_COMPAT,'UTF-8') . '</h2>';
else
- $o .= '<h2>Search results for: ' . htmlspecialchars($search) . '</h2>';
+ $o .= '<h2>Search results for: ' . htmlspecialchars($search, ENT_COMPAT,'UTF-8') . '</h2>';
$o .= conversation($a,$items,'search',$update,'client');
-// $o .= alt_pager($a,count($r));
-
return $o;
}
diff --git a/mod/settings.php b/mod/settings.php
index 4d95f75b3..7ff76cd3e 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -16,14 +16,10 @@ function get_theme_config_file($theme){
}
function settings_init(&$a) {
- $a->profile_uid = local_user();
-}
-
-
-function settings_aside(&$a) {
+ if(! local_user())
+ return;
-if (! local_user())
- return;
+ $a->profile_uid = local_user();
// default is channel settings in the absence of other arguments
@@ -33,106 +29,8 @@ if (! local_user())
$a->argv[] = 'channel';
}
- $channel = $a->get_channel();
-
- $abook_self_id = 0;
-
- // Retrieve the 'self' address book entry for use in the auto-permissions link
- if(local_user()) {
- $abk = q("select abook_id from abook where abook_channel = %d and ( abook_flags & %d ) limit 1",
- intval(local_user()),
- intval(ABOOK_FLAG_SELF)
- );
- if($abk)
- $abook_self_id = $abk[0]['abook_id'];
- }
-
-
- $tabs = array(
- array(
- 'label' => t('Account settings'),
- 'url' => $a->get_baseurl(true).'/settings/account',
- 'selected' => ((argv(1) === 'account') ? 'active' : ''),
- ),
-
- array(
- 'label' => t('Channel settings'),
- 'url' => $a->get_baseurl(true).'/settings/channel',
- 'selected' => ((argv(1) === 'channel') ? 'active' : ''),
- ),
-
- array(
- 'label' => t('Additional features'),
- 'url' => $a->get_baseurl(true).'/settings/features',
- 'selected' => ((argv(1) === 'features') ? 'active' : ''),
- ),
-
- array(
- 'label' => t('Feature settings'),
- 'url' => $a->get_baseurl(true).'/settings/featured',
- 'selected' => ((argv(1) === 'featured') ? 'active' : ''),
- ),
-
- array(
- 'label' => t('Display settings'),
- 'url' => $a->get_baseurl(true).'/settings/display',
- 'selected' => ((argv(1) === 'display') ? 'active' : ''),
- ),
-
- array(
- 'label' => t('Connected apps'),
- 'url' => $a->get_baseurl(true) . '/settings/oauth',
- 'selected' => ((argv(1) === 'oauth') ? 'active' : ''),
- ),
-
- array(
- 'label' => t('Export channel'),
- 'url' => $a->get_baseurl(true) . '/uexport/basic',
- 'selected' => ''
- ),
-
-// array(
-// 'label' => t('Export account'),
-// 'url' => $a->get_baseurl(true) . '/uexport/complete',
-// 'selected' => ''
-// ),
-
- array(
- 'label' => t('Automatic Permissions (Advanced)'),
- 'url' => $a->get_baseurl(true) . '/connections/' . $abook_self_id,
- 'selected' => ''
- ),
- );
-
- if(feature_enabled(local_user(),'premium_channel')) {
- $tabs[] = array(
- 'label' => t('Premium Channel Settings'),
- 'url' => $a->get_baseurl(true) . '/connect/' . $channel['channel_address'],
- 'selected' => ''
- );
-
- }
-
- if(feature_enabled(local_user(),'channel_sources')) {
- $tabs[] = array(
- 'label' => t('Channel Sources'),
- 'url' => $a->get_baseurl(true) . '/sources',
- 'selected' => ''
- );
-
- }
-
-
-
- $tabtpl = get_markup_template("generic_links_widget.tpl");
- $a->page['aside'] = replace_macros($tabtpl, array(
- '$title' => t('Settings'),
- '$class' => 'settings-widget',
- '$items' => $tabs,
- ));
-
}
@@ -368,6 +266,7 @@ function settings_post(&$a) {
$expire_network_only = ((x($_POST,'expire_network_only'))? intval($_POST['expire_network_only']) : 0);
$allow_location = (((x($_POST,'allow_location')) && (intval($_POST['allow_location']) == 1)) ? 1: 0);
+ $hide_presence = (((x($_POST,'hide_presence')) && (intval($_POST['hide_presence']) == 1)) ? 1: 0);
$publish = (((x($_POST,'profile_in_directory')) && (intval($_POST['profile_in_directory']) == 1)) ? 1: 0);
$page_flags = (((x($_POST,'page-flags')) && (intval($_POST['page-flags']))) ? intval($_POST['page-flags']) : 0);
@@ -497,6 +396,7 @@ function settings_post(&$a) {
set_pconfig(local_user(),'system','post_joingroup', $post_joingroup);
set_pconfig(local_user(),'system','post_profilechange', $post_profilechange);
set_pconfig(local_user(),'system','blocktags',$blocktags);
+ set_pconfig(local_user(),'system','hide_online_status',$hide_presence);
$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, channel_default_group = '%s', channel_r_stream = %d, channel_r_profile = %d, channel_r_photos = %d, channel_r_abook = %d, channel_w_stream = %d, channel_w_wall = %d, channel_w_tagwall = %d, channel_w_comment = %d, channel_w_mail = %d, channel_w_photos = %d, channel_w_chat = %d, channel_a_delegate = %d, channel_r_storage = %d, channel_w_storage = %d, channel_r_pages = %d, channel_w_pages = %d, channel_a_republish = %d, channel_allow_cid = '%s', channel_allow_gid = '%s', channel_deny_cid = '%s', channel_deny_gid = '%s' where channel_id = %d limit 1",
@@ -737,7 +637,7 @@ function settings_content(&$a) {
$arr[$fname] = array();
$arr[$fname][0] = $fdata[0];
foreach(array_slice($fdata,1) as $f) {
- $arr[$fname][1][] = array('feature_' .$f[0],$f[1],((intval(get_pconfig(local_user(),'feature',$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On')));
+ $arr[$fname][1][] = array('feature_' .$f[0],$f[1],((intval(feature_enabled(local_user(),$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On')));
}
}
@@ -923,6 +823,9 @@ function settings_content(&$a) {
$unkmail = $a->user['unkmail'];
$cntunkmail = $a->user['cntunkmail'];
+ $hide_presence = intval(get_pconfig(local_user(), 'system','hide_online_status'));
+
+
$expire_items = get_pconfig(local_user(), 'expire','items');
$expire_items = (($expire_items===false)? '1' : $expire_items); // default if not set: 1
@@ -1020,6 +923,8 @@ function settings_content(&$a) {
'$h_prv' => t('Security and Privacy Settings'),
+ '$hide_presence' => array('hide_presence', t('Hide my online presence'),$hide_presence, t('Prevents showing if you are available for chat')),
+
'$lbl_pmacro' => t('Quick Privacy Settings:'),
'$pmacro3' => t('Very Public - extremely permissive'),
'$pmacro2' => t('Typical - default public, privacy when desired'),
diff --git a/mod/setup.php b/mod/setup.php
index 429be43af..ca5566578 100755
--- a/mod/setup.php
+++ b/mod/setup.php
@@ -228,6 +228,8 @@ function setup_content(&$a) {
check_smarty3($checks);
+ check_store($checks);
+
check_keys($checks);
if(x($_POST,'phpath'))
@@ -515,6 +517,24 @@ function check_smarty3(&$checks) {
}
+function check_store(&$checks) {
+ $status = true;
+ $help = "";
+
+ @mkdir('store',STORAGE_DEFAULT_PERMISSIONS);
+
+ if( !is_writable('store') ) {
+
+ $status=false;
+ $help = t('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') . EOL;
+ $help .= t('Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder.').EOL;
+ }
+
+ check_add($checks, t('store is writable'), $status, true, $help);
+
+}
+
+
function check_htaccess(&$checks) {
$a = get_app();
$status = true;
@@ -543,7 +563,7 @@ function check_htaccess(&$checks) {
function manual_config(&$a) {
- $data = htmlentities($a->data['txt']);
+ $data = htmlspecialchars($a->data['txt'],ENT_COMPAT,'UTF-8');
$o = t('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.');
$o .= "<textarea rows=\"24\" cols=\"80\" >$data</textarea>";
return $o;
@@ -577,6 +597,8 @@ function load_database($db) {
function what_next() {
$a = get_app();
+ // install the standard theme
+ set_config('system','allowed_themes','redbasic');
$baseurl = $a->get_baseurl();
return
t('<h1>What next</h1>')
diff --git a/mod/siteinfo.php b/mod/siteinfo.php
index a64b5df20..37cba02ec 100644
--- a/mod/siteinfo.php
+++ b/mod/siteinfo.php
@@ -27,8 +27,14 @@ function siteinfo_init(&$a) {
$visible_plugins[] = $rr['name'];
}
+ if(@is_dir('.git') && function_exists('shell_exec'))
+ $commit = @shell_exec('git log -1 --format="%h"');
+ if(! isset($commit) || strlen($commit) > 16)
+ $commit = '';
+
$data = Array(
'version' => RED_VERSION,
+ 'commit' => $commit,
'url' => z_root(),
'plugins' => $visible_plugins,
'register_policy' => $register_policy[$a->config['system']['register_policy']],
@@ -47,11 +53,16 @@ function siteinfo_init(&$a) {
function siteinfo_content(&$a) {
- if(! get_config('system','hidden_version_siteinfo'))
+ if(! get_config('system','hidden_version_siteinfo')) {
$version = sprintf( t('Version %s'), RED_VERSION );
- else
- $version = "";
-
+ if(@is_dir('.git') && function_exists('shell_exec'))
+ $commit = @shell_exec('git log -1 --format="%h"');
+ if(! isset($commit) || strlen($commit) > 16)
+ $commit = '';
+ }
+ else {
+ $version = $commit = '';
+ }
$visible_plugins = array();
if(is_array($a->plugins) && count($a->plugins)) {
$r = q("select * from addon where hidden = 0");
@@ -77,16 +88,21 @@ function siteinfo_content(&$a) {
else
$plugins_text = t('No installed plugins/addons/apps');
+ $admininfo = bbcode(get_config('system','admininfo'));
+
$o = replace_macros(get_markup_template('siteinfo.tpl'), array(
'$title' => t('Red'),
'$description' => t('This is a hub of the Red Matrix - a global cooperative network of decentralised privacy enhanced websites.'),
'$version' => $version,
+ '$commit' => $commit,
'$web_location' => t('Running at web location') . ' ' . z_root(),
'$visit' => t('Please visit <a href="http://getzot.com">GetZot.com</a> to learn more about the Red Matrix.'),
'$bug_text' => t('Bug reports and issues: please visit'),
'$bug_link_url' => 'https://github.com/friendica/red/issues',
'$bug_link_text' => 'redmatrix issues',
'$contact' => t('Suggestions, praise, donations, etc. - please email "redmatrix" at librelist - dot com'),
+ '$adminlabel' => t('Site Administrators'),
+ '$admininfo' => $admininfo,
'$plugins_text' => $plugins_text,
'$plugins_list' => $plugins_list
));
diff --git a/mod/sources.php b/mod/sources.php
index 125184d47..87bab60df 100644
--- a/mod/sources.php
+++ b/mod/sources.php
@@ -9,11 +9,25 @@ function sources_post(&$a) {
$source = intval($_REQUEST['source']);
$xchan = $_REQUEST['xchan'];
+ $abook = intval($_REQUEST['abook']);
$words = $_REQUEST['words'];
$frequency = $_REQUEST['frequency'];
$channel = $a->get_channel();
+ if($abook) {
+ $r = q("select abook_xchan from abook where abook_id = %d and abook_channel = %d limit 1",
+ intval($abook),
+ intval(local_user())
+ );
+ if($r)
+ $xchan = $r[0]['abook_xchan'];
+ }
+
+ if(! $xchan) {
+ notice ( t('Failed to create source. No channel selected.') . EOL);
+ return;
+ }
if(! $source) {
$r = q("insert into source ( src_channel_id, src_channel_xchan, src_xchan, src_patt )
@@ -92,6 +106,12 @@ function sources_content(&$a) {
intval(argv(1)),
intval(local_user())
);
+ if($r) {
+ $x = q("select abook_id from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
+ dbesc($r[0]['src_xchan']),
+ intval(local_user())
+ );
+ }
if(! $r) {
notice( t('Source not found.') . EOL);
return '';
@@ -106,6 +126,7 @@ function sources_content(&$a) {
'$desc' => t('Import all or selected content from the following channel into this channel and distribute it according to your channel settings.'),
'$words' => array( 'words', t('Only import content with these words (one per line)'),$r[0]['src_patt'],t('Leave blank to import all public content')),
'$xchan' => $r[0]['src_xchan'],
+ '$abook' => $x[0]['abook_id'],
'$name' => array( 'name', t('Channel Name'), $r[0]['xchan_name'], ''),
'$submit' => t('Submit')
));
diff --git a/mod/sslify.php b/mod/sslify.php
new file mode 100644
index 000000000..ed06d87c1
--- /dev/null
+++ b/mod/sslify.php
@@ -0,0 +1,24 @@
+<?php
+
+function sslify_init(&$a) {
+ $x = z_fetch_url($_REQUEST['url']);
+ if($x['success']) {
+ $h = explode("\n",$x['headers']);
+ 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'];
+
+ header('Content-Type: ' . $type);
+ echo $x['body'];
+ killme();
+ }
+ killme();
+ // for some reason when this fallback is in place - it gets triggered
+ // often, (creating mixed content exceptions) even though there is
+ // nothing obvious missing on the page when we bypass it.
+ goaway($_REQUEST['url']);
+}
+
diff --git a/mod/suggest.php b/mod/suggest.php
index baccbd38f..8a6b50b22 100644
--- a/mod/suggest.php
+++ b/mod/suggest.php
@@ -19,13 +19,6 @@ function suggest_init(&$a) {
}
-function suggest_aside(&$a) {
-
- $a->set_widget('follow', widget_follow(array()));
- $a->set_widget('findpeople', findpeople_widget());
-}
-
-
function suggest_content(&$a) {
$o = '';
diff --git a/mod/thing.php b/mod/thing.php
index 91bdca78a..d3b47ebb9 100644
--- a/mod/thing.php
+++ b/mod/thing.php
@@ -1,6 +1,7 @@
<?php /** @file */
require_once('include/items.php');
+require_once('include/contact_selectors.php');
function thing_init(&$a) {
@@ -11,12 +12,13 @@ function thing_init(&$a) {
$account_id = $a->get_account();
$channel = $a->get_channel();
+ $term_hash = (($_REQUEST['term_hash']) ? $_REQUEST['term_hash'] : '');
$name = escape_tags($_REQUEST['term']);
$verb = escape_tags($_REQUEST['verb']);
$profile_guid = escape_tags($_REQUEST['profile']);
$url = $_REQUEST['link'];
- $photo = $_REQUEST['photo'];
+ $photo = $_REQUEST['img'];
$hash = random_string();
@@ -59,6 +61,40 @@ function thing_init(&$a) {
if((! $name) || (! $translated_verb))
return;
+
+
+
+
+ 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)
+ );
+ 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);
+ $local_photo = $arr[0];
+ $local_photo_type = $arr[3];
+ }
+ else
+ $local_photo = $orig_record['imgurl'];
+
+ $r = q("update term set term = '%s', url = '%s', imgurl = '%s' where term_hash = '%s' and uid = %d limit 1",
+ dbesc($name),
+ dbesc(($url) ? $url : z_root() . '/thing/' . $term_hash),
+ dbesc($local_photo),
+ dbesc($term_hash),
+ intval(local_user())
+ );
+
+ info( t('Thing updated') . EOL);
+ return;
+ }
+
$sql = (($profile_guid) ? " and profile_guid = '" . dbesc($profile_guid) . "' " : " and is_default = 1 ");
$p = q("select profile_guid, is_default from profile where uid = %d $sql limit 1",
intval(local_user())
@@ -68,6 +104,14 @@ function thing_init(&$a) {
else
return;
+ $local_photo = null;
+
+ if($photo) {
+ $arr = import_profile_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_user()),
@@ -85,7 +129,7 @@ function thing_init(&$a) {
intval(TERM_THING),
dbesc($name),
dbesc(($url) ? $url : z_root() . '/thing/' . $hash),
- dbesc(($photo) ? $photo : ''),
+ 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",
@@ -110,11 +154,13 @@ function thing_init(&$a) {
return;
}
- info( t('thing/stuff added'));
+ info( t('Thing added'));
$arr = array();
- $links = array(array('rel' => 'alternate','type' => 'text/html',
- 'href' => $term['url']));
+ $links = array(array('rel' => 'alternate','type' => 'text/html', 'href' => $term['url']));
+ if($local_photo)
+ $links[] = array('rel' => 'photo', 'type' => $local_photo_type, 'href' => $local_photo);
+
$objtype = ACTIVITY_OBJ_THING;
@@ -139,6 +185,9 @@ function thing_init(&$a) {
$arr['body'] = sprintf( $bodyverb, $ulink, $translated_verb, $plink );
+ if($local_photo)
+ $arr['body'] .= "\n\n[zmg]" . $local_photo . "[/zmg]";
+
$arr['verb'] = $verb;
$arr['obj_type'] = $objtype;
$arr['object'] = $obj;
@@ -161,32 +210,111 @@ function thing_init(&$a) {
$ret = post_activity_item($arr);
- if($ret['success'])
- proc_run('php','include/notifier.php','tag',$ret['activity']['id']);
}
function thing_content(&$a) {
- /* placeholders */
+ 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",
+ intval(TERM_OBJ_THING),
+ dbesc(argv(1))
+ );
+
+ if($r) {
+ return replace_macros(get_markup_template('show_thing.tpl'), array(
+ '$header' => t('Show Thing'),
+ '$edit' => t('Edit'),
+ '$delete' => t('Delete'),
+ '$canedit' => ((local_user() && local_user() == $r[0]['obj_channel']) ? true : false),
+ '$thing' => $r[0] ));
+ }
+ else {
+ notice( t('item not found.') . EOL);
+ return;
+ }
+ }
+
+ if(! local_user()) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+ $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",
+ intval(TERM_OBJ_THING),
+ dbesc($thing_hash)
+ );
+
+ if((! $r) || ($r[0]['obj_channel'] != local_user())) {
+ notice( t('Permission denied.') . EOL);
+ return '';
+ }
+
- if(argc() > 1) {
- return t('not yet implemented.');
+ $o .= replace_macros(get_markup_template('thing_edit.tpl'),array(
+ '$thing_hdr' => t('Edit Thing'),
+ '$multiprof' => feature_enabled(local_user(),'multi_profiles'),
+ '$profile_lbl' => t('Select a profile'),
+ '$profile_select' => contact_profile_assign($r[0]['obj_page']),
+ '$verb_lbl' => t('Select a category of stuff. e.g. I ______ something'),
+ '$verb_select' => obj_verb_selector($r[0]['obj_verb']),
+ '$thing_hash' => $thing_hash,
+ '$thing_lbl' => t('Name of thing e.g. something'),
+ '$thething' => $r[0]['term'],
+ '$url_lbl' => t('URL of thing (optional)'),
+ '$theurl' => $r[0]['url'],
+ '$img_lbl' => t('URL for photo of thing (optional)'),
+ '$imgurl' => $r[0]['imgurl'],
+ '$submit' => t('Submit')
+ ));
+
+ return $o;
}
- require_once('include/contact_selectors.php');
+ 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",
+ intval(TERM_OBJ_THING),
+ dbesc($thing_hash)
+ );
+
+ if((! $r) || ($r[0]['obj_channel'] != local_user())) {
+ notice( t('Permission denied.') . EOL);
+ return '';
+ }
+
+
+ $x = q("delete from obj where obj_obj = '%s' and obj_type = %d and obj_channel = %d limit 1",
+ dbesc($thing_hash),
+ intval(TERM_OBJ_THING),
+ intval(local_user())
+ );
+ $x = q("delete from term where term_hash = '%s' and uid = %d limit 1",
+ dbesc($thing_hash),
+ intval(local_user())
+ );
+ return $o;
+ }
$o .= replace_macros(get_markup_template('thing_input.tpl'),array(
- '$thing_hdr' => t('Add Stuff to your Profile'),
+ '$thing_hdr' => t('Add Thing to your Profile'),
'$multiprof' => feature_enabled(local_user(),'multi_profiles'),
'$profile_lbl' => t('Select a profile'),
'$profile_select' => contact_profile_assign(''),
'$verb_lbl' => t('Select a category of stuff. e.g. I ______ something'),
'$verb_select' => obj_verb_selector(),
- '$thing_lbl' => t('Name of thing or stuff e.g. something'),
- '$url_lbl' => t('URL of thing or stuff (optional)'),
- '$img_lbl' => t('URL for photo of thing or stuff (optional)'),
+ '$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)'),
'$submit' => t('Submit')
));
diff --git a/mod/toggle_safesearch.php b/mod/toggle_safesearch.php
index 5fb18f694..3c800c4f3 100644
--- a/mod/toggle_safesearch.php
+++ b/mod/toggle_safesearch.php
@@ -3,6 +3,8 @@
function toggle_safesearch_init(&$a) {
$observer = get_observer_hash();
+if (! $observer)
+ return;
if($observer)
$safe_mode = get_xconfig($observer,'directory','safe_mode');
diff --git a/mod/viewconnections.php b/mod/viewconnections.php
index 9c85d63b6..4f6f81d82 100644
--- a/mod/viewconnections.php
+++ b/mod/viewconnections.php
@@ -11,17 +11,6 @@ function viewconnections_init(&$a) {
profile_load($a,argv(1));
}
-
-function viewconnections_aside(&$a) {
-
- if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
- return;
- }
-
- profile_create_sidebar($a);
-}
-
-
function viewconnections_content(&$a) {
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
@@ -41,14 +30,11 @@ function viewconnections_content(&$a) {
- $r = q("SELECT COUNT(abook_id) as total FROM abook WHERE abook_channel = %d AND abook_flags = 0 ",
- 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 abook_flags = 0 order by xchan_name LIMIT %d , %d ",
+ $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and abook_flags = 0 and not ( xchan_flags & %d ) and not ( xchan_flags & %d ) and not ( xchan_flags & %d ) order by xchan_name LIMIT %d , %d ",
intval($a->profile['uid']),
+ intval(XCHAN_FLAGS_HIDDEN),
+ intval(XCHAN_FLAGS_ORPHAN),
+ intval(XCHAN_FLAGS_DELETED),
intval($a->pager['start']),
intval($a->pager['itemspage'])
);
diff --git a/mod/webpages.php b/mod/webpages.php
index 90004faa1..7e1b32f36 100644
--- a/mod/webpages.php
+++ b/mod/webpages.php
@@ -41,9 +41,9 @@ function webpages_content(&$a) {
return;
}
- if(local_user() && local_user() == $owner) {
- $a->set_widget('design',design_tools());
- }
+// if(local_user() && local_user() == $owner) {
+// $a->set_widget('design',design_tools());
+// }
$mimetype = get_config('system','page_mimetype');
diff --git a/mod/xref.php b/mod/xref.php
new file mode 100644
index 000000000..95cc22aa7
--- /dev/null
+++ b/mod/xref.php
@@ -0,0 +1,20 @@
+<?php
+
+function xref_init(&$a) {
+ // Sets a referral URL using an xchan directly
+ // Link format: example.com/xref/[xchan]/[TargetURL]
+ // Target URL is optional.
+ // Cookie lasts 24 hours to survive a browser restart. Contains no personal
+ // information at all - just somebody else's xchan.
+ $referrer = argv(1);
+ $expire=time()+60*60*2;
+ $path = 'xref';
+ setcookie($path, $referrer, $expire, "/");
+ $url = '';
+
+ if (argc() > 2)
+ $url = argv(2);
+
+ goaway (z_root() . '/' . $url);
+
+}
diff --git a/mod/zfinger.php b/mod/zfinger.php
index 0827f3424..94671271b 100644
--- a/mod/zfinger.php
+++ b/mod/zfinger.php
@@ -52,11 +52,33 @@ function zfinger_init(&$a) {
);
}
elseif(strlen($zaddr)) {
- $r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash
- where ( channel_address = '%s' or xchan_addr = '%s' ) limit 1",
- dbesc($zaddr),
- dbesc($zaddr)
- );
+ if(strpos($zaddr,'[system]') === false) { /* normal address lookup */
+ $r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash
+ where ( channel_address = '%s' or xchan_addr = '%s' ) limit 1",
+ dbesc($zaddr),
+ dbesc($zaddr)
+ );
+ }
+
+ else {
+
+ /**
+ * The special address '[system]' will return a system channel if one has been defined,
+ * Or the first valid channel we find if there are no system channels.
+ *
+ * This is used by magic-auth if we have no prior communications with this site - and
+ * returns an identity on this site which we can use to create a valid hub record so that
+ * we can exchange signed messages. The precise identity is irrelevant. It's the hub
+ * information that we really need at the other end - and this will return it.
+ *
+ */
+
+ $r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash
+ where (( channel_pageflags & %d ) or not ( channel_pageflags & %d )) order by channel_id limit 1",
+ intval(PAGE_SYSTEM),
+ intval(PAGE_REMOVED)
+ );
+ }
}
else {
$ret['message'] = 'Invalid request';
@@ -104,12 +126,16 @@ function zfinger_init(&$a) {
$profile['region'] = $p[0]['region'];
$profile['postcode'] = $p[0]['postal_code'];
$profile['country'] = $p[0]['country_name'];
+ $profile['about'] = $p[0]['about'];
+ $profile['homepage'] = $p[0]['homepage'];
+ $profile['hometown'] = $p[0]['hometown'];
+
if($p[0]['keywords']) {
$tags = array();
$k = explode(' ',$p[0]['keywords']);
if($k) {
foreach($k as $kk) {
- if(trim($kk)) {
+ if(trim($kk," \t\n\r\0\x0B,")) {
$tags[] = trim($kk," \t\n\r\0\x0B,");
}
}
diff --git a/util/messages.po b/util/messages.po
index 485d47394..328875302 100644
--- a/util/messages.po
+++ b/util/messages.po
@@ -1,14 +1,14 @@
-# Red Communications Project
-# Copyright (C) 2013 the Red Matrix Project
+# Red Matrix Project
+# Copyright (C) 2012-2014 the Red Matrix Project
# This file is distributed under the same license as the Red package.
-# Mike Macgirvin, 2013
+# Mike Macgirvin, 2012
#
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: 2013-12-06.519\n"
+"Project-Id-Version: 2014-01-24.567\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-12-06 00:02-0800\n"
+"POT-Creation-Date: 2014-01-24 00:03-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,7 +16,6 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: ../../include/acl_selectors.php:235
msgid "Visible to everybody"
@@ -30,433 +29,283 @@ msgstr ""
msgid "don't show"
msgstr ""
-#: ../../include/activities.php:37
+#: ../../include/activities.php:39
msgid " and "
msgstr ""
-#: ../../include/activities.php:45
+#: ../../include/activities.php:47
msgid "public profile"
msgstr ""
-#: ../../include/activities.php:50
+#: ../../include/activities.php:52
#, php-format
msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
msgstr ""
-#: ../../include/activities.php:51
+#: ../../include/activities.php:53
#, php-format
msgid "Visit %1$s's %2$s"
msgstr ""
-#: ../../include/activities.php:54
+#: ../../include/activities.php:56
#, php-format
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr ""
-#: ../../include/enotify.php:40
-msgid "Red Matrix Notification"
-msgstr ""
-
-#: ../../include/enotify.php:41
-msgid "redmatrix"
-msgstr ""
-
-#: ../../include/enotify.php:43
-msgid "Thank You,"
-msgstr ""
-
-#: ../../include/enotify.php:45
-#, php-format
-msgid "%s Administrator"
-msgstr ""
-
-#: ../../include/enotify.php:80
-#, php-format
-msgid "%s <!item_type!>"
-msgstr ""
-
-#: ../../include/enotify.php:84
-#, php-format
-msgid "[Red:Notify] New mail received at %s"
-msgstr ""
-
-#: ../../include/enotify.php:86
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr ""
-
-#: ../../include/enotify.php:87
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr ""
-
-#: ../../include/enotify.php:87
-msgid "a private message"
-msgstr ""
-
-#: ../../include/enotify.php:88
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr ""
-
-#: ../../include/enotify.php:139
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr ""
-
-#: ../../include/enotify.php:147
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr ""
-
-#: ../../include/enotify.php:156
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr ""
-
-#: ../../include/enotify.php:167
-#, php-format
-msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
-msgstr ""
-
-#: ../../include/enotify.php:168
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr ""
-
-#: ../../include/enotify.php:171 ../../include/enotify.php:190
-#: ../../include/enotify.php:216 ../../include/enotify.php:235
-#: ../../include/enotify.php:249
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr ""
-
-#: ../../include/enotify.php:178
-#, php-format
-msgid "[Red:Notify] %s posted to your profile wall"
-msgstr ""
-
-#: ../../include/enotify.php:180
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr ""
-
-#: ../../include/enotify.php:182
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr ""
-
-#: ../../include/enotify.php:209
-#, php-format
-msgid "[Red:Notify] %s tagged you"
+#: ../../include/api.php:973
+msgid "Public Timeline"
msgstr ""
-#: ../../include/enotify.php:210
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
+#: ../../include/nav.php:72 ../../include/nav.php:87 ../../boot.php:1420
+msgid "Logout"
msgstr ""
-#: ../../include/enotify.php:211
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+#: ../../include/nav.php:72 ../../include/nav.php:87
+msgid "End this session"
msgstr ""
-#: ../../include/enotify.php:224
-#, php-format
-msgid "[Red:Notify] %1$s poked you"
+#: ../../include/nav.php:75 ../../include/nav.php:121
+msgid "Home"
msgstr ""
-#: ../../include/enotify.php:225
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
+#: ../../include/nav.php:75
+msgid "Your posts and conversations"
msgstr ""
-#: ../../include/enotify.php:226
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+#: ../../include/nav.php:76 ../../include/conversation.php:932
+#: ../../mod/connedit.php:309 ../../mod/connedit.php:423
+msgid "View Profile"
msgstr ""
-#: ../../include/enotify.php:242
-#, php-format
-msgid "[Red:Notify] %s tagged your post"
+#: ../../include/nav.php:76
+msgid "Your profile page"
msgstr ""
-#: ../../include/enotify.php:243
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
+#: ../../include/nav.php:78
+msgid "Edit Profiles"
msgstr ""
-#: ../../include/enotify.php:244
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+#: ../../include/nav.php:78
+msgid "Manage/Edit Profiles"
msgstr ""
-#: ../../include/enotify.php:256
-msgid "[Red:Notify] Introduction received"
+#: ../../include/nav.php:79 ../../include/conversation.php:1474
+#: ../../mod/fbrowser.php:25
+msgid "Photos"
msgstr ""
-#: ../../include/enotify.php:257
-#, php-format
-msgid "%1$s, you've received an introduction from '%2$s' at %3$s"
+#: ../../include/nav.php:79
+msgid "Your photos"
msgstr ""
-#: ../../include/enotify.php:258
-#, php-format
-msgid "%1$s, you've received [zrl=%2$s]an introduction[/zrl] from %3$s."
+#: ../../include/nav.php:85 ../../boot.php:1421
+msgid "Login"
msgstr ""
-#: ../../include/enotify.php:262 ../../include/enotify.php:281
-#, php-format
-msgid "You may visit their profile at %s"
+#: ../../include/nav.php:85
+msgid "Sign in"
msgstr ""
-#: ../../include/enotify.php:264
+#: ../../include/nav.php:102
#, php-format
-msgid "Please visit %s to approve or reject the introduction."
+msgid "%s - click to logout"
msgstr ""
-#: ../../include/enotify.php:271
-msgid "[Red:Notify] Friend suggestion received"
+#: ../../include/nav.php:107
+msgid "Click to authenticate to your home hub"
msgstr ""
-#: ../../include/enotify.php:272
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+#: ../../include/nav.php:121
+msgid "Home Page"
msgstr ""
-#: ../../include/enotify.php:273
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from %4$s."
+#: ../../include/nav.php:125 ../../mod/register.php:206 ../../boot.php:1397
+msgid "Register"
msgstr ""
-#: ../../include/enotify.php:279
-msgid "Name:"
+#: ../../include/nav.php:125
+msgid "Create an account"
msgstr ""
-#: ../../include/enotify.php:280
-msgid "Photo:"
+#: ../../include/nav.php:130 ../../mod/help.php:60 ../../mod/help.php:64
+msgid "Help"
msgstr ""
-#: ../../include/enotify.php:283
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
+#: ../../include/nav.php:130
+msgid "Help and documentation"
msgstr ""
-#: ../../include/ItemObject.php:88 ../../mod/photos.php:963
-msgid "Private Message"
+#: ../../include/nav.php:133
+msgid "Apps"
msgstr ""
-#: ../../include/ItemObject.php:95 ../../include/page_widgets.php:8
-#: ../../mod/webpages.php:101 ../../mod/settings.php:671 ../../mod/menu.php:55
-#: ../../mod/layouts.php:102 ../../mod/editlayout.php:100
-#: ../../mod/editwebpage.php:119 ../../mod/blocks.php:93
-#: ../../mod/editpost.php:97 ../../mod/editblock.php:114
-msgid "Edit"
+#: ../../include/nav.php:133
+msgid "Addon applications, utilities, games"
msgstr ""
-#: ../../include/ItemObject.php:107 ../../include/conversation.php:628
-#: ../../mod/settings.php:672 ../../mod/admin.php:690 ../../mod/group.php:182
-#: ../../mod/photos.php:1141 ../../mod/connections.php:374
-#: ../../mod/filestorage.php:82
-msgid "Delete"
+#: ../../include/nav.php:135 ../../include/text.php:736
+#: ../../include/text.php:750 ../../mod/search.php:29
+msgid "Search"
msgstr ""
-#: ../../include/ItemObject.php:113 ../../include/conversation.php:627
-msgid "Select"
+#: ../../include/nav.php:135
+msgid "Search site content"
msgstr ""
-#: ../../include/ItemObject.php:117
-msgid "save to folder"
+#: ../../include/nav.php:138 ../../mod/directory.php:210
+msgid "Directory"
msgstr ""
-#: ../../include/ItemObject.php:145
-msgid "add star"
+#: ../../include/nav.php:138
+msgid "Channel Locator"
msgstr ""
-#: ../../include/ItemObject.php:146
-msgid "remove star"
+#: ../../include/nav.php:149
+msgid "Matrix"
msgstr ""
-#: ../../include/ItemObject.php:147
-msgid "toggle star status"
+#: ../../include/nav.php:149
+msgid "Your matrix"
msgstr ""
-#: ../../include/ItemObject.php:151
-msgid "starred"
+#: ../../include/nav.php:150
+msgid "Mark all matrix notifications seen"
msgstr ""
-#: ../../include/ItemObject.php:160 ../../include/conversation.php:638
-msgid "Message is verified"
+#: ../../include/nav.php:152
+msgid "Channel Home"
msgstr ""
-#: ../../include/ItemObject.php:168
-msgid "add tag"
+#: ../../include/nav.php:152
+msgid "Channel home"
msgstr ""
-#: ../../include/ItemObject.php:174 ../../mod/photos.php:1069
-msgid "I like this (toggle)"
+#: ../../include/nav.php:153
+msgid "Mark all channel notifications seen"
msgstr ""
-#: ../../include/ItemObject.php:174 ../../include/taxonomy.php:251
-msgid "like"
+#: ../../include/nav.php:156
+msgid "Intros"
msgstr ""
-#: ../../include/ItemObject.php:175 ../../mod/photos.php:1070
-msgid "I don't like this (toggle)"
+#: ../../include/nav.php:156 ../../mod/connections.php:242
+msgid "New Connections"
msgstr ""
-#: ../../include/ItemObject.php:175 ../../include/taxonomy.php:252
-msgid "dislike"
+#: ../../include/nav.php:159
+msgid "Notices"
msgstr ""
-#: ../../include/ItemObject.php:177
-msgid "Share this"
+#: ../../include/nav.php:159
+msgid "Notifications"
msgstr ""
-#: ../../include/ItemObject.php:177
-msgid "share"
+#: ../../include/nav.php:160
+msgid "See all notifications"
msgstr ""
-#: ../../include/ItemObject.php:201 ../../include/ItemObject.php:202
-#, php-format
-msgid "View %s's profile - %s"
+#: ../../include/nav.php:161
+msgid "Mark all system notifications seen"
msgstr ""
-#: ../../include/ItemObject.php:203
-msgid "to"
+#: ../../include/nav.php:163
+msgid "Mail"
msgstr ""
-#: ../../include/ItemObject.php:204
-msgid "via"
+#: ../../include/nav.php:163
+msgid "Private mail"
msgstr ""
-#: ../../include/ItemObject.php:205
-msgid "Wall-to-Wall"
+#: ../../include/nav.php:164
+msgid "See all private messages"
msgstr ""
-#: ../../include/ItemObject.php:206
-msgid "via Wall-To-Wall:"
+#: ../../include/nav.php:165
+msgid "Mark all private messages seen"
msgstr ""
-#: ../../include/ItemObject.php:216 ../../include/conversation.php:682
-#, php-format
-msgid " from %s"
+#: ../../include/nav.php:166
+msgid "Inbox"
msgstr ""
-#: ../../include/ItemObject.php:219 ../../include/conversation.php:685
-#, php-format
-msgid "last edited: %s"
+#: ../../include/nav.php:167
+msgid "Outbox"
msgstr ""
-#: ../../include/ItemObject.php:246 ../../include/conversation.php:702
-#: ../../include/conversation.php:1112 ../../mod/photos.php:1072
-#: ../../mod/message.php:332 ../../mod/message.php:516
-#: ../../mod/editlayout.php:109 ../../mod/editwebpage.php:128
-#: ../../mod/editpost.php:106 ../../mod/editblock.php:123
-msgid "Please wait"
+#: ../../include/nav.php:168 ../../include/widgets.php:509
+msgid "New Message"
msgstr ""
-#: ../../include/ItemObject.php:267
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/ItemObject.php:268 ../../include/js_strings.php:7
-#: ../../include/contact_widgets.php:148
-msgid "show more"
+#: ../../include/nav.php:171 ../../include/conversation.php:1492
+#: ../../mod/events.php:354
+msgid "Events"
msgstr ""
-#: ../../include/ItemObject.php:527 ../../mod/photos.php:1088
-#: ../../mod/photos.php:1175
-msgid "This is you"
+#: ../../include/nav.php:171
+msgid "Event Calendar"
msgstr ""
-#: ../../include/ItemObject.php:529 ../../include/js_strings.php:6
-#: ../../mod/photos.php:1090 ../../mod/photos.php:1177
-msgid "Comment"
+#: ../../include/nav.php:172
+msgid "See all events"
msgstr ""
-#: ../../include/ItemObject.php:530 ../../mod/events.php:469
-#: ../../mod/thing.php:190 ../../mod/invite.php:154 ../../mod/setup.php:302
-#: ../../mod/setup.php:345 ../../mod/settings.php:609
-#: ../../mod/settings.php:721 ../../mod/settings.php:749
-#: ../../mod/settings.php:773 ../../mod/settings.php:844
-#: ../../mod/settings.php:1005 ../../mod/connect.php:96
-#: ../../mod/sources.php:83 ../../mod/sources.php:110 ../../mod/admin.php:418
-#: ../../mod/admin.php:683 ../../mod/admin.php:823 ../../mod/admin.php:1022
-#: ../../mod/admin.php:1109 ../../mod/group.php:87 ../../mod/photos.php:685
-#: ../../mod/photos.php:790 ../../mod/photos.php:1051
-#: ../../mod/photos.php:1091 ../../mod/photos.php:1178
-#: ../../mod/message.php:333 ../../mod/message.php:515
-#: ../../mod/profiles.php:529 ../../mod/connections.php:452
-#: ../../mod/import.php:387 ../../mod/crepair.php:166 ../../mod/poke.php:166
-#: ../../mod/fsuggest.php:108 ../../mod/mood.php:137
-#: ../../view/theme/redbasic/php/config.php:85
-#: ../../view/theme/apw/php/config.php:231
-#: ../../view/theme/blogga/view/theme/blog/config.php:67
-#: ../../view/theme/blogga/php/config.php:67
-msgid "Submit"
+#: ../../include/nav.php:173
+msgid "Mark all events seen"
msgstr ""
-#: ../../include/ItemObject.php:531
-msgid "Bold"
+#: ../../include/nav.php:175
+msgid "Channel Select"
msgstr ""
-#: ../../include/ItemObject.php:532
-msgid "Italic"
+#: ../../include/nav.php:175
+msgid "Manage Your Channels"
msgstr ""
-#: ../../include/ItemObject.php:533
-msgid "Underline"
+#: ../../include/nav.php:177 ../../include/widgets.php:487
+#: ../../mod/admin.php:787 ../../mod/admin.php:992
+msgid "Settings"
msgstr ""
-#: ../../include/ItemObject.php:534
-msgid "Quote"
+#: ../../include/nav.php:177
+msgid "Account/Channel Settings"
msgstr ""
-#: ../../include/ItemObject.php:535
-msgid "Code"
+#: ../../include/nav.php:179 ../../mod/connections.php:349
+msgid "Connections"
msgstr ""
-#: ../../include/ItemObject.php:536
-msgid "Image"
+#: ../../include/nav.php:179
+msgid "Manage/Edit Friends and Connections"
msgstr ""
-#: ../../include/ItemObject.php:537
-msgid "Link"
+#: ../../include/nav.php:186 ../../mod/admin.php:111
+msgid "Admin"
msgstr ""
-#: ../../include/ItemObject.php:538
-msgid "Video"
+#: ../../include/nav.php:186
+msgid "Site Setup and Configuration"
msgstr ""
-#: ../../include/ItemObject.php:539 ../../include/conversation.php:1075
-#: ../../mod/webpages.php:105 ../../mod/photos.php:1092
-#: ../../mod/editlayout.php:129 ../../mod/editwebpage.php:150
-#: ../../mod/editpost.php:126 ../../mod/editblock.php:144
-msgid "Preview"
+#: ../../include/nav.php:212
+msgid "Nothing new here"
msgstr ""
-#: ../../include/ItemObject.php:542 ../../include/conversation.php:1139
-#: ../../mod/message.php:338 ../../mod/message.php:521
-#: ../../mod/editpost.php:134
-msgid "Encrypt text"
+#: ../../include/nav.php:217
+msgid "Please wait..."
msgstr ""
-#: ../../include/Contact.php:87 ../../include/contact_widgets.php:23
-#: ../../include/identity.php:613 ../../mod/match.php:62
-#: ../../mod/suggest.php:56 ../../mod/directory.php:198
+#: ../../include/Contact.php:104 ../../include/identity.php:625
+#: ../../include/widgets.php:115 ../../include/widgets.php:155
+#: ../../mod/directory.php:183 ../../mod/match.php:62 ../../mod/suggest.php:51
+#: ../../mod/dirprofile.php:166
msgid "Connect"
msgstr ""
-#: ../../include/Contact.php:103
+#: ../../include/Contact.php:120
msgid "New window"
msgstr ""
-#: ../../include/Contact.php:104
+#: ../../include/Contact.php:121
msgid "Open the selected location in a different window or browser tab"
msgstr ""
@@ -520,8 +369,8 @@ msgstr ""
msgid "RSS/Atom"
msgstr ""
-#: ../../include/contact_selectors.php:77 ../../mod/admin.php:686
-#: ../../mod/admin.php:695 ../../boot.php:1442
+#: ../../include/contact_selectors.php:77 ../../mod/admin.php:691
+#: ../../mod/admin.php:700 ../../boot.php:1423
msgid "Email"
msgstr ""
@@ -639,267 +488,358 @@ msgstr ""
msgid "Finishes:"
msgstr ""
-#: ../../include/event.php:40 ../../include/identity.php:663
+#: ../../include/event.php:40 ../../include/identity.php:676
#: ../../include/bb2diaspora.php:455 ../../mod/events.php:462
-#: ../../mod/directory.php:173
+#: ../../mod/directory.php:156 ../../mod/dirprofile.php:108
msgid "Location:"
msgstr ""
-#: ../../include/features.php:21
-msgid "General Features"
+#: ../../include/text.php:315
+msgid "prev"
msgstr ""
-#: ../../include/features.php:23
-msgid "Content Expiration"
+#: ../../include/text.php:317
+msgid "first"
msgstr ""
-#: ../../include/features.php:23
-msgid "Remove posts/comments and/or private messages at a future time"
+#: ../../include/text.php:346
+msgid "last"
msgstr ""
-#: ../../include/features.php:24
-msgid "Multiple Profiles"
+#: ../../include/text.php:349
+msgid "next"
msgstr ""
-#: ../../include/features.php:24
-msgid "Ability to create multiple profiles"
+#: ../../include/text.php:361
+msgid "older"
msgstr ""
-#: ../../include/features.php:25
-msgid "Web Pages"
+#: ../../include/text.php:363
+msgid "newer"
msgstr ""
-#: ../../include/features.php:25
-msgid "Provide managed web pages on your channel"
+#: ../../include/text.php:654
+msgid "No connections"
msgstr ""
-#: ../../include/features.php:26
-msgid "Enhanced Photo Albums"
+#: ../../include/text.php:665
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/text.php:677
+msgid "View Connections"
msgstr ""
-#: ../../include/features.php:26
-msgid "Enable photo album with enhanced features"
+#: ../../include/text.php:738 ../../include/text.php:752
+#: ../../include/widgets.php:173 ../../mod/filer.php:36
+msgid "Save"
msgstr ""
-#: ../../include/features.php:28
-msgid "Extended Identity Sharing"
+#: ../../include/text.php:818
+msgid "poke"
msgstr ""
-#: ../../include/features.php:28 ../../include/js_strings.php:30
-msgid " "
+#: ../../include/text.php:818 ../../include/conversation.php:240
+msgid "poked"
msgstr ""
-#: ../../include/features.php:29
-msgid "Expert Mode"
+#: ../../include/text.php:819
+msgid "ping"
msgstr ""
-#: ../../include/features.php:29
-msgid "Enable Expert Mode to provide advanced configuration options"
+#: ../../include/text.php:819
+msgid "pinged"
msgstr ""
-#: ../../include/features.php:30
-msgid "Premium Channel"
+#: ../../include/text.php:820
+msgid "prod"
msgstr ""
-#: ../../include/features.php:30
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
+#: ../../include/text.php:820
+msgid "prodded"
msgstr ""
-#: ../../include/features.php:35
-msgid "Post Composition Features"
+#: ../../include/text.php:821
+msgid "slap"
msgstr ""
-#: ../../include/features.php:36
-msgid "Richtext Editor"
+#: ../../include/text.php:821
+msgid "slapped"
msgstr ""
-#: ../../include/features.php:36
-msgid "Enable richtext editor"
+#: ../../include/text.php:822
+msgid "finger"
msgstr ""
-#: ../../include/features.php:37
-msgid "Post Preview"
+#: ../../include/text.php:822
+msgid "fingered"
msgstr ""
-#: ../../include/features.php:37
-msgid "Allow previewing posts and comments before publishing them"
+#: ../../include/text.php:823
+msgid "rebuff"
msgstr ""
-#: ../../include/features.php:38 ../../mod/settings.php:120
-#: ../../mod/sources.php:67
-msgid "Channel Sources"
+#: ../../include/text.php:823
+msgid "rebuffed"
msgstr ""
-#: ../../include/features.php:38
-msgid "Automatically import channel content from other channels or feeds"
+#: ../../include/text.php:835
+msgid "happy"
msgstr ""
-#: ../../include/features.php:39
-msgid "Even More Encryption"
+#: ../../include/text.php:836
+msgid "sad"
msgstr ""
-#: ../../include/features.php:39
-msgid "Allow encryption of content end-to-end with a shared secret key"
+#: ../../include/text.php:837
+msgid "mellow"
msgstr ""
-#: ../../include/features.php:44
-msgid "Network and Stream Filtering"
+#: ../../include/text.php:838
+msgid "tired"
msgstr ""
-#: ../../include/features.php:45
-msgid "Search by Date"
+#: ../../include/text.php:839
+msgid "perky"
msgstr ""
-#: ../../include/features.php:45
-msgid "Ability to select posts by date ranges"
+#: ../../include/text.php:840
+msgid "angry"
msgstr ""
-#: ../../include/features.php:46
-msgid "Collections Filter"
+#: ../../include/text.php:841
+msgid "stupified"
msgstr ""
-#: ../../include/features.php:46
-msgid "Enable widget to display Network posts only from selected collections"
+#: ../../include/text.php:842
+msgid "puzzled"
msgstr ""
-#: ../../include/features.php:47 ../../mod/search.php:17
-#: ../../mod/network.php:122
-msgid "Saved Searches"
+#: ../../include/text.php:843
+msgid "interested"
msgstr ""
-#: ../../include/features.php:47
-msgid "Save search terms for re-use"
+#: ../../include/text.php:844
+msgid "bitter"
msgstr ""
-#: ../../include/features.php:48
-msgid "Network Personal Tab"
+#: ../../include/text.php:845
+msgid "cheerful"
msgstr ""
-#: ../../include/features.php:48
-msgid "Enable tab to display only Network posts that you've interacted on"
+#: ../../include/text.php:846
+msgid "alive"
msgstr ""
-#: ../../include/features.php:49
-msgid "Network New Tab"
+#: ../../include/text.php:847
+msgid "annoyed"
msgstr ""
-#: ../../include/features.php:49
-msgid "Enable tab to display all new Network activity"
+#: ../../include/text.php:848
+msgid "anxious"
msgstr ""
-#: ../../include/features.php:50
-msgid "Affinity Tool"
+#: ../../include/text.php:849
+msgid "cranky"
msgstr ""
-#: ../../include/features.php:50
-msgid "Filter stream activity by depth of relationships"
+#: ../../include/text.php:850
+msgid "disturbed"
msgstr ""
-#: ../../include/features.php:55
-msgid "Post/Comment Tools"
+#: ../../include/text.php:851
+msgid "frustrated"
msgstr ""
-#: ../../include/features.php:57
-msgid "Edit Sent Posts"
+#: ../../include/text.php:852
+msgid "motivated"
msgstr ""
-#: ../../include/features.php:57
-msgid "Edit and correct posts and comments after sending"
+#: ../../include/text.php:853
+msgid "relaxed"
msgstr ""
-#: ../../include/features.php:58
-msgid "Tagging"
+#: ../../include/text.php:854
+msgid "surprised"
msgstr ""
-#: ../../include/features.php:58
-msgid "Ability to tag existing posts"
+#: ../../include/text.php:1016
+msgid "Monday"
msgstr ""
-#: ../../include/features.php:59
-msgid "Post Categories"
+#: ../../include/text.php:1016
+msgid "Tuesday"
msgstr ""
-#: ../../include/features.php:59
-msgid "Add categories to your posts"
+#: ../../include/text.php:1016
+msgid "Wednesday"
msgstr ""
-#: ../../include/features.php:60 ../../include/contact_widgets.php:76
-msgid "Saved Folders"
+#: ../../include/text.php:1016
+msgid "Thursday"
msgstr ""
-#: ../../include/features.php:60
-msgid "Ability to file posts under folders"
+#: ../../include/text.php:1016
+msgid "Friday"
msgstr ""
-#: ../../include/features.php:61
-msgid "Dislike Posts"
+#: ../../include/text.php:1016
+msgid "Saturday"
msgstr ""
-#: ../../include/features.php:61
-msgid "Ability to dislike posts/comments"
+#: ../../include/text.php:1016
+msgid "Sunday"
msgstr ""
-#: ../../include/features.php:62
-msgid "Star Posts"
+#: ../../include/text.php:1020
+msgid "January"
msgstr ""
-#: ../../include/features.php:62
-msgid "Ability to mark special posts with a star indicator"
+#: ../../include/text.php:1020
+msgid "February"
msgstr ""
-#: ../../include/features.php:63
-msgid "Tag Cloud"
+#: ../../include/text.php:1020
+msgid "March"
msgstr ""
-#: ../../include/features.php:63
-msgid "Provide a personal tag cloud on your channel page"
+#: ../../include/text.php:1020
+msgid "April"
msgstr ""
-#: ../../include/group.php:25
-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."
+#: ../../include/text.php:1020
+msgid "May"
msgstr ""
-#: ../../include/group.php:223
-msgid "Default privacy group for new contacts"
+#: ../../include/text.php:1020
+msgid "June"
msgstr ""
-#: ../../include/group.php:242 ../../mod/admin.php:695
-msgid "All Channels"
+#: ../../include/text.php:1020
+msgid "July"
msgstr ""
-#: ../../include/group.php:264
-msgid "edit"
+#: ../../include/text.php:1020
+msgid "August"
msgstr ""
-#: ../../include/group.php:285
-msgid "Collections"
+#: ../../include/text.php:1020
+msgid "September"
msgstr ""
-#: ../../include/group.php:286
-msgid "Edit collection"
+#: ../../include/text.php:1020
+msgid "October"
msgstr ""
-#: ../../include/group.php:287
-msgid "Create a new collection"
+#: ../../include/text.php:1020
+msgid "November"
msgstr ""
-#: ../../include/group.php:288
-msgid "Channels not in any collection"
+#: ../../include/text.php:1020
+msgid "December"
msgstr ""
-#: ../../include/group.php:290 ../../mod/network.php:123
-msgid "add"
+#: ../../include/text.php:1098
+msgid "unknown.???"
+msgstr ""
+
+#: ../../include/text.php:1099
+msgid "bytes"
+msgstr ""
+
+#: ../../include/text.php:1134
+msgid "remove category"
+msgstr ""
+
+#: ../../include/text.php:1156
+msgid "remove from file"
+msgstr ""
+
+#: ../../include/text.php:1214 ../../include/text.php:1226
+msgid "Click to open/close"
+msgstr ""
+
+#: ../../include/text.php:1402 ../../mod/events.php:332
+msgid "link to source"
+msgstr ""
+
+#: ../../include/text.php:1421
+msgid "Select a page layout: "
+msgstr ""
+
+#: ../../include/text.php:1424 ../../include/text.php:1489
+msgid "default"
+msgstr ""
+
+#: ../../include/text.php:1460
+msgid "Page content type: "
+msgstr ""
+
+#: ../../include/text.php:1501
+msgid "Select an alternate language"
+msgstr ""
+
+#: ../../include/text.php:1653 ../../include/conversation.php:117
+#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:45
+msgid "photo"
+msgstr ""
+
+#: ../../include/text.php:1656 ../../include/conversation.php:120
+#: ../../mod/tagger.php:49
+msgid "event"
+msgstr ""
+
+#: ../../include/text.php:1659 ../../include/conversation.php:145
+#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:53
+msgid "status"
+msgstr ""
+
+#: ../../include/text.php:1661 ../../include/conversation.php:147
+#: ../../mod/tagger.php:55
+msgid "comment"
+msgstr ""
+
+#: ../../include/text.php:1666
+msgid "activity"
+msgstr ""
+
+#: ../../include/text.php:1928
+msgid "Design"
+msgstr ""
+
+#: ../../include/text.php:1930
+msgid "Blocks"
+msgstr ""
+
+#: ../../include/text.php:1931
+msgid "Menus"
+msgstr ""
+
+#: ../../include/text.php:1932
+msgid "Layouts"
+msgstr ""
+
+#: ../../include/text.php:1933
+msgid "Pages"
msgstr ""
#: ../../include/js_strings.php:5
msgid "Delete this item?"
msgstr ""
+#: ../../include/js_strings.php:6 ../../include/ItemObject.php:536
+#: ../../mod/photos.php:968 ../../mod/photos.php:1055
+msgid "Comment"
+msgstr ""
+
+#: ../../include/js_strings.php:7 ../../include/contact_widgets.php:125
+#: ../../include/ItemObject.php:270
+msgid "show more"
+msgstr ""
+
#: ../../include/js_strings.php:8
msgid "show fewer"
msgstr ""
@@ -912,7 +852,7 @@ msgstr ""
msgid "Passwords do not match"
msgstr ""
-#: ../../include/js_strings.php:11 ../../mod/photos.php:45
+#: ../../include/js_strings.php:11 ../../mod/photos.php:39
msgid "everybody"
msgstr ""
@@ -989,6 +929,10 @@ msgstr ""
msgid "%d years"
msgstr ""
+#: ../../include/js_strings.php:30
+msgid " "
+msgstr ""
+
#: ../../include/js_strings.php:31
msgid "timeago.numbers"
msgstr ""
@@ -1009,51 +953,553 @@ msgstr ""
msgid "Stored post could not be verified."
msgstr ""
-#: ../../include/photo/photo_driver.php:609 ../../include/photos.php:51
-#: ../../mod/photos.php:97 ../../mod/photos.php:775 ../../mod/photos.php:797
-#: ../../mod/profile_photo.php:88 ../../mod/profile_photo.php:235
-#: ../../mod/profile_photo.php:346
+#: ../../include/photo/photo_driver.php:637 ../../include/photos.php:51
+#: ../../mod/photos.php:91 ../../mod/photos.php:652 ../../mod/photos.php:674
+#: ../../mod/profile_photo.php:78 ../../mod/profile_photo.php:225
+#: ../../mod/profile_photo.php:336
msgid "Profile Photos"
msgstr ""
-#: ../../include/api.php:972
-msgid "Public Timeline"
-msgstr ""
-
#: ../../include/network.php:640
msgid "view full size"
msgstr ""
-#: ../../include/bbcode.php:94 ../../include/bbcode.php:494
-#: ../../include/bbcode.php:497
+#: ../../include/identity.php:29 ../../mod/item.php:1150
+msgid "Unable to obtain identity information from database"
+msgstr ""
+
+#: ../../include/identity.php:62
+msgid "Empty name"
+msgstr ""
+
+#: ../../include/identity.php:64
+msgid "Name too long"
+msgstr ""
+
+#: ../../include/identity.php:143
+msgid "No account identifier"
+msgstr ""
+
+#: ../../include/identity.php:153
+msgid "Nickname is required."
+msgstr ""
+
+#: ../../include/identity.php:167
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr ""
+
+#: ../../include/identity.php:226
+msgid "Unable to retrieve created identity"
+msgstr ""
+
+#: ../../include/identity.php:285
+msgid "Default Profile"
+msgstr ""
+
+#: ../../include/identity.php:310 ../../include/profile_selectors.php:42
+#: ../../include/widgets.php:373 ../../mod/connedit.php:389
+msgid "Friends"
+msgstr ""
+
+#: ../../include/identity.php:477
+msgid "Requested channel is not available."
+msgstr ""
+
+#: ../../include/identity.php:489
+msgid " Sorry, you don't have the permission to view this profile. "
+msgstr ""
+
+#: ../../include/identity.php:524 ../../mod/webpages.php:8
+#: ../../mod/connect.php:13 ../../mod/layouts.php:8
+#: ../../mod/achievements.php:8 ../../mod/filestorage.php:40
+#: ../../mod/blocks.php:10 ../../mod/profile.php:16
+msgid "Requested profile is not available."
+msgstr ""
+
+#: ../../include/identity.php:639 ../../mod/profiles.php:603
+msgid "Change profile photo"
+msgstr ""
+
+#: ../../include/identity.php:645
+msgid "Profiles"
+msgstr ""
+
+#: ../../include/identity.php:645
+msgid "Manage/edit profiles"
+msgstr ""
+
+#: ../../include/identity.php:646 ../../mod/profiles.php:604
+msgid "Create New Profile"
+msgstr ""
+
+#: ../../include/identity.php:649
+msgid "Edit Profile"
+msgstr ""
+
+#: ../../include/identity.php:660 ../../mod/profiles.php:615
+msgid "Profile Image"
+msgstr ""
+
+#: ../../include/identity.php:663 ../../mod/profiles.php:618
+msgid "visible to everybody"
+msgstr ""
+
+#: ../../include/identity.php:664 ../../mod/profiles.php:619
+msgid "Edit visibility"
+msgstr ""
+
+#: ../../include/identity.php:678 ../../include/identity.php:903
+#: ../../mod/directory.php:158
+msgid "Gender:"
+msgstr ""
+
+#: ../../include/identity.php:679 ../../include/identity.php:923
+#: ../../mod/directory.php:160
+msgid "Status:"
+msgstr ""
+
+#: ../../include/identity.php:680 ../../include/identity.php:934
+#: ../../mod/directory.php:162
+msgid "Homepage:"
+msgstr ""
+
+#: ../../include/identity.php:747 ../../include/identity.php:827
+#: ../../mod/ping.php:230
+msgid "g A l F d"
+msgstr ""
+
+#: ../../include/identity.php:748 ../../include/identity.php:828
+msgid "F d"
+msgstr ""
+
+#: ../../include/identity.php:793 ../../include/identity.php:868
+#: ../../mod/ping.php:252
+msgid "[today]"
+msgstr ""
+
+#: ../../include/identity.php:805
+msgid "Birthday Reminders"
+msgstr ""
+
+#: ../../include/identity.php:806
+msgid "Birthdays this week:"
+msgstr ""
+
+#: ../../include/identity.php:861
+msgid "[No description]"
+msgstr ""
+
+#: ../../include/identity.php:879
+msgid "Event Reminders"
+msgstr ""
+
+#: ../../include/identity.php:880
+msgid "Events this week:"
+msgstr ""
+
+#: ../../include/identity.php:893 ../../include/identity.php:977
+#: ../../mod/profperm.php:107
+msgid "Profile"
+msgstr ""
+
+#: ../../include/identity.php:901 ../../mod/settings.php:911
+msgid "Full Name:"
+msgstr ""
+
+#: ../../include/identity.php:908
+msgid "j F, Y"
+msgstr ""
+
+#: ../../include/identity.php:909
+msgid "j F"
+msgstr ""
+
+#: ../../include/identity.php:916
+msgid "Birthday:"
+msgstr ""
+
+#: ../../include/identity.php:920
+msgid "Age:"
+msgstr ""
+
+#: ../../include/identity.php:929
+#, php-format
+msgid "for %1$d %2$s"
+msgstr ""
+
+#: ../../include/identity.php:932 ../../mod/profiles.php:526
+msgid "Sexual Preference:"
+msgstr ""
+
+#: ../../include/identity.php:936 ../../mod/profiles.php:528
+msgid "Hometown:"
+msgstr ""
+
+#: ../../include/identity.php:938
+msgid "Tags:"
+msgstr ""
+
+#: ../../include/identity.php:940 ../../mod/profiles.php:529
+msgid "Political Views:"
+msgstr ""
+
+#: ../../include/identity.php:942
+msgid "Religion:"
+msgstr ""
+
+#: ../../include/identity.php:944 ../../mod/directory.php:164
+msgid "About:"
+msgstr ""
+
+#: ../../include/identity.php:946
+msgid "Hobbies/Interests:"
+msgstr ""
+
+#: ../../include/identity.php:948 ../../mod/profiles.php:532
+msgid "Likes:"
+msgstr ""
+
+#: ../../include/identity.php:950 ../../mod/profiles.php:533
+msgid "Dislikes:"
+msgstr ""
+
+#: ../../include/identity.php:953
+msgid "Contact information and Social Networks:"
+msgstr ""
+
+#: ../../include/identity.php:955
+msgid "My other channels:"
+msgstr ""
+
+#: ../../include/identity.php:957
+msgid "Musical interests:"
+msgstr ""
+
+#: ../../include/identity.php:959
+msgid "Books, literature:"
+msgstr ""
+
+#: ../../include/identity.php:961
+msgid "Television:"
+msgstr ""
+
+#: ../../include/identity.php:963
+msgid "Film/dance/culture/entertainment:"
+msgstr ""
+
+#: ../../include/identity.php:965
+msgid "Love/Romance:"
+msgstr ""
+
+#: ../../include/identity.php:967
+msgid "Work/employment:"
+msgstr ""
+
+#: ../../include/identity.php:969
+msgid "School/education:"
+msgstr ""
+
+#: ../../include/reddav.php:1018
+msgid "Edit File properties"
+msgstr ""
+
+#: ../../include/bbcode.php:128 ../../include/bbcode.php:553
+#: ../../include/bbcode.php:556
msgid "Image/photo"
msgstr ""
-#: ../../include/bbcode.php:126 ../../include/bbcode.php:502
+#: ../../include/bbcode.php:163 ../../include/bbcode.php:561
msgid "Encrypted content"
msgstr ""
-#: ../../include/bbcode.php:173
+#: ../../include/bbcode.php:170
+msgid "QR code"
+msgstr ""
+
+#: ../../include/bbcode.php:213
#, php-format
msgid "%1$s wrote the following %2$s %3$s"
msgstr ""
-#: ../../include/bbcode.php:175
+#: ../../include/bbcode.php:215
msgid "post"
msgstr ""
-#: ../../include/bbcode.php:454 ../../include/bbcode.php:474
+#: ../../include/bbcode.php:513 ../../include/bbcode.php:533
msgid "$1 wrote:"
msgstr ""
-#: ../../include/oembed.php:150
+#: ../../include/oembed.php:157
msgid "Embedded content"
msgstr ""
-#: ../../include/oembed.php:159
+#: ../../include/oembed.php:166
msgid "Embedding disabled"
msgstr ""
+#: ../../include/features.php:21
+msgid "General Features"
+msgstr ""
+
+#: ../../include/features.php:23
+msgid "Content Expiration"
+msgstr ""
+
+#: ../../include/features.php:23
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr ""
+
+#: ../../include/features.php:24
+msgid "Multiple Profiles"
+msgstr ""
+
+#: ../../include/features.php:24
+msgid "Ability to create multiple profiles"
+msgstr ""
+
+#: ../../include/features.php:25
+msgid "Web Pages"
+msgstr ""
+
+#: ../../include/features.php:25
+msgid "Provide managed web pages on your channel"
+msgstr ""
+
+#: ../../include/features.php:26
+msgid "Private Notes"
+msgstr ""
+
+#: ../../include/features.php:26
+msgid "Enables a tool to store notes and reminders"
+msgstr ""
+
+#: ../../include/features.php:31
+msgid "Extended Identity Sharing"
+msgstr ""
+
+#: ../../include/features.php:31
+msgid ""
+"Share your identity with all websites on the internet. When disabled, "
+"identity is only shared with sites in the matrix."
+msgstr ""
+
+#: ../../include/features.php:32
+msgid "Expert Mode"
+msgstr ""
+
+#: ../../include/features.php:32
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr ""
+
+#: ../../include/features.php:33
+msgid "Premium Channel"
+msgstr ""
+
+#: ../../include/features.php:33
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr ""
+
+#: ../../include/features.php:38
+msgid "Post Composition Features"
+msgstr ""
+
+#: ../../include/features.php:39
+msgid "Richtext Editor"
+msgstr ""
+
+#: ../../include/features.php:39
+msgid "Enable richtext editor"
+msgstr ""
+
+#: ../../include/features.php:40
+msgid "Post Preview"
+msgstr ""
+
+#: ../../include/features.php:40
+msgid "Allow previewing posts and comments before publishing them"
+msgstr ""
+
+#: ../../include/features.php:41 ../../include/widgets.php:476
+#: ../../mod/sources.php:81
+msgid "Channel Sources"
+msgstr ""
+
+#: ../../include/features.php:41
+msgid "Automatically import channel content from other channels or feeds"
+msgstr ""
+
+#: ../../include/features.php:42
+msgid "Even More Encryption"
+msgstr ""
+
+#: ../../include/features.php:42
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr ""
+
+#: ../../include/features.php:47
+msgid "Network and Stream Filtering"
+msgstr ""
+
+#: ../../include/features.php:48
+msgid "Search by Date"
+msgstr ""
+
+#: ../../include/features.php:48
+msgid "Ability to select posts by date ranges"
+msgstr ""
+
+#: ../../include/features.php:49
+msgid "Collections Filter"
+msgstr ""
+
+#: ../../include/features.php:49
+msgid "Enable widget to display Network posts only from selected collections"
+msgstr ""
+
+#: ../../include/features.php:50 ../../include/widgets.php:252
+msgid "Saved Searches"
+msgstr ""
+
+#: ../../include/features.php:50
+msgid "Save search terms for re-use"
+msgstr ""
+
+#: ../../include/features.php:51
+msgid "Network Personal Tab"
+msgstr ""
+
+#: ../../include/features.php:51
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr ""
+
+#: ../../include/features.php:52
+msgid "Network New Tab"
+msgstr ""
+
+#: ../../include/features.php:52
+msgid "Enable tab to display all new Network activity"
+msgstr ""
+
+#: ../../include/features.php:53
+msgid "Affinity Tool"
+msgstr ""
+
+#: ../../include/features.php:53
+msgid "Filter stream activity by depth of relationships"
+msgstr ""
+
+#: ../../include/features.php:54
+msgid "Suggest Channels"
+msgstr ""
+
+#: ../../include/features.php:54
+msgid "Show channel suggestions"
+msgstr ""
+
+#: ../../include/features.php:59
+msgid "Post/Comment Tools"
+msgstr ""
+
+#: ../../include/features.php:61
+msgid "Edit Sent Posts"
+msgstr ""
+
+#: ../../include/features.php:61
+msgid "Edit and correct posts and comments after sending"
+msgstr ""
+
+#: ../../include/features.php:62
+msgid "Tagging"
+msgstr ""
+
+#: ../../include/features.php:62
+msgid "Ability to tag existing posts"
+msgstr ""
+
+#: ../../include/features.php:63
+msgid "Post Categories"
+msgstr ""
+
+#: ../../include/features.php:63
+msgid "Add categories to your posts"
+msgstr ""
+
+#: ../../include/features.php:64 ../../include/widgets.php:283
+#: ../../include/contact_widgets.php:53
+msgid "Saved Folders"
+msgstr ""
+
+#: ../../include/features.php:64
+msgid "Ability to file posts under folders"
+msgstr ""
+
+#: ../../include/features.php:65
+msgid "Dislike Posts"
+msgstr ""
+
+#: ../../include/features.php:65
+msgid "Ability to dislike posts/comments"
+msgstr ""
+
+#: ../../include/features.php:66
+msgid "Star Posts"
+msgstr ""
+
+#: ../../include/features.php:66
+msgid "Ability to mark special posts with a star indicator"
+msgstr ""
+
+#: ../../include/features.php:67
+msgid "Tag Cloud"
+msgstr ""
+
+#: ../../include/features.php:67
+msgid "Provide a personal tag cloud on your channel page"
+msgstr ""
+
+#: ../../include/group.php:25
+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 ""
+
+#: ../../include/group.php:223
+msgid "Default privacy group for new contacts"
+msgstr ""
+
+#: ../../include/group.php:242 ../../mod/admin.php:700
+msgid "All Channels"
+msgstr ""
+
+#: ../../include/group.php:264
+msgid "edit"
+msgstr ""
+
+#: ../../include/group.php:285
+msgid "Collections"
+msgstr ""
+
+#: ../../include/group.php:286
+msgid "Edit collection"
+msgstr ""
+
+#: ../../include/group.php:287
+msgid "Create a new collection"
+msgstr ""
+
+#: ../../include/group.php:288
+msgid "Channels not in any collection"
+msgstr ""
+
+#: ../../include/group.php:290 ../../include/widgets.php:253
+msgid "add"
+msgstr ""
+
#: ../../include/notify.php:23
msgid "created a new post"
msgstr ""
@@ -1063,61 +1509,65 @@ msgstr ""
msgid "commented on %s's post"
msgstr ""
-#: ../../include/photos.php:15 ../../include/attach.php:102
-#: ../../include/attach.php:133 ../../include/attach.php:189
-#: ../../include/attach.php:204 ../../include/attach.php:237
-#: ../../include/attach.php:251 ../../include/attach.php:272
-#: ../../include/attach.php:464 ../../include/attach.php:539
-#: ../../include/items.php:3412 ../../mod/common.php:43
-#: ../../mod/events.php:139 ../../mod/invite.php:13 ../../mod/invite.php:102
-#: ../../mod/allfriends.php:10 ../../mod/webpages.php:40 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/lastpost.php:93 ../../mod/page.php:30
-#: ../../mod/page.php:80 ../../mod/setup.php:200 ../../mod/settings.php:586
-#: ../../mod/viewconnections.php:33 ../../mod/viewconnections.php:38
-#: ../../mod/delegate.php:6 ../../mod/sources.php:48 ../../mod/mitem.php:92
-#: ../../mod/group.php:15 ../../mod/photos.php:74 ../../mod/photos.php:654
-#: ../../mod/viewsrc.php:12 ../../mod/menu.php:40 ../../mod/message.php:208
+#: ../../include/photos.php:15 ../../include/attach.php:97
+#: ../../include/attach.php:128 ../../include/attach.php:184
+#: ../../include/attach.php:199 ../../include/attach.php:232
+#: ../../include/attach.php:246 ../../include/attach.php:267
+#: ../../include/attach.php:462 ../../include/attach.php:540
+#: ../../include/items.php:3454 ../../mod/common.php:35
+#: ../../mod/events.php:140 ../../mod/thing.php:241 ../../mod/thing.php:257
+#: ../../mod/thing.php:291 ../../mod/invite.php:13 ../../mod/invite.php:104
+#: ../../mod/connedit.php:179 ../../mod/webpages.php:40 ../../mod/api.php:26
+#: ../../mod/api.php:31 ../../mod/page.php:30 ../../mod/page.php:80
+#: ../../mod/setup.php:200 ../../mod/viewconnections.php:22
+#: ../../mod/viewconnections.php:27 ../../mod/delegate.php:6
+#: ../../mod/sources.php:62 ../../mod/mitem.php:73 ../../mod/group.php:9
+#: ../../mod/photos.php:68 ../../mod/photos.php:522 ../../mod/viewsrc.php:12
+#: ../../mod/menu.php:40 ../../mod/connections.php:167
#: ../../mod/layouts.php:27 ../../mod/layouts.php:42 ../../mod/network.php:12
-#: ../../mod/intro.php:50 ../../mod/profiles.php:163
-#: ../../mod/profiles.php:476 ../../mod/new_channel.php:66
-#: ../../mod/new_channel.php:97 ../../mod/connections.php:197
-#: ../../mod/filestorage.php:26 ../../mod/manage.php:6
-#: ../../mod/crepair.php:115 ../../mod/editlayout.php:48
-#: ../../mod/profile_photo.php:197 ../../mod/profile_photo.php:210
-#: ../../mod/editwebpage.php:42 ../../mod/editwebpage.php:64
+#: ../../mod/profiles.php:152 ../../mod/profiles.php:453
+#: ../../mod/new_channel.php:66 ../../mod/new_channel.php:97
+#: ../../mod/achievements.php:27 ../../mod/filestorage.php:10
+#: ../../mod/filestorage.php:59 ../../mod/filestorage.php:76
+#: ../../mod/filestorage.php:99 ../../mod/manage.php:6
+#: ../../mod/settings.php:484 ../../mod/mail.php:108
+#: ../../mod/editlayout.php:48 ../../mod/profile_photo.php:187
+#: ../../mod/profile_photo.php:200 ../../mod/editpost.php:13
#: ../../mod/notifications.php:66 ../../mod/blocks.php:29
-#: ../../mod/blocks.php:44 ../../mod/editpost.php:13 ../../mod/poke.php:128
-#: ../../mod/channel.php:110 ../../mod/fsuggest.php:78
-#: ../../mod/editblock.php:48 ../../mod/item.php:181 ../../mod/item.php:189
-#: ../../mod/suggest.php:32 ../../mod/register.php:68 ../../mod/regmod.php:18
-#: ../../mod/authtest.php:13 ../../mod/mood.php:114 ../../index.php:178
-#: ../../index.php:340
+#: ../../mod/blocks.php:44 ../../mod/editwebpage.php:44
+#: ../../mod/editwebpage.php:83 ../../mod/poke.php:128
+#: ../../mod/channel.php:88 ../../mod/channel.php:188
+#: ../../mod/channel.php:231 ../../mod/fsuggest.php:78
+#: ../../mod/editblock.php:48 ../../mod/suggest.php:26
+#: ../../mod/message.php:16 ../../mod/register.php:68 ../../mod/regmod.php:18
+#: ../../mod/authtest.php:13 ../../mod/item.php:182 ../../mod/item.php:190
+#: ../../mod/mood.php:119 ../../index.php:176 ../../index.php:348
msgid "Permission denied."
msgstr ""
-#: ../../include/photos.php:88
+#: ../../include/photos.php:89
#, php-format
msgid "Image exceeds website size limit of %lu bytes"
msgstr ""
-#: ../../include/photos.php:95
+#: ../../include/photos.php:96
msgid "Image file is empty."
msgstr ""
-#: ../../include/photos.php:124 ../../mod/profile_photo.php:157
+#: ../../include/photos.php:123 ../../mod/profile_photo.php:147
msgid "Unable to process image"
msgstr ""
-#: ../../include/photos.php:186
+#: ../../include/photos.php:185
msgid "Photo storage failed."
msgstr ""
-#: ../../include/photos.php:288 ../../include/conversation.php:1453
+#: ../../include/photos.php:302 ../../include/conversation.php:1477
msgid "Photo Albums"
msgstr ""
-#: ../../include/photos.php:292 ../../mod/photos.php:813
-#: ../../mod/photos.php:1287
+#: ../../include/photos.php:306 ../../mod/photos.php:690
+#: ../../mod/photos.php:1165
msgid "Upload New Photos"
msgstr ""
@@ -1265,11 +1715,6 @@ msgstr ""
msgid "Sex Addict"
msgstr ""
-#: ../../include/profile_selectors.php:42 ../../include/identity.php:298
-#: ../../mod/network.php:215 ../../mod/connections.php:407
-msgid "Friends"
-msgstr ""
-
#: ../../include/profile_selectors.php:42
msgid "Friends/Benefits"
msgstr ""
@@ -1354,1837 +1799,1864 @@ msgstr ""
msgid "Ask me"
msgstr ""
-#: ../../include/attach.php:184 ../../include/attach.php:232
+#: ../../include/attach.php:179 ../../include/attach.php:227
msgid "Item was not found."
msgstr ""
-#: ../../include/attach.php:285
+#: ../../include/attach.php:280
msgid "No source file."
msgstr ""
-#: ../../include/attach.php:302
+#: ../../include/attach.php:297
msgid "Cannot locate file to replace"
msgstr ""
-#: ../../include/attach.php:320
+#: ../../include/attach.php:315
msgid "Cannot locate file to revise/update"
msgstr ""
-#: ../../include/attach.php:331
+#: ../../include/attach.php:326
#, php-format
msgid "File exceeds size limit of %d"
msgstr ""
-#: ../../include/attach.php:342
+#: ../../include/attach.php:338
#, php-format
msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr ""
-#: ../../include/attach.php:424
+#: ../../include/attach.php:422
msgid "File upload failed. Possible system limit or action terminated."
msgstr ""
-#: ../../include/attach.php:436
+#: ../../include/attach.php:434
msgid "Stored file could not be verified. Upload failed."
msgstr ""
-#: ../../include/attach.php:480 ../../include/attach.php:497
+#: ../../include/attach.php:478 ../../include/attach.php:495
msgid "Path not available."
msgstr ""
-#: ../../include/attach.php:544
+#: ../../include/attach.php:545
msgid "Empty pathname"
msgstr ""
-#: ../../include/attach.php:562
+#: ../../include/attach.php:563
msgid "duplicate filename or path"
msgstr ""
-#: ../../include/attach.php:584
+#: ../../include/attach.php:588
msgid "Path not found."
msgstr ""
-#: ../../include/attach.php:628
+#: ../../include/attach.php:633
msgid "mkdir failed."
msgstr ""
-#: ../../include/attach.php:632
+#: ../../include/attach.php:637
msgid "database storage failed."
msgstr ""
-#: ../../include/zot.php:545
-msgid "Invalid data packet"
-msgstr ""
-
-#: ../../include/zot.php:555
-msgid "Unable to verify channel signature"
-msgstr ""
-
-#: ../../include/zot.php:732
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr ""
-
-#: ../../include/nav.php:72 ../../include/nav.php:87 ../../boot.php:1439
-msgid "Logout"
-msgstr ""
-
-#: ../../include/nav.php:72 ../../include/nav.php:87
-msgid "End this session"
-msgstr ""
-
-#: ../../include/nav.php:75 ../../include/nav.php:121
-msgid "Home"
-msgstr ""
-
-#: ../../include/nav.php:75
-msgid "Your posts and conversations"
+#: ../../include/taxonomy.php:210
+msgid "Tags"
msgstr ""
-#: ../../include/nav.php:76 ../../include/conversation.php:925
-#: ../../mod/connections.php:327 ../../mod/connections.php:441
-msgid "View Profile"
+#: ../../include/taxonomy.php:227
+msgid "Keywords"
msgstr ""
-#: ../../include/nav.php:76
-msgid "Your profile page"
+#: ../../include/taxonomy.php:252
+msgid "have"
msgstr ""
-#: ../../include/nav.php:78
-msgid "Edit Profiles"
+#: ../../include/taxonomy.php:252
+msgid "has"
msgstr ""
-#: ../../include/nav.php:78
-msgid "Manage/Edit Profiles"
+#: ../../include/taxonomy.php:253
+msgid "want"
msgstr ""
-#: ../../include/nav.php:79 ../../include/conversation.php:1450
-#: ../../mod/fbrowser.php:25
-msgid "Photos"
+#: ../../include/taxonomy.php:253
+msgid "wants"
msgstr ""
-#: ../../include/nav.php:79
-msgid "Your photos"
+#: ../../include/taxonomy.php:254 ../../include/ItemObject.php:175
+msgid "like"
msgstr ""
-#: ../../include/nav.php:85 ../../boot.php:1440
-msgid "Login"
+#: ../../include/taxonomy.php:254
+msgid "likes"
msgstr ""
-#: ../../include/nav.php:85
-msgid "Sign in"
+#: ../../include/taxonomy.php:255 ../../include/ItemObject.php:176
+msgid "dislike"
msgstr ""
-#: ../../include/nav.php:102
-#, php-format
-msgid "%s - click to logout"
+#: ../../include/taxonomy.php:255
+msgid "dislikes"
msgstr ""
-#: ../../include/nav.php:107
-msgid "Click to authenticate to your home hub"
+#: ../../include/auth.php:76
+msgid "Logged out."
msgstr ""
-#: ../../include/nav.php:121
-msgid "Home Page"
+#: ../../include/auth.php:188
+msgid "Failed authentication"
msgstr ""
-#: ../../include/nav.php:125 ../../mod/register.php:195 ../../boot.php:1416
-msgid "Register"
+#: ../../include/auth.php:203
+msgid "Login failed."
msgstr ""
-#: ../../include/nav.php:125
-msgid "Create an account"
+#: ../../include/account.php:23
+msgid "Not a valid email address"
msgstr ""
-#: ../../include/nav.php:130 ../../mod/help.php:45 ../../mod/help.php:49
-msgid "Help"
+#: ../../include/account.php:25
+msgid "Your email domain is not among those allowed on this site"
msgstr ""
-#: ../../include/nav.php:130
-msgid "Help and documentation"
+#: ../../include/account.php:31
+msgid "Your email address is already registered at this site."
msgstr ""
-#: ../../include/nav.php:133
-msgid "Apps"
+#: ../../include/account.php:64
+msgid "An invitation is required."
msgstr ""
-#: ../../include/nav.php:133
-msgid "Addon applications, utilities, games"
+#: ../../include/account.php:68
+msgid "Invitation could not be verified."
msgstr ""
-#: ../../include/nav.php:135 ../../include/text.php:736
-#: ../../mod/search.php:96
-msgid "Search"
+#: ../../include/account.php:119
+msgid "Please enter the required information."
msgstr ""
-#: ../../include/nav.php:135
-msgid "Search site content"
+#: ../../include/account.php:187
+msgid "Failed to store account information."
msgstr ""
-#: ../../include/nav.php:138 ../../mod/directory.php:225
-msgid "Directory"
+#: ../../include/account.php:273
+#, php-format
+msgid "Registration request at %s"
msgstr ""
-#: ../../include/nav.php:138
-msgid "Channel Locator"
+#: ../../include/account.php:275 ../../include/account.php:302
+#: ../../include/account.php:359
+msgid "Administrator"
msgstr ""
-#: ../../include/nav.php:149
-msgid "Matrix"
+#: ../../include/account.php:297
+msgid "your registration password"
msgstr ""
-#: ../../include/nav.php:149
-msgid "Your matrix"
+#: ../../include/account.php:300 ../../include/account.php:357
+#, php-format
+msgid "Registration details for %s"
msgstr ""
-#: ../../include/nav.php:150
-msgid "See all matrix notifications"
+#: ../../include/account.php:366
+msgid "Account approved."
msgstr ""
-#: ../../include/nav.php:151
-msgid "Mark all matrix notifications seen"
+#: ../../include/account.php:400
+#, php-format
+msgid "Registration revoked for %s"
msgstr ""
-#: ../../include/nav.php:153
-msgid "Channel Home"
+#: ../../include/dir_fns.php:15
+msgid "Sort Options"
msgstr ""
-#: ../../include/nav.php:153
-msgid "Channel home"
+#: ../../include/dir_fns.php:16
+msgid "Alphabetic"
msgstr ""
-#: ../../include/nav.php:154
-msgid "See all channel notifications"
+#: ../../include/dir_fns.php:17
+msgid "Reverse Alphabetic"
msgstr ""
-#: ../../include/nav.php:155
-msgid "Mark all channel notifications seen"
+#: ../../include/dir_fns.php:18
+msgid "Newest to Oldest"
msgstr ""
-#: ../../include/nav.php:158
-msgid "Intros"
+#: ../../include/dir_fns.php:30
+msgid "Enable Safe Search"
msgstr ""
-#: ../../include/nav.php:158 ../../mod/connections.php:585
-msgid "New Connections"
+#: ../../include/dir_fns.php:32
+msgid "Disable Safe Search"
msgstr ""
-#: ../../include/nav.php:159
-msgid "See all channel introductions"
+#: ../../include/dir_fns.php:34
+msgid "Safe Mode"
msgstr ""
-#: ../../include/nav.php:162
-msgid "Notices"
+#: ../../include/enotify.php:40
+msgid "Red Matrix Notification"
msgstr ""
-#: ../../include/nav.php:162 ../../mod/notifications.php:218
-msgid "Notifications"
+#: ../../include/enotify.php:41
+msgid "redmatrix"
msgstr ""
-#: ../../include/nav.php:163
-msgid "See all notifications"
+#: ../../include/enotify.php:43
+msgid "Thank You,"
msgstr ""
-#: ../../include/nav.php:164
-msgid "Mark all system notifications seen"
+#: ../../include/enotify.php:45
+#, php-format
+msgid "%s Administrator"
msgstr ""
-#: ../../include/nav.php:166
-msgid "Mail"
+#: ../../include/enotify.php:80
+#, php-format
+msgid "%s <!item_type!>"
msgstr ""
-#: ../../include/nav.php:166
-msgid "Private mail"
+#: ../../include/enotify.php:84
+#, php-format
+msgid "[Red:Notify] New mail received at %s"
msgstr ""
-#: ../../include/nav.php:167
-msgid "See all private messages"
+#: ../../include/enotify.php:86
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
msgstr ""
-#: ../../include/nav.php:168
-msgid "Mark all private messages seen"
+#: ../../include/enotify.php:87
+#, php-format
+msgid "%1$s sent you %2$s."
msgstr ""
-#: ../../include/nav.php:169
-msgid "Inbox"
+#: ../../include/enotify.php:87
+msgid "a private message"
msgstr ""
-#: ../../include/nav.php:170
-msgid "Outbox"
+#: ../../include/enotify.php:88
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
msgstr ""
-#: ../../include/nav.php:171 ../../mod/message.php:24
-msgid "New Message"
+#: ../../include/enotify.php:142
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
msgstr ""
-#: ../../include/nav.php:174 ../../include/conversation.php:1461
-#: ../../mod/events.php:353
-msgid "Events"
+#: ../../include/enotify.php:150
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
msgstr ""
-#: ../../include/nav.php:174
-msgid "Event Calendar"
+#: ../../include/enotify.php:159
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
msgstr ""
-#: ../../include/nav.php:175
-msgid "See all events"
+#: ../../include/enotify.php:170
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
msgstr ""
-#: ../../include/nav.php:176
-msgid "Mark all events seen"
+#: ../../include/enotify.php:171
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
msgstr ""
-#: ../../include/nav.php:178
-msgid "Channel Select"
+#: ../../include/enotify.php:174 ../../include/enotify.php:189
+#: ../../include/enotify.php:215 ../../include/enotify.php:234
+#: ../../include/enotify.php:248
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
msgstr ""
-#: ../../include/nav.php:178
-msgid "Manage Your Channels"
+#: ../../include/enotify.php:180
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
msgstr ""
-#: ../../include/nav.php:180 ../../mod/settings.php:131
-#: ../../mod/admin.php:782 ../../mod/admin.php:987
-msgid "Settings"
+#: ../../include/enotify.php:182
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
msgstr ""
-#: ../../include/nav.php:180
-msgid "Account/Channel Settings"
+#: ../../include/enotify.php:184
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
msgstr ""
-#: ../../include/nav.php:182 ../../mod/connections.php:690
-msgid "Connections"
+#: ../../include/enotify.php:208
+#, php-format
+msgid "[Red:Notify] %s tagged you"
msgstr ""
-#: ../../include/nav.php:182
-msgid "Manage/Edit Friends and Connections"
+#: ../../include/enotify.php:209
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
msgstr ""
-#: ../../include/nav.php:189 ../../mod/admin.php:111
-msgid "Admin"
+#: ../../include/enotify.php:210
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
msgstr ""
-#: ../../include/nav.php:189
-msgid "Site Setup and Configuration"
+#: ../../include/enotify.php:223
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
msgstr ""
-#: ../../include/nav.php:215
-msgid "Nothing new here"
+#: ../../include/enotify.php:224
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
msgstr ""
-#: ../../include/nav.php:220
-msgid "Please wait..."
+#: ../../include/enotify.php:225
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
msgstr ""
-#: ../../include/account.php:23
-msgid "Not a valid email address"
+#: ../../include/enotify.php:241
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
msgstr ""
-#: ../../include/account.php:25
-msgid "Your email domain is not among those allowed on this site"
+#: ../../include/enotify.php:242
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
msgstr ""
-#: ../../include/account.php:31
-msgid "Your email address is already registered at this site."
+#: ../../include/enotify.php:243
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
msgstr ""
-#: ../../include/account.php:64
-msgid "An invitation is required."
+#: ../../include/enotify.php:255
+msgid "[Red:Notify] Introduction received"
msgstr ""
-#: ../../include/account.php:68
-msgid "Invitation could not be verified."
+#: ../../include/enotify.php:256
+#, php-format
+msgid "%1$s, you've received an introduction from '%2$s' at %3$s"
msgstr ""
-#: ../../include/account.php:118
-msgid "Please enter the required information."
+#: ../../include/enotify.php:257
+#, php-format
+msgid "%1$s, you've received [zrl=%2$s]an introduction[/zrl] from %3$s."
msgstr ""
-#: ../../include/account.php:186
-msgid "Failed to store account information."
+#: ../../include/enotify.php:261 ../../include/enotify.php:280
+#, php-format
+msgid "You may visit their profile at %s"
msgstr ""
-#: ../../include/account.php:272
+#: ../../include/enotify.php:263
#, php-format
-msgid "Registration request at %s"
+msgid "Please visit %s to approve or reject the introduction."
msgstr ""
-#: ../../include/account.php:274 ../../include/account.php:301
-#: ../../include/account.php:358
-msgid "Administrator"
+#: ../../include/enotify.php:270
+msgid "[Red:Notify] Friend suggestion received"
msgstr ""
-#: ../../include/account.php:296
-msgid "your registration password"
+#: ../../include/enotify.php:271
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
msgstr ""
-#: ../../include/account.php:299 ../../include/account.php:356
+#: ../../include/enotify.php:272
#, php-format
-msgid "Registration details for %s"
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from %4$s."
msgstr ""
-#: ../../include/account.php:365
-msgid "Account approved."
+#: ../../include/enotify.php:278
+msgid "Name:"
msgstr ""
-#: ../../include/account.php:399
-#, php-format
-msgid "Registration revoked for %s"
+#: ../../include/enotify.php:279
+msgid "Photo:"
msgstr ""
-#: ../../include/conversation.php:117 ../../include/text.php:1609
-#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:45
-msgid "photo"
+#: ../../include/enotify.php:282
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
msgstr ""
-#: ../../include/conversation.php:120 ../../include/text.php:1612
-#: ../../mod/tagger.php:49
-msgid "event"
+#: ../../include/widgets.php:29 ../../include/contact_widgets.php:87
+msgid "Categories"
msgstr ""
-#: ../../include/conversation.php:123
-msgid "channel"
+#: ../../include/widgets.php:117 ../../mod/suggest.php:53
+msgid "Ignore/Hide"
msgstr ""
-#: ../../include/conversation.php:145 ../../include/text.php:1615
-#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:53
-msgid "status"
+#: ../../include/widgets.php:123 ../../mod/connections.php:236
+msgid "Suggestions"
msgstr ""
-#: ../../include/conversation.php:147 ../../include/text.php:1617
-#: ../../mod/tagger.php:55
-msgid "comment"
+#: ../../include/widgets.php:124
+msgid "See more..."
msgstr ""
-#: ../../include/conversation.php:161 ../../mod/like.php:134
+#: ../../include/widgets.php:146
#, php-format
-msgid "%1$s likes %2$s's %3$s"
+msgid "You have %1$.0f of %2$.0f allowed connections."
msgstr ""
-#: ../../include/conversation.php:164 ../../mod/like.php:136
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
+#: ../../include/widgets.php:152
+msgid "Add New Connection"
msgstr ""
-#: ../../include/conversation.php:201
-#, php-format
-msgid "%1$s is now connected with %2$s"
+#: ../../include/widgets.php:153
+msgid "Enter the channel address"
msgstr ""
-#: ../../include/conversation.php:232
-#, php-format
-msgid "%1$s poked %2$s"
+#: ../../include/widgets.php:154
+msgid "Example: bob@example.com, http://example.com/barbara"
msgstr ""
-#: ../../include/conversation.php:236 ../../include/text.php:776
-msgid "poked"
+#: ../../include/widgets.php:171
+msgid "Notes"
msgstr ""
-#: ../../include/conversation.php:254 ../../mod/mood.php:63
-#, php-format
-msgid "%1$s is currently %2$s"
+#: ../../include/widgets.php:243
+msgid "Remove term"
msgstr ""
-#: ../../include/conversation.php:658
-#, php-format
-msgid "View %s's profile @ %s"
+#: ../../include/widgets.php:286 ../../include/contact_widgets.php:56
+#: ../../include/contact_widgets.php:90
+msgid "Everything"
msgstr ""
-#: ../../include/conversation.php:672
-msgid "Categories:"
+#: ../../include/widgets.php:318 ../../include/items.php:3575
+msgid "Archives"
msgstr ""
-#: ../../include/conversation.php:673
-msgid "Filed under:"
+#: ../../include/widgets.php:370
+msgid "Refresh"
msgstr ""
-#: ../../include/conversation.php:700
-msgid "View in context"
+#: ../../include/widgets.php:371 ../../mod/connedit.php:386
+msgid "Me"
msgstr ""
-#: ../../include/conversation.php:826
-msgid "remove"
+#: ../../include/widgets.php:372 ../../mod/connedit.php:388
+msgid "Best Friends"
msgstr ""
-#: ../../include/conversation.php:830
-msgid "Loading..."
+#: ../../include/widgets.php:374
+msgid "Co-workers"
msgstr ""
-#: ../../include/conversation.php:831
-msgid "Delete Selected Items"
+#: ../../include/widgets.php:375 ../../mod/connedit.php:390
+msgid "Former Friends"
msgstr ""
-#: ../../include/conversation.php:922
-msgid "View Source"
+#: ../../include/widgets.php:376 ../../mod/connedit.php:391
+msgid "Acquaintances"
msgstr ""
-#: ../../include/conversation.php:923
-msgid "Follow Thread"
+#: ../../include/widgets.php:377
+msgid "Everybody"
msgstr ""
-#: ../../include/conversation.php:924
-msgid "View Status"
+#: ../../include/widgets.php:409
+msgid "Account settings"
msgstr ""
-#: ../../include/conversation.php:926
-msgid "View Photos"
+#: ../../include/widgets.php:415
+msgid "Channel settings"
msgstr ""
-#: ../../include/conversation.php:927
-msgid "Matrix Activity"
+#: ../../include/widgets.php:421
+msgid "Additional features"
msgstr ""
-#: ../../include/conversation.php:928
-msgid "Edit Contact"
+#: ../../include/widgets.php:427
+msgid "Feature settings"
msgstr ""
-#: ../../include/conversation.php:929
-msgid "Send PM"
+#: ../../include/widgets.php:433
+msgid "Display settings"
msgstr ""
-#: ../../include/conversation.php:930
-msgid "Poke"
+#: ../../include/widgets.php:439
+msgid "Connected apps"
msgstr ""
-#: ../../include/conversation.php:992
-#, php-format
-msgid "%s likes this."
+#: ../../include/widgets.php:445
+msgid "Export channel"
msgstr ""
-#: ../../include/conversation.php:992
-#, php-format
-msgid "%s doesn't like this."
+#: ../../include/widgets.php:457
+msgid "Automatic Permissions (Advanced)"
msgstr ""
-#: ../../include/conversation.php:996
-#, 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:998
-#, 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/widgets.php:467
+msgid "Premium Channel Settings"
+msgstr ""
-#: ../../include/conversation.php:1004
-msgid "and"
+#: ../../include/widgets.php:504
+msgid "Check Mail"
msgstr ""
-#: ../../include/conversation.php:1007
+#: ../../include/contact_widgets.php:14
#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1008
-#, php-format
-msgid "%s like this."
+#: ../../include/contact_widgets.php:20
+msgid "Find Channels"
msgstr ""
-#: ../../include/conversation.php:1008
-#, php-format
-msgid "%s don't like this."
+#: ../../include/contact_widgets.php:21
+msgid "Enter name or interest"
msgstr ""
-#: ../../include/conversation.php:1058
-msgid "Visible to <strong>everybody</strong>"
+#: ../../include/contact_widgets.php:22
+msgid "Connect/Follow"
msgstr ""
-#: ../../include/conversation.php:1059 ../../mod/message.php:281
-#: ../../mod/message.php:417
-msgid "Please enter a link URL:"
+#: ../../include/contact_widgets.php:23
+msgid "Examples: Robert Morgenstein, Fishing"
msgstr ""
-#: ../../include/conversation.php:1060
-msgid "Please enter a video link/URL:"
+#: ../../include/contact_widgets.php:24 ../../mod/directory.php:206
+#: ../../mod/directory.php:211 ../../mod/connections.php:355
+msgid "Find"
msgstr ""
-#: ../../include/conversation.php:1061
-msgid "Please enter an audio link/URL:"
+#: ../../include/contact_widgets.php:25 ../../mod/suggest.php:59
+msgid "Channel Suggestions"
msgstr ""
-#: ../../include/conversation.php:1062
-msgid "Tag term:"
+#: ../../include/contact_widgets.php:27
+msgid "Random Profile"
msgstr ""
-#: ../../include/conversation.php:1063 ../../mod/filer.php:35
-msgid "Save to Folder:"
+#: ../../include/contact_widgets.php:28
+msgid "Invite Friends"
msgstr ""
-#: ../../include/conversation.php:1064
-msgid "Where are you right now?"
-msgstr ""
+#: ../../include/contact_widgets.php:120
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/conversation.php:1065 ../../mod/message.php:282
-#: ../../mod/message.php:418 ../../mod/editpost.php:52
-msgid "Expires YYYY-MM-DD HH:MM"
+#: ../../include/page_widgets.php:6
+msgid "New Page"
msgstr ""
-#: ../../include/conversation.php:1089 ../../mod/photos.php:1071
-msgid "Share"
+#: ../../include/page_widgets.php:8 ../../include/ItemObject.php:96
+#: ../../mod/thing.php:229 ../../mod/webpages.php:118 ../../mod/menu.php:55
+#: ../../mod/layouts.php:102 ../../mod/filestorage.php:171
+#: ../../mod/settings.php:569 ../../mod/editlayout.php:106
+#: ../../mod/editpost.php:98 ../../mod/blocks.php:93
+#: ../../mod/editwebpage.php:144 ../../mod/editblock.php:120
+msgid "Edit"
msgstr ""
-#: ../../include/conversation.php:1091
-msgid "Page link title"
+#: ../../include/plugin.php:475 ../../include/plugin.php:477
+msgid "Click here to upgrade."
msgstr ""
-#: ../../include/conversation.php:1093 ../../mod/message.php:329
-#: ../../mod/message.php:512 ../../mod/editlayout.php:101
-#: ../../mod/editwebpage.php:120 ../../mod/editpost.php:98
-#: ../../mod/editblock.php:115
-msgid "Upload photo"
+#: ../../include/plugin.php:483
+msgid "This action exceeds the limits set by your subscription plan."
msgstr ""
-#: ../../include/conversation.php:1094
-msgid "upload photo"
+#: ../../include/plugin.php:488
+msgid "This action is not available under your subscription plan."
msgstr ""
-#: ../../include/conversation.php:1095 ../../mod/message.php:330
-#: ../../mod/message.php:513 ../../mod/editlayout.php:102
-#: ../../mod/editwebpage.php:121 ../../mod/editpost.php:99
-#: ../../mod/editblock.php:116
-msgid "Attach file"
+#: ../../include/follow.php:21
+msgid "Channel is blocked on this site."
msgstr ""
-#: ../../include/conversation.php:1096
-msgid "attach file"
+#: ../../include/follow.php:26
+msgid "Channel location missing."
msgstr ""
-#: ../../include/conversation.php:1097 ../../mod/message.php:331
-#: ../../mod/message.php:514 ../../mod/editlayout.php:103
-#: ../../mod/editwebpage.php:122 ../../mod/editpost.php:100
-#: ../../mod/editblock.php:117
-msgid "Insert web link"
+#: ../../include/follow.php:43
+msgid "Channel discovery failed. Website may be down or misconfigured."
msgstr ""
-#: ../../include/conversation.php:1098
-msgid "web link"
+#: ../../include/follow.php:51
+msgid "Response from remote channel was not understood."
msgstr ""
-#: ../../include/conversation.php:1099
-msgid "Insert video link"
+#: ../../include/follow.php:58
+msgid "Response from remote channel was incomplete."
msgstr ""
-#: ../../include/conversation.php:1100
-msgid "video link"
+#: ../../include/follow.php:129
+msgid "local account not found."
msgstr ""
-#: ../../include/conversation.php:1101
-msgid "Insert audio link"
+#: ../../include/follow.php:138
+msgid "Cannot connect to yourself."
msgstr ""
-#: ../../include/conversation.php:1102
-msgid "audio link"
+#: ../../include/permissions.php:13
+msgid "Can view my \"public\" stream and posts"
msgstr ""
-#: ../../include/conversation.php:1103 ../../mod/editlayout.php:107
-#: ../../mod/editwebpage.php:126 ../../mod/editpost.php:104
-#: ../../mod/editblock.php:121
-msgid "Set your location"
+#: ../../include/permissions.php:14
+msgid "Can view my \"public\" channel profile"
msgstr ""
-#: ../../include/conversation.php:1104
-msgid "set location"
+#: ../../include/permissions.php:15
+msgid "Can view my \"public\" photo albums"
msgstr ""
-#: ../../include/conversation.php:1105 ../../mod/editlayout.php:108
-#: ../../mod/editwebpage.php:127 ../../mod/editpost.php:105
-#: ../../mod/editblock.php:122
-msgid "Clear browser location"
+#: ../../include/permissions.php:16
+msgid "Can view my \"public\" address book"
msgstr ""
-#: ../../include/conversation.php:1106
-msgid "clear location"
+#: ../../include/permissions.php:17
+msgid "Can view my \"public\" file storage"
msgstr ""
-#: ../../include/conversation.php:1108 ../../mod/editlayout.php:121
-#: ../../mod/editwebpage.php:142 ../../mod/editpost.php:118
-#: ../../mod/editblock.php:136
-msgid "Set title"
+#: ../../include/permissions.php:18
+msgid "Can view my \"public\" pages"
msgstr ""
-#: ../../include/conversation.php:1111 ../../mod/editlayout.php:123
-#: ../../mod/editwebpage.php:144 ../../mod/editpost.php:120
-#: ../../mod/editblock.php:138
-msgid "Categories (comma-separated list)"
+#: ../../include/permissions.php:21
+msgid "Can send me their channel stream and posts"
msgstr ""
-#: ../../include/conversation.php:1113 ../../mod/editlayout.php:110
-#: ../../mod/editwebpage.php:129 ../../mod/editpost.php:107
-#: ../../mod/editblock.php:124
-msgid "Permission settings"
+#: ../../include/permissions.php:22
+msgid "Can post on my channel page (\"wall\")"
msgstr ""
-#: ../../include/conversation.php:1114
-msgid "permissions"
+#: ../../include/permissions.php:23
+msgid "Can comment on my posts"
msgstr ""
-#: ../../include/conversation.php:1122 ../../mod/editlayout.php:118
-#: ../../mod/editwebpage.php:137 ../../mod/editpost.php:115
-#: ../../mod/editblock.php:133
-msgid "Public post"
+#: ../../include/permissions.php:24
+msgid "Can send me private mail messages"
msgstr ""
-#: ../../include/conversation.php:1124 ../../mod/editlayout.php:124
-#: ../../mod/editwebpage.php:145 ../../mod/editpost.php:121
-#: ../../mod/editblock.php:139
-msgid "Example: bob@example.com, mary@example.com"
+#: ../../include/permissions.php:25
+msgid "Can post photos to my photo albums"
msgstr ""
-#: ../../include/conversation.php:1137 ../../mod/message.php:336
-#: ../../mod/message.php:519 ../../mod/editlayout.php:134
-#: ../../mod/editwebpage.php:155 ../../mod/editpost.php:132
-#: ../../mod/editblock.php:149
-msgid "Set expiration date"
+#: ../../include/permissions.php:26
+msgid "Can forward to all my channel contacts via post @mentions"
msgstr ""
-#: ../../include/conversation.php:1364
-msgid "Commented Order"
+#: ../../include/permissions.php:26
+msgid "Advanced - useful for creating group forum channels"
msgstr ""
-#: ../../include/conversation.php:1367
-msgid "Sort by Comment Date"
+#: ../../include/permissions.php:27
+msgid "Can chat with me (when available)"
msgstr ""
-#: ../../include/conversation.php:1370
-msgid "Posted Order"
+#: ../../include/permissions.php:27
+msgid "Requires compatible chat plugin"
msgstr ""
-#: ../../include/conversation.php:1373
-msgid "Sort by Post Date"
+#: ../../include/permissions.php:28
+msgid "Can write to my \"public\" file storage"
msgstr ""
-#: ../../include/conversation.php:1377 ../../mod/notifications.php:86
-msgid "Personal"
+#: ../../include/permissions.php:29
+msgid "Can edit my \"public\" pages"
msgstr ""
-#: ../../include/conversation.php:1380
-msgid "Posts that mention or involve you"
+#: ../../include/permissions.php:31
+msgid "Can source my \"public\" posts in derived channels"
msgstr ""
-#: ../../include/conversation.php:1383 ../../mod/menu.php:57
-#: ../../mod/connections.php:552
-msgid "New"
+#: ../../include/permissions.php:31
+msgid "Somewhat advanced - very useful in open communities"
msgstr ""
-#: ../../include/conversation.php:1386
-msgid "Activity Stream - by date"
+#: ../../include/permissions.php:32
+msgid "Can administer my channel resources"
msgstr ""
-#: ../../include/conversation.php:1393
-msgid "Starred"
+#: ../../include/permissions.php:32
+msgid "Extremely advanced. Leave this alone unless you know what you are doing"
msgstr ""
-#: ../../include/conversation.php:1396
-msgid "Favourite Posts"
+#: ../../include/comanche.php:35 ../../view/theme/redbasic/php/config.php:62
+#: ../../view/theme/apw/php/config.php:176
+msgid "Default"
msgstr ""
-#: ../../include/conversation.php:1403
-msgid "Spam"
+#: ../../include/items.php:208 ../../mod/like.php:55 ../../mod/group.php:68
+#: ../../mod/profperm.php:23 ../../index.php:347
+msgid "Permission denied"
msgstr ""
-#: ../../include/conversation.php:1406
-msgid "Posts flagged as SPAM"
+#: ../../include/items.php:3392 ../../mod/thing.php:74 ../../mod/admin.php:150
+#: ../../mod/admin.php:732 ../../mod/admin.php:935 ../../mod/viewsrc.php:18
+#: ../../mod/home.php:63 ../../mod/filestorage.php:18 ../../mod/display.php:32
+msgid "Item not found."
msgstr ""
-#: ../../include/conversation.php:1436
-msgid "Channel"
+#: ../../include/items.php:3743 ../../mod/group.php:38 ../../mod/group.php:140
+msgid "Collection not found."
msgstr ""
-#: ../../include/conversation.php:1439
-msgid "Status Messages and Posts"
+#: ../../include/items.php:3758
+msgid "Collection is empty."
msgstr ""
-#: ../../include/conversation.php:1443
-msgid "About"
+#: ../../include/items.php:3765
+#, php-format
+msgid "Collection: %s"
msgstr ""
-#: ../../include/conversation.php:1446
-msgid "Profile Details"
+#: ../../include/items.php:3776
+#, php-format
+msgid "Connection: %s"
msgstr ""
-#: ../../include/conversation.php:1464
-msgid "Events and Calendar"
+#: ../../include/items.php:3779
+msgid "Connection not found."
msgstr ""
-#: ../../include/conversation.php:1469
-msgid "Webpages"
+#: ../../include/ItemObject.php:89 ../../mod/photos.php:841
+msgid "Private Message"
msgstr ""
-#: ../../include/conversation.php:1472
-msgid "Manage Webpages"
+#: ../../include/ItemObject.php:108 ../../include/conversation.php:632
+#: ../../mod/thing.php:230 ../../mod/connedit.php:356 ../../mod/admin.php:695
+#: ../../mod/group.php:176 ../../mod/photos.php:1019
+#: ../../mod/filestorage.php:172 ../../mod/settings.php:570
+msgid "Delete"
msgstr ""
-#: ../../include/auth.php:69
-msgid "Logged out."
+#: ../../include/ItemObject.php:114 ../../include/conversation.php:631
+msgid "Select"
msgstr ""
-#: ../../include/auth.php:181
-msgid "Failed authentication"
+#: ../../include/ItemObject.php:118
+msgid "save to folder"
msgstr ""
-#: ../../include/auth.php:190
-msgid "Login failed."
+#: ../../include/ItemObject.php:146
+msgid "add star"
msgstr ""
-#: ../../include/contact_widgets.php:14
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
+#: ../../include/ItemObject.php:147
+msgid "remove star"
msgstr ""
-#: ../../include/contact_widgets.php:20
-msgid "Add New Connection"
+#: ../../include/ItemObject.php:148
+msgid "toggle star status"
msgstr ""
-#: ../../include/contact_widgets.php:21
-msgid "Enter the channel address"
+#: ../../include/ItemObject.php:152
+msgid "starred"
msgstr ""
-#: ../../include/contact_widgets.php:22
-msgid "Example: bob@example.com, http://example.com/barbara"
+#: ../../include/ItemObject.php:161 ../../include/conversation.php:642
+msgid "Message is verified"
msgstr ""
-#: ../../include/contact_widgets.php:38
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/contact_widgets.php:44
-msgid "Find Channels"
+#: ../../include/ItemObject.php:169
+msgid "add tag"
msgstr ""
-#: ../../include/contact_widgets.php:45
-msgid "Enter name or interest"
+#: ../../include/ItemObject.php:175 ../../mod/photos.php:947
+msgid "I like this (toggle)"
msgstr ""
-#: ../../include/contact_widgets.php:46
-msgid "Connect/Follow"
+#: ../../include/ItemObject.php:176 ../../mod/photos.php:948
+msgid "I don't like this (toggle)"
msgstr ""
-#: ../../include/contact_widgets.php:47
-msgid "Examples: Robert Morgenstein, Fishing"
+#: ../../include/ItemObject.php:178
+msgid "Share this"
msgstr ""
-#: ../../include/contact_widgets.php:48 ../../mod/connections.php:696
-#: ../../mod/directory.php:221 ../../mod/directory.php:226
-msgid "Find"
+#: ../../include/ItemObject.php:178
+msgid "share"
msgstr ""
-#: ../../include/contact_widgets.php:49 ../../mod/suggest.php:64
-msgid "Channel Suggestions"
+#: ../../include/ItemObject.php:202 ../../include/ItemObject.php:203
+#, php-format
+msgid "View %s's profile - %s"
msgstr ""
-#: ../../include/contact_widgets.php:51
-msgid "Random Profile"
+#: ../../include/ItemObject.php:204
+msgid "to"
msgstr ""
-#: ../../include/contact_widgets.php:52
-msgid "Invite Friends"
+#: ../../include/ItemObject.php:205
+msgid "via"
msgstr ""
-#: ../../include/contact_widgets.php:79 ../../include/contact_widgets.php:113
-msgid "Everything"
+#: ../../include/ItemObject.php:206
+msgid "Wall-to-Wall"
msgstr ""
-#: ../../include/contact_widgets.php:110 ../../include/widgets.php:26
-msgid "Categories"
+#: ../../include/ItemObject.php:207
+msgid "via Wall-To-Wall:"
msgstr ""
-#: ../../include/contact_widgets.php:143
+#: ../../include/ItemObject.php:217 ../../include/conversation.php:686
#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr ""
-
-#: ../../include/text.php:315
-msgid "prev"
-msgstr ""
-
-#: ../../include/text.php:317
-msgid "first"
-msgstr ""
-
-#: ../../include/text.php:346
-msgid "last"
-msgstr ""
-
-#: ../../include/text.php:349
-msgid "next"
+msgid " from %s"
msgstr ""
-#: ../../include/text.php:361
-msgid "older"
+#: ../../include/ItemObject.php:220 ../../include/conversation.php:689
+#, php-format
+msgid "last edited: %s"
msgstr ""
-#: ../../include/text.php:363
-msgid "newer"
+#: ../../include/ItemObject.php:221
+#, php-format
+msgid "Expires: %s"
msgstr ""
-#: ../../include/text.php:654
-msgid "No connections"
+#: ../../include/ItemObject.php:248 ../../include/conversation.php:706
+#: ../../include/conversation.php:1119 ../../mod/photos.php:950
+#: ../../mod/mail.php:222 ../../mod/mail.php:336 ../../mod/editlayout.php:115
+#: ../../mod/editpost.php:107 ../../mod/editwebpage.php:153
+#: ../../mod/editblock.php:129
+msgid "Please wait"
msgstr ""
-#: ../../include/text.php:665
+#: ../../include/ItemObject.php:269
#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
+msgid "%d comment"
+msgid_plural "%d comments"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/text.php:677
-msgid "View Connections"
+#: ../../include/ItemObject.php:534 ../../mod/photos.php:966
+#: ../../mod/photos.php:1053
+msgid "This is you"
msgstr ""
-#: ../../include/text.php:738 ../../mod/filer.php:36
-msgid "Save"
+#: ../../include/ItemObject.php:537 ../../mod/events.php:469
+#: ../../mod/thing.php:276 ../../mod/thing.php:318 ../../mod/invite.php:156
+#: ../../mod/connedit.php:434 ../../mod/setup.php:304 ../../mod/setup.php:347
+#: ../../mod/connect.php:92 ../../mod/sources.php:97 ../../mod/sources.php:131
+#: ../../mod/admin.php:420 ../../mod/admin.php:688 ../../mod/admin.php:828
+#: ../../mod/admin.php:1027 ../../mod/admin.php:1114 ../../mod/group.php:81
+#: ../../mod/photos.php:562 ../../mod/photos.php:667 ../../mod/photos.php:929
+#: ../../mod/photos.php:969 ../../mod/photos.php:1056
+#: ../../mod/profiles.php:506 ../../mod/filestorage.php:132
+#: ../../mod/import.php:387 ../../mod/settings.php:507
+#: ../../mod/settings.php:619 ../../mod/settings.php:647
+#: ../../mod/settings.php:671 ../../mod/settings.php:742
+#: ../../mod/settings.php:903 ../../mod/mail.php:223 ../../mod/mail.php:335
+#: ../../mod/poke.php:166 ../../mod/fsuggest.php:108 ../../mod/mood.php:142
+#: ../../view/theme/redbasic/php/config.php:85
+#: ../../view/theme/apw/php/config.php:231
+#: ../../view/theme/blogga/view/theme/blog/config.php:67
+#: ../../view/theme/blogga/php/config.php:67
+msgid "Submit"
msgstr ""
-#: ../../include/text.php:776
-msgid "poke"
+#: ../../include/ItemObject.php:538
+msgid "Bold"
msgstr ""
-#: ../../include/text.php:777
-msgid "ping"
+#: ../../include/ItemObject.php:539
+msgid "Italic"
msgstr ""
-#: ../../include/text.php:777
-msgid "pinged"
+#: ../../include/ItemObject.php:540
+msgid "Underline"
msgstr ""
-#: ../../include/text.php:778
-msgid "prod"
+#: ../../include/ItemObject.php:541
+msgid "Quote"
msgstr ""
-#: ../../include/text.php:778
-msgid "prodded"
+#: ../../include/ItemObject.php:542
+msgid "Code"
msgstr ""
-#: ../../include/text.php:779
-msgid "slap"
+#: ../../include/ItemObject.php:543
+msgid "Image"
msgstr ""
-#: ../../include/text.php:779
-msgid "slapped"
+#: ../../include/ItemObject.php:544
+msgid "Link"
msgstr ""
-#: ../../include/text.php:780
-msgid "finger"
+#: ../../include/ItemObject.php:545
+msgid "Video"
msgstr ""
-#: ../../include/text.php:780
-msgid "fingered"
+#: ../../include/ItemObject.php:546 ../../include/conversation.php:1082
+#: ../../mod/webpages.php:122 ../../mod/photos.php:970
+#: ../../mod/editlayout.php:136 ../../mod/editpost.php:127
+#: ../../mod/editwebpage.php:177 ../../mod/editblock.php:151
+msgid "Preview"
msgstr ""
-#: ../../include/text.php:781
-msgid "rebuff"
+#: ../../include/ItemObject.php:549 ../../include/conversation.php:1146
+#: ../../mod/mail.php:228 ../../mod/mail.php:341 ../../mod/editpost.php:135
+msgid "Encrypt text"
msgstr ""
-#: ../../include/text.php:781
-msgid "rebuffed"
+#: ../../include/security.php:49
+msgid "Welcome "
msgstr ""
-#: ../../include/text.php:793
-msgid "happy"
+#: ../../include/security.php:50
+msgid "Please upload a profile photo."
msgstr ""
-#: ../../include/text.php:794
-msgid "sad"
+#: ../../include/security.php:53
+msgid "Welcome back "
msgstr ""
-#: ../../include/text.php:795
-msgid "mellow"
+#: ../../include/security.php:363
+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 ""
-#: ../../include/text.php:796
-msgid "tired"
+#: ../../include/conversation.php:123
+msgid "channel"
msgstr ""
-#: ../../include/text.php:797
-msgid "perky"
+#: ../../include/conversation.php:161 ../../mod/like.php:134
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
msgstr ""
-#: ../../include/text.php:798
-msgid "angry"
+#: ../../include/conversation.php:164 ../../mod/like.php:136
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
msgstr ""
-#: ../../include/text.php:799
-msgid "stupified"
+#: ../../include/conversation.php:201
+#, php-format
+msgid "%1$s is now connected with %2$s"
msgstr ""
-#: ../../include/text.php:800
-msgid "puzzled"
+#: ../../include/conversation.php:236
+#, php-format
+msgid "%1$s poked %2$s"
msgstr ""
-#: ../../include/text.php:801
-msgid "interested"
+#: ../../include/conversation.php:258 ../../mod/mood.php:63
+#, php-format
+msgid "%1$s is currently %2$s"
msgstr ""
-#: ../../include/text.php:802
-msgid "bitter"
+#: ../../include/conversation.php:662
+#, php-format
+msgid "View %s's profile @ %s"
msgstr ""
-#: ../../include/text.php:803
-msgid "cheerful"
+#: ../../include/conversation.php:676
+msgid "Categories:"
msgstr ""
-#: ../../include/text.php:804
-msgid "alive"
+#: ../../include/conversation.php:677
+msgid "Filed under:"
msgstr ""
-#: ../../include/text.php:805
-msgid "annoyed"
+#: ../../include/conversation.php:704
+msgid "View in context"
msgstr ""
-#: ../../include/text.php:806
-msgid "anxious"
+#: ../../include/conversation.php:833
+msgid "remove"
msgstr ""
-#: ../../include/text.php:807
-msgid "cranky"
+#: ../../include/conversation.php:837
+msgid "Loading..."
msgstr ""
-#: ../../include/text.php:808
-msgid "disturbed"
+#: ../../include/conversation.php:838
+msgid "Delete Selected Items"
msgstr ""
-#: ../../include/text.php:809
-msgid "frustrated"
+#: ../../include/conversation.php:929
+msgid "View Source"
msgstr ""
-#: ../../include/text.php:810
-msgid "motivated"
+#: ../../include/conversation.php:930
+msgid "Follow Thread"
msgstr ""
-#: ../../include/text.php:811
-msgid "relaxed"
+#: ../../include/conversation.php:931
+msgid "View Status"
msgstr ""
-#: ../../include/text.php:812
-msgid "surprised"
+#: ../../include/conversation.php:933
+msgid "View Photos"
msgstr ""
-#: ../../include/text.php:976
-msgid "Monday"
+#: ../../include/conversation.php:934
+msgid "Matrix Activity"
msgstr ""
-#: ../../include/text.php:976
-msgid "Tuesday"
+#: ../../include/conversation.php:935
+msgid "Edit Contact"
msgstr ""
-#: ../../include/text.php:976
-msgid "Wednesday"
+#: ../../include/conversation.php:936
+msgid "Send PM"
msgstr ""
-#: ../../include/text.php:976
-msgid "Thursday"
+#: ../../include/conversation.php:937
+msgid "Poke"
msgstr ""
-#: ../../include/text.php:976
-msgid "Friday"
+#: ../../include/conversation.php:999
+#, php-format
+msgid "%s likes this."
msgstr ""
-#: ../../include/text.php:976
-msgid "Saturday"
+#: ../../include/conversation.php:999
+#, php-format
+msgid "%s doesn't like this."
msgstr ""
-#: ../../include/text.php:976
-msgid "Sunday"
-msgstr ""
+#: ../../include/conversation.php:1003
+#, 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/text.php:980
-msgid "January"
-msgstr ""
+#: ../../include/conversation.php:1005
+#, 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/text.php:980
-msgid "February"
+#: ../../include/conversation.php:1011
+msgid "and"
msgstr ""
-#: ../../include/text.php:980
-msgid "March"
+#: ../../include/conversation.php:1014
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1015
+#, php-format
+msgid "%s like this."
msgstr ""
-#: ../../include/text.php:980
-msgid "April"
+#: ../../include/conversation.php:1015
+#, php-format
+msgid "%s don't like this."
msgstr ""
-#: ../../include/text.php:980
-msgid "May"
+#: ../../include/conversation.php:1065
+msgid "Visible to <strong>everybody</strong>"
msgstr ""
-#: ../../include/text.php:980
-msgid "June"
+#: ../../include/conversation.php:1066 ../../mod/mail.php:171
+#: ../../mod/mail.php:269
+msgid "Please enter a link URL:"
msgstr ""
-#: ../../include/text.php:980
-msgid "July"
+#: ../../include/conversation.php:1067
+msgid "Please enter a video link/URL:"
msgstr ""
-#: ../../include/text.php:980
-msgid "August"
+#: ../../include/conversation.php:1068
+msgid "Please enter an audio link/URL:"
msgstr ""
-#: ../../include/text.php:980
-msgid "September"
+#: ../../include/conversation.php:1069
+msgid "Tag term:"
msgstr ""
-#: ../../include/text.php:980
-msgid "October"
+#: ../../include/conversation.php:1070 ../../mod/filer.php:35
+msgid "Save to Folder:"
msgstr ""
-#: ../../include/text.php:980
-msgid "November"
+#: ../../include/conversation.php:1071
+msgid "Where are you right now?"
msgstr ""
-#: ../../include/text.php:980
-msgid "December"
+#: ../../include/conversation.php:1072 ../../mod/mail.php:172
+#: ../../mod/mail.php:270 ../../mod/editpost.php:52
+msgid "Expires YYYY-MM-DD HH:MM"
msgstr ""
-#: ../../include/text.php:1058 ../../mod/message.php:453
-msgid "unknown.???"
+#: ../../include/conversation.php:1096 ../../mod/photos.php:949
+msgid "Share"
msgstr ""
-#: ../../include/text.php:1059 ../../mod/message.php:454
-msgid "bytes"
+#: ../../include/conversation.php:1098 ../../mod/editwebpage.php:140
+msgid "Page link title"
msgstr ""
-#: ../../include/text.php:1094
-msgid "remove category"
+#: ../../include/conversation.php:1100 ../../mod/mail.php:219
+#: ../../mod/mail.php:332 ../../mod/editlayout.php:107
+#: ../../mod/editpost.php:99 ../../mod/editwebpage.php:145
+#: ../../mod/editblock.php:121
+msgid "Upload photo"
msgstr ""
-#: ../../include/text.php:1116
-msgid "remove from file"
+#: ../../include/conversation.php:1101
+msgid "upload photo"
msgstr ""
-#: ../../include/text.php:1170 ../../include/text.php:1182
-msgid "Click to open/close"
+#: ../../include/conversation.php:1102 ../../mod/mail.php:220
+#: ../../mod/mail.php:333 ../../mod/editlayout.php:108
+#: ../../mod/editpost.php:100 ../../mod/editwebpage.php:146
+#: ../../mod/editblock.php:122
+msgid "Attach file"
msgstr ""
-#: ../../include/text.php:1358 ../../mod/events.php:331
-msgid "link to source"
+#: ../../include/conversation.php:1103
+msgid "attach file"
msgstr ""
-#: ../../include/text.php:1377
-msgid "Select a page layout: "
+#: ../../include/conversation.php:1104 ../../mod/mail.php:221
+#: ../../mod/mail.php:334 ../../mod/editlayout.php:109
+#: ../../mod/editpost.php:101 ../../mod/editwebpage.php:147
+#: ../../mod/editblock.php:123
+msgid "Insert web link"
msgstr ""
-#: ../../include/text.php:1380 ../../include/text.php:1445
-msgid "default"
+#: ../../include/conversation.php:1105
+msgid "web link"
msgstr ""
-#: ../../include/text.php:1416
-msgid "Page content type: "
+#: ../../include/conversation.php:1106
+msgid "Insert video link"
msgstr ""
-#: ../../include/text.php:1457
-msgid "Select an alternate language"
+#: ../../include/conversation.php:1107
+msgid "video link"
msgstr ""
-#: ../../include/text.php:1622
-msgid "activity"
+#: ../../include/conversation.php:1108
+msgid "Insert audio link"
msgstr ""
-#: ../../include/text.php:1884
-msgid "Design"
+#: ../../include/conversation.php:1109
+msgid "audio link"
msgstr ""
-#: ../../include/text.php:1886
-msgid "Blocks"
+#: ../../include/conversation.php:1110 ../../mod/editlayout.php:113
+#: ../../mod/editpost.php:105 ../../mod/editwebpage.php:151
+#: ../../mod/editblock.php:127
+msgid "Set your location"
msgstr ""
-#: ../../include/text.php:1887
-msgid "Menus"
+#: ../../include/conversation.php:1111
+msgid "set location"
msgstr ""
-#: ../../include/text.php:1888
-msgid "Layouts"
+#: ../../include/conversation.php:1112 ../../mod/editlayout.php:114
+#: ../../mod/editpost.php:106 ../../mod/editwebpage.php:152
+#: ../../mod/editblock.php:128
+msgid "Clear browser location"
msgstr ""
-#: ../../include/text.php:1889
-msgid "Pages"
+#: ../../include/conversation.php:1113
+msgid "clear location"
msgstr ""
-#: ../../include/follow.php:21
-msgid "Channel is blocked on this site."
+#: ../../include/conversation.php:1115 ../../mod/editlayout.php:127
+#: ../../mod/editpost.php:119 ../../mod/editwebpage.php:169
+#: ../../mod/editblock.php:142
+msgid "Set title"
msgstr ""
-#: ../../include/follow.php:26
-msgid "Channel location missing."
+#: ../../include/conversation.php:1118 ../../mod/editlayout.php:130
+#: ../../mod/editpost.php:121 ../../mod/editwebpage.php:171
+#: ../../mod/editblock.php:145
+msgid "Categories (comma-separated list)"
msgstr ""
-#: ../../include/follow.php:43
-msgid "Channel discovery failed. Website may be down or misconfigured."
+#: ../../include/conversation.php:1120 ../../mod/editlayout.php:116
+#: ../../mod/editpost.php:108 ../../mod/editwebpage.php:154
+#: ../../mod/editblock.php:130
+msgid "Permission settings"
msgstr ""
-#: ../../include/follow.php:51
-msgid "Response from remote channel was not understood."
+#: ../../include/conversation.php:1121
+msgid "permissions"
msgstr ""
-#: ../../include/follow.php:58
-msgid "Response from remote channel was incomplete."
+#: ../../include/conversation.php:1129 ../../mod/editlayout.php:124
+#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:164
+#: ../../mod/editblock.php:139
+msgid "Public post"
msgstr ""
-#: ../../include/follow.php:129
-msgid "local account not found."
+#: ../../include/conversation.php:1131 ../../mod/editlayout.php:131
+#: ../../mod/editpost.php:122 ../../mod/editwebpage.php:172
+#: ../../mod/editblock.php:146
+msgid "Example: bob@example.com, mary@example.com"
msgstr ""
-#: ../../include/follow.php:138
-msgid "Cannot connect to yourself."
+#: ../../include/conversation.php:1144 ../../mod/mail.php:226
+#: ../../mod/mail.php:339 ../../mod/editlayout.php:141
+#: ../../mod/editpost.php:133 ../../mod/editwebpage.php:182
+#: ../../mod/editblock.php:156
+msgid "Set expiration date"
msgstr ""
-#: ../../include/permissions.php:13
-msgid "Can view my \"public\" stream and posts"
+#: ../../include/conversation.php:1148 ../../mod/editpost.php:136
+msgid "OK"
msgstr ""
-#: ../../include/permissions.php:14
-msgid "Can view my \"public\" channel profile"
+#: ../../include/conversation.php:1149 ../../mod/tagrm.php:11
+#: ../../mod/tagrm.php:94 ../../mod/settings.php:508
+#: ../../mod/settings.php:534 ../../mod/editpost.php:137
+#: ../../mod/fbrowser.php:82 ../../mod/fbrowser.php:117
+msgid "Cancel"
msgstr ""
-#: ../../include/permissions.php:15
-msgid "Can view my \"public\" photo albums"
+#: ../../include/conversation.php:1380
+msgid "Commented Order"
msgstr ""
-#: ../../include/permissions.php:16
-msgid "Can view my \"public\" address book"
+#: ../../include/conversation.php:1383
+msgid "Sort by Comment Date"
msgstr ""
-#: ../../include/permissions.php:17
-msgid "Can view my \"public\" file storage"
+#: ../../include/conversation.php:1386
+msgid "Posted Order"
msgstr ""
-#: ../../include/permissions.php:18
-msgid "Can view my \"public\" pages"
+#: ../../include/conversation.php:1389
+msgid "Sort by Post Date"
msgstr ""
-#: ../../include/permissions.php:21
-msgid "Can send me their channel stream and posts"
+#: ../../include/conversation.php:1393
+msgid "Personal"
msgstr ""
-#: ../../include/permissions.php:22
-msgid "Can post on my channel page (\"wall\")"
+#: ../../include/conversation.php:1396
+msgid "Posts that mention or involve you"
msgstr ""
-#: ../../include/permissions.php:23
-msgid "Can comment on my posts"
+#: ../../include/conversation.php:1399 ../../mod/menu.php:57
+#: ../../mod/connections.php:209
+msgid "New"
msgstr ""
-#: ../../include/permissions.php:24
-msgid "Can send me private mail messages"
+#: ../../include/conversation.php:1402
+msgid "Activity Stream - by date"
msgstr ""
-#: ../../include/permissions.php:25
-msgid "Can post photos to my photo albums"
+#: ../../include/conversation.php:1409
+msgid "Starred"
msgstr ""
-#: ../../include/permissions.php:26
-msgid "Can forward to all my channel contacts via post @mentions"
+#: ../../include/conversation.php:1412
+msgid "Favourite Posts"
msgstr ""
-#: ../../include/permissions.php:26
-msgid "Advanced - useful for creating group forum channels"
+#: ../../include/conversation.php:1419
+msgid "Spam"
msgstr ""
-#: ../../include/permissions.php:27
-msgid "Can chat with me (when available)"
+#: ../../include/conversation.php:1422
+msgid "Posts flagged as SPAM"
msgstr ""
-#: ../../include/permissions.php:27
-msgid "Requires compatible chat plugin"
+#: ../../include/conversation.php:1453
+msgid "Channel"
msgstr ""
-#: ../../include/permissions.php:28
-msgid "Can write to my \"public\" file storage"
+#: ../../include/conversation.php:1456
+msgid "Status Messages and Posts"
msgstr ""
-#: ../../include/permissions.php:29
-msgid "Can edit my \"public\" pages"
+#: ../../include/conversation.php:1465
+msgid "About"
msgstr ""
-#: ../../include/permissions.php:31
-msgid "Can source my \"public\" posts in derived channels"
+#: ../../include/conversation.php:1468
+msgid "Profile Details"
msgstr ""
-#: ../../include/permissions.php:31
-msgid "Somewhat advanced - very useful in open communities"
+#: ../../include/conversation.php:1483 ../../mod/fbrowser.php:114
+msgid "Files"
msgstr ""
-#: ../../include/permissions.php:32
-msgid "Can administer my channel resources"
+#: ../../include/conversation.php:1486
+msgid "Files and Storage"
msgstr ""
-#: ../../include/permissions.php:32
-msgid "Extremely advanced. Leave this alone unless you know what you are doing"
+#: ../../include/conversation.php:1495
+msgid "Events and Calendar"
msgstr ""
-#: ../../include/taxonomy.php:210
-msgid "Tags"
+#: ../../include/conversation.php:1502
+msgid "Webpages"
msgstr ""
-#: ../../include/taxonomy.php:224
-msgid "Keywords"
+#: ../../include/conversation.php:1505
+msgid "Manage Webpages"
msgstr ""
-#: ../../include/taxonomy.php:249
-msgid "have"
+#: ../../include/zot.php:545
+msgid "Invalid data packet"
msgstr ""
-#: ../../include/taxonomy.php:249
-msgid "has"
+#: ../../include/zot.php:555
+msgid "Unable to verify channel signature"
msgstr ""
-#: ../../include/taxonomy.php:250
-msgid "want"
+#: ../../include/zot.php:732
+#, php-format
+msgid "Unable to verify site signature for %s"
msgstr ""
-#: ../../include/taxonomy.php:250
-msgid "wants"
+#: ../../mod/common.php:10
+msgid "No channel."
msgstr ""
-#: ../../include/taxonomy.php:251
-msgid "likes"
+#: ../../mod/common.php:39
+msgid "Common connections"
msgstr ""
-#: ../../include/taxonomy.php:252
-msgid "dislikes"
+#: ../../mod/common.php:44
+msgid "No connections in common."
msgstr ""
-#: ../../include/plugin.php:475 ../../include/plugin.php:477
-msgid "Click here to upgrade."
+#: ../../mod/events.php:72
+msgid "Event title and start time are required."
msgstr ""
-#: ../../include/plugin.php:483
-msgid "This action exceeds the limits set by your subscription plan."
+#: ../../mod/events.php:287
+msgid "l, F j"
msgstr ""
-#: ../../include/plugin.php:488
-msgid "This action is not available under your subscription plan."
+#: ../../mod/events.php:309
+msgid "Edit event"
msgstr ""
-#: ../../include/comanche.php:35 ../../view/theme/redbasic/php/config.php:62
-#: ../../view/theme/apw/php/config.php:176
-msgid "Default"
+#: ../../mod/events.php:355
+msgid "Create New Event"
msgstr ""
-#: ../../include/identity.php:29 ../../mod/item.php:1148
-msgid "Unable to obtain identity information from database"
+#: ../../mod/events.php:356
+msgid "Previous"
msgstr ""
-#: ../../include/identity.php:62
-msgid "Empty name"
+#: ../../mod/events.php:357 ../../mod/setup.php:258
+msgid "Next"
msgstr ""
-#: ../../include/identity.php:64
-msgid "Name too long"
+#: ../../mod/events.php:428
+msgid "hour:minute"
msgstr ""
-#: ../../include/identity.php:132
-msgid "No account identifier"
+#: ../../mod/events.php:447
+msgid "Event details"
msgstr ""
-#: ../../include/identity.php:142
-msgid "Nickname is required."
+#: ../../mod/events.php:448
+#, php-format
+msgid "Format is %s %s. Starting date and Title are required."
msgstr ""
-#: ../../include/identity.php:156
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
+#: ../../mod/events.php:450
+msgid "Event Starts:"
msgstr ""
-#: ../../include/identity.php:215
-msgid "Unable to retrieve created identity"
+#: ../../mod/events.php:450 ../../mod/events.php:464
+msgid "Required"
msgstr ""
-#: ../../include/identity.php:273
-msgid "Default Profile"
+#: ../../mod/events.php:453
+msgid "Finish date/time is not known or not relevant"
msgstr ""
-#: ../../include/identity.php:465
-msgid "Requested channel is not available."
+#: ../../mod/events.php:455
+msgid "Event Finishes:"
msgstr ""
-#: ../../include/identity.php:477
-msgid " Sorry, you don't have the permission to view this profile. "
+#: ../../mod/events.php:458
+msgid "Adjust for viewer timezone"
msgstr ""
-#: ../../include/identity.php:512 ../../mod/webpages.php:8
-#: ../../mod/connect.php:13 ../../mod/layouts.php:8
-#: ../../mod/filestorage.php:8 ../../mod/blocks.php:10
-#: ../../mod/profile.php:16
-msgid "Requested profile is not available."
+#: ../../mod/events.php:460
+msgid "Description:"
msgstr ""
-#: ../../include/identity.php:627 ../../mod/profiles.php:624
-msgid "Change profile photo"
+#: ../../mod/events.php:464
+msgid "Title:"
msgstr ""
-#: ../../include/identity.php:633
-msgid "Profiles"
+#: ../../mod/events.php:466
+msgid "Share this event"
msgstr ""
-#: ../../include/identity.php:633
-msgid "Manage/edit profiles"
+#: ../../mod/thing.php:94
+msgid "Thing updated"
msgstr ""
-#: ../../include/identity.php:634 ../../mod/profiles.php:625
-msgid "Create New Profile"
+#: ../../mod/thing.php:153
+msgid "Object store: failed"
msgstr ""
-#: ../../include/identity.php:637
-msgid "Edit Profile"
+#: ../../mod/thing.php:157
+msgid "Thing added"
msgstr ""
-#: ../../include/identity.php:648 ../../mod/profiles.php:636
-msgid "Profile Image"
+#: ../../mod/thing.php:175
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
msgstr ""
-#: ../../include/identity.php:651 ../../mod/profiles.php:639
-msgid "visible to everybody"
+#: ../../mod/thing.php:228
+msgid "Show Thing"
msgstr ""
-#: ../../include/identity.php:652 ../../mod/profiles.php:640
-msgid "Edit visibility"
+#: ../../mod/thing.php:235
+msgid "item not found."
msgstr ""
-#: ../../include/identity.php:665 ../../include/identity.php:883
-#: ../../mod/directory.php:175
-msgid "Gender:"
+#: ../../mod/thing.php:263
+msgid "Edit Thing"
msgstr ""
-#: ../../include/identity.php:666 ../../include/identity.php:903
-#: ../../mod/directory.php:177
-msgid "Status:"
+#: ../../mod/thing.php:265 ../../mod/thing.php:311
+msgid "Select a profile"
msgstr ""
-#: ../../include/identity.php:667 ../../include/identity.php:914
-#: ../../mod/directory.php:179
-msgid "Homepage:"
+#: ../../mod/thing.php:267 ../../mod/thing.php:313
+msgid "Select a category of stuff. e.g. I ______ something"
msgstr ""
-#: ../../include/identity.php:730 ../../include/identity.php:810
-#: ../../mod/ping.php:230
-msgid "g A l F d"
+#: ../../mod/thing.php:270 ../../mod/thing.php:315
+msgid "Name of thing e.g. something"
msgstr ""
-#: ../../include/identity.php:731 ../../include/identity.php:811
-msgid "F d"
+#: ../../mod/thing.php:272 ../../mod/thing.php:316
+msgid "URL of thing (optional)"
msgstr ""
-#: ../../include/identity.php:776 ../../include/identity.php:851
-#: ../../mod/ping.php:252
-msgid "[today]"
+#: ../../mod/thing.php:274 ../../mod/thing.php:317
+msgid "URL for photo of thing (optional)"
msgstr ""
-#: ../../include/identity.php:788
-msgid "Birthday Reminders"
+#: ../../mod/thing.php:309
+msgid "Add Thing to your Profile"
msgstr ""
-#: ../../include/identity.php:789
-msgid "Birthdays this week:"
+#: ../../mod/invite.php:25
+msgid "Total invitation limit exceeded."
msgstr ""
-#: ../../include/identity.php:844
-msgid "[No description]"
+#: ../../mod/invite.php:49
+#, php-format
+msgid "%s : Not a valid email address."
msgstr ""
-#: ../../include/identity.php:862
-msgid "Event Reminders"
+#: ../../mod/invite.php:76
+msgid "Please join us on Red"
msgstr ""
-#: ../../include/identity.php:863
-msgid "Events this week:"
+#: ../../mod/invite.php:87
+msgid "Invitation limit exceeded. Please contact your site administrator."
msgstr ""
-#: ../../include/identity.php:873 ../../include/identity.php:984
-#: ../../mod/profperm.php:112
-msgid "Profile"
+#: ../../mod/invite.php:92
+#, php-format
+msgid "%s : Message delivery failed."
msgstr ""
-#: ../../include/identity.php:881 ../../mod/settings.php:1013
-msgid "Full Name:"
+#: ../../mod/invite.php:96
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../mod/invite.php:115
+msgid "You have no more invitations available"
msgstr ""
-#: ../../include/identity.php:888
-msgid "j F, Y"
+#: ../../mod/invite.php:141
+msgid "Send invitations"
msgstr ""
-#: ../../include/identity.php:889
-msgid "j F"
+#: ../../mod/invite.php:142
+msgid "Enter email addresses, one per line:"
msgstr ""
-#: ../../include/identity.php:896
-msgid "Birthday:"
+#: ../../mod/invite.php:143 ../../mod/mail.php:216 ../../mod/mail.php:328
+msgid "Your message:"
msgstr ""
-#: ../../include/identity.php:900
-msgid "Age:"
+#: ../../mod/invite.php:144
+msgid ""
+"You are cordially invited to join me and some other close friends on the Red "
+"Matrix - a revolutionary new decentralised communication and information "
+"tool."
msgstr ""
-#: ../../include/identity.php:909
-#, php-format
-msgid "for %1$d %2$s"
+#: ../../mod/invite.php:146
+msgid "You will need to supply this invitation code: $invite_code"
msgstr ""
-#: ../../include/identity.php:912 ../../mod/profiles.php:549
-msgid "Sexual Preference:"
+#: ../../mod/invite.php:147
+msgid "Please visit my channel at"
msgstr ""
-#: ../../include/identity.php:916 ../../mod/profiles.php:551
-msgid "Hometown:"
+#: ../../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:"
msgstr ""
-#: ../../include/identity.php:918
-msgid "Tags:"
+#: ../../mod/invite.php:153
+msgid "Click the [Register] link on the following page to join."
msgstr ""
-#: ../../include/identity.php:920 ../../mod/profiles.php:552
-msgid "Political Views:"
+#: ../../mod/invite.php:155
+msgid ""
+"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"
msgstr ""
-#: ../../include/identity.php:922
-msgid "Religion:"
+#: ../../mod/cloud.php:88
+msgid "Red Matrix - Guests: Username: {your email address}, Password: +++"
msgstr ""
-#: ../../include/identity.php:924 ../../mod/directory.php:181
-msgid "About:"
+#: ../../mod/connedit.php:49 ../../mod/connections.php:37
+msgid "Could not access contact record."
msgstr ""
-#: ../../include/identity.php:926
-msgid "Hobbies/Interests:"
+#: ../../mod/connedit.php:63 ../../mod/connections.php:51
+msgid "Could not locate selected profile."
msgstr ""
-#: ../../include/identity.php:928 ../../mod/profiles.php:555
-msgid "Likes:"
+#: ../../mod/connedit.php:104 ../../mod/connections.php:92
+msgid "Connection updated."
msgstr ""
-#: ../../include/identity.php:930 ../../mod/profiles.php:556
-msgid "Dislikes:"
+#: ../../mod/connedit.php:106 ../../mod/connections.php:94
+msgid "Failed to update connection record."
msgstr ""
-#: ../../include/identity.php:933
-msgid "Contact information and Social Networks:"
+#: ../../mod/connedit.php:201
+msgid "Could not access address book record."
msgstr ""
-#: ../../include/identity.php:935
-msgid "Musical interests:"
+#: ../../mod/connedit.php:215
+msgid "Refresh failed - channel is currently unavailable."
msgstr ""
-#: ../../include/identity.php:937
-msgid "Books, literature:"
+#: ../../mod/connedit.php:222
+msgid "Channel has been unblocked"
msgstr ""
-#: ../../include/identity.php:939
-msgid "Television:"
+#: ../../mod/connedit.php:223
+msgid "Channel has been blocked"
msgstr ""
-#: ../../include/identity.php:941
-msgid "Film/dance/culture/entertainment:"
+#: ../../mod/connedit.php:227 ../../mod/connedit.php:239
+#: ../../mod/connedit.php:251 ../../mod/connedit.php:263
+#: ../../mod/connedit.php:278
+msgid "Unable to set address book parameters."
msgstr ""
-#: ../../include/identity.php:943
-msgid "Love/Romance:"
+#: ../../mod/connedit.php:234
+msgid "Channel has been unignored"
msgstr ""
-#: ../../include/identity.php:945
-msgid "Work/employment:"
+#: ../../mod/connedit.php:235
+msgid "Channel has been ignored"
msgstr ""
-#: ../../include/identity.php:947
-msgid "School/education:"
+#: ../../mod/connedit.php:246
+msgid "Channel has been unarchived"
msgstr ""
-#: ../../include/security.php:49
-msgid "Welcome "
+#: ../../mod/connedit.php:247
+msgid "Channel has been archived"
msgstr ""
-#: ../../include/security.php:50
-msgid "Please upload a profile photo."
+#: ../../mod/connedit.php:258
+msgid "Channel has been unhidden"
msgstr ""
-#: ../../include/security.php:53
-msgid "Welcome back "
+#: ../../mod/connedit.php:259
+msgid "Channel has been hidden"
msgstr ""
-#: ../../include/security.php:360
-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."
+#: ../../mod/connedit.php:273
+msgid "Channel has been approved"
msgstr ""
-#: ../../include/items.php:201 ../../mod/like.php:55 ../../mod/group.php:74
-#: ../../mod/profperm.php:28 ../../index.php:339
-msgid "Permission denied"
+#: ../../mod/connedit.php:274
+msgid "Channel has been unapproved"
msgstr ""
-#: ../../include/items.php:3350 ../../mod/admin.php:150
-#: ../../mod/admin.php:727 ../../mod/admin.php:930 ../../mod/viewsrc.php:18
-#: ../../mod/home.php:64 ../../mod/display.php:32
-msgid "Item not found."
+#: ../../mod/connedit.php:292
+msgid "Contact has been removed."
msgstr ""
-#: ../../include/items.php:3533
-msgid "Archives"
+#: ../../mod/connedit.php:312
+#, php-format
+msgid "View %s's profile"
msgstr ""
-#: ../../include/items.php:3699 ../../mod/group.php:44 ../../mod/group.php:146
-msgid "Collection not found."
+#: ../../mod/connedit.php:316
+msgid "Refresh Permissions"
msgstr ""
-#: ../../include/items.php:3715 ../../mod/network.php:288
-msgid "Group is empty"
+#: ../../mod/connedit.php:319
+msgid "Fetch updated permissions"
msgstr ""
-#: ../../include/items.php:3731
-msgid "Connection not found."
+#: ../../mod/connedit.php:323
+msgid "Recent Activity"
msgstr ""
-#: ../../include/dir_fns.php:15
-msgid "Sort Options"
+#: ../../mod/connedit.php:326
+msgid "View recent posts and comments"
msgstr ""
-#: ../../include/dir_fns.php:16
-msgid "Alphabetic"
+#: ../../mod/connedit.php:330 ../../mod/connedit.php:472
+#: ../../mod/admin.php:697
+msgid "Unblock"
msgstr ""
-#: ../../include/dir_fns.php:17
-msgid "Reverse Alphabetic"
+#: ../../mod/connedit.php:330 ../../mod/connedit.php:472
+#: ../../mod/admin.php:696
+msgid "Block"
msgstr ""
-#: ../../include/dir_fns.php:18
-msgid "Newest to Oldest"
+#: ../../mod/connedit.php:333
+msgid "Block or Unblock this connection"
msgstr ""
-#: ../../include/dir_fns.php:29
-msgid "Enable Safe Search"
+#: ../../mod/connedit.php:337 ../../mod/connedit.php:473
+msgid "Unignore"
msgstr ""
-#: ../../include/dir_fns.php:31
-msgid "Disable Safe Search"
+#: ../../mod/connedit.php:337 ../../mod/connedit.php:473
+#: ../../mod/notifications.php:51
+msgid "Ignore"
msgstr ""
-#: ../../include/dir_fns.php:33
-msgid "Safe Mode"
+#: ../../mod/connedit.php:340
+msgid "Ignore or Unignore this connection"
msgstr ""
-#: ../../mod/common.php:10
-msgid "No channel."
+#: ../../mod/connedit.php:343
+msgid "Unarchive"
msgstr ""
-#: ../../mod/common.php:47
-msgid "Common connections"
+#: ../../mod/connedit.php:343
+msgid "Archive"
msgstr ""
-#: ../../mod/common.php:52
-msgid "No connections in common."
+#: ../../mod/connedit.php:346
+msgid "Archive or Unarchive this connection"
msgstr ""
-#: ../../mod/events.php:71
-msgid "Event title and start time are required."
+#: ../../mod/connedit.php:349
+msgid "Unhide"
msgstr ""
-#: ../../mod/events.php:286
-msgid "l, F j"
+#: ../../mod/connedit.php:349
+msgid "Hide"
msgstr ""
-#: ../../mod/events.php:308
-msgid "Edit event"
+#: ../../mod/connedit.php:352
+msgid "Hide or Unhide this connection"
msgstr ""
-#: ../../mod/events.php:354
-msgid "Create New Event"
+#: ../../mod/connedit.php:359
+msgid "Delete this connection"
msgstr ""
-#: ../../mod/events.php:355
-msgid "Previous"
+#: ../../mod/connedit.php:392
+msgid "Unknown"
msgstr ""
-#: ../../mod/events.php:356 ../../mod/setup.php:256
-msgid "Next"
+#: ../../mod/connedit.php:402 ../../mod/connedit.php:431
+msgid "Approve this connection"
msgstr ""
-#: ../../mod/events.php:428
-msgid "hour:minute"
+#: ../../mod/connedit.php:402
+msgid "Accept connection to allow communication"
msgstr ""
-#: ../../mod/events.php:447
-msgid "Event details"
+#: ../../mod/connedit.php:418
+msgid "Automatic Permissions Settings"
msgstr ""
-#: ../../mod/events.php:448
+#: ../../mod/connedit.php:418
#, php-format
-msgid "Format is %s %s. Starting date and Title are required."
+msgid "Connections: settings for %s"
msgstr ""
-#: ../../mod/events.php:450
-msgid "Event Starts:"
+#: ../../mod/connedit.php:422
+msgid ""
+"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 ""
-#: ../../mod/events.php:450 ../../mod/events.php:464
-msgid "Required"
+#: ../../mod/connedit.php:424
+msgid "Slide to adjust your degree of friendship"
msgstr ""
-#: ../../mod/events.php:453
-msgid "Finish date/time is not known or not relevant"
+#: ../../mod/connedit.php:430
+msgid "inherited"
msgstr ""
-#: ../../mod/events.php:455
-msgid "Event Finishes:"
+#: ../../mod/connedit.php:432
+msgid "Connection has no individual permissions!"
msgstr ""
-#: ../../mod/events.php:458
-msgid "Adjust for viewer timezone"
+#: ../../mod/connedit.php:433
+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/events.php:460
-msgid "Description:"
+#: ../../mod/connedit.php:435
+msgid "Profile Visibility"
msgstr ""
-#: ../../mod/events.php:464
-msgid "Title:"
+#: ../../mod/connedit.php:436
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
msgstr ""
-#: ../../mod/events.php:466
-msgid "Share this event"
+#: ../../mod/connedit.php:437
+msgid "Contact Information / Notes"
msgstr ""
-#: ../../mod/thing.php:109
-msgid "Object store: failed"
+#: ../../mod/connedit.php:438
+msgid "Edit contact notes"
msgstr ""
-#: ../../mod/thing.php:113
-msgid "thing/stuff added"
+#: ../../mod/connedit.php:440
+msgid "Their Settings"
msgstr ""
-#: ../../mod/thing.php:129
-#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
+#: ../../mod/connedit.php:441
+msgid "My Settings"
msgstr ""
-#: ../../mod/thing.php:175
-msgid "not yet implemented."
+#: ../../mod/connedit.php:443
+msgid "Forum Members"
msgstr ""
-#: ../../mod/thing.php:181
-msgid "Add Stuff to your Profile"
+#: ../../mod/connedit.php:444
+msgid "Soapbox"
msgstr ""
-#: ../../mod/thing.php:183
-msgid "Select a profile"
+#: ../../mod/connedit.php:445
+msgid "Full Sharing"
msgstr ""
-#: ../../mod/thing.php:185
-msgid "Select a category of stuff. e.g. I ______ something"
+#: ../../mod/connedit.php:446
+msgid "Cautious Sharing"
msgstr ""
-#: ../../mod/thing.php:187
-msgid "Name of thing or stuff e.g. something"
+#: ../../mod/connedit.php:447
+msgid "Follow Only"
msgstr ""
-#: ../../mod/thing.php:188
-msgid "URL of thing or stuff (optional)"
+#: ../../mod/connedit.php:448
+msgid "Individual Permissions"
msgstr ""
-#: ../../mod/thing.php:189
-msgid "URL for photo of thing or stuff (optional)"
+#: ../../mod/connedit.php:449
+msgid ""
+"Some permissions may be inherited from your channel <a href=\"settings"
+"\">privacy settings</a>, which have higher priority. Changing those "
+"inherited settings on this page will have no effect."
msgstr ""
-#: ../../mod/invite.php:25
-msgid "Total invitation limit exceeded."
+#: ../../mod/connedit.php:450
+msgid "Advanced Permissions"
msgstr ""
-#: ../../mod/invite.php:47
-#, php-format
-msgid "%s : Not a valid email address."
+#: ../../mod/connedit.php:451
+msgid "Quick Links"
msgstr ""
-#: ../../mod/invite.php:74
-msgid "Please join us on Red"
+#: ../../mod/connedit.php:455
+#, php-format
+msgid "Visit %s's profile - %s"
msgstr ""
-#: ../../mod/invite.php:85
-msgid "Invitation limit exceeded. Please contact your site administrator."
+#: ../../mod/connedit.php:456
+msgid "Block/Unblock contact"
msgstr ""
-#: ../../mod/invite.php:90
-#, php-format
-msgid "%s : Message delivery failed."
+#: ../../mod/connedit.php:457
+msgid "Ignore contact"
msgstr ""
-#: ../../mod/invite.php:94
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../mod/invite.php:113
-msgid "You have no more invitations available"
+#: ../../mod/connedit.php:458
+msgid "Repair URL settings"
msgstr ""
-#: ../../mod/invite.php:139
-msgid "Send invitations"
+#: ../../mod/connedit.php:459
+msgid "View conversations"
msgstr ""
-#: ../../mod/invite.php:140
-msgid "Enter email addresses, one per line:"
+#: ../../mod/connedit.php:461
+msgid "Delete contact"
msgstr ""
-#: ../../mod/invite.php:141 ../../mod/message.php:326
-#: ../../mod/message.php:508
-msgid "Your message:"
+#: ../../mod/connedit.php:464
+msgid "Last update:"
msgstr ""
-#: ../../mod/invite.php:142
-msgid ""
-"You are cordially invited to join me and some other close friends on the Red "
-"Matrix - a revolutionary new decentralised communication and information "
-"tool."
+#: ../../mod/connedit.php:466
+msgid "Update public posts"
msgstr ""
-#: ../../mod/invite.php:144
-msgid "You will need to supply this invitation code: $invite_code"
+#: ../../mod/connedit.php:468
+msgid "Update now"
msgstr ""
-#: ../../mod/invite.php:145
-msgid "Please visit my channel at"
+#: ../../mod/connedit.php:474
+msgid "Currently blocked"
msgstr ""
-#: ../../mod/invite.php:149
-msgid ""
-"Once you have registered (on ANY Red Matrix site - they are all inter-"
-"connected), please connect with my Red Matrix channel address:"
+#: ../../mod/connedit.php:475
+msgid "Currently ignored"
msgstr ""
-#: ../../mod/invite.php:151
-msgid "Click the [Register] link on the following page to join."
+#: ../../mod/connedit.php:476
+msgid "Currently archived"
msgstr ""
-#: ../../mod/invite.php:153
-msgid ""
-"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"
+#: ../../mod/connedit.php:477
+msgid "Currently pending"
msgstr ""
-#: ../../mod/allfriends.php:35
-#, php-format
-msgid "Friends of %s"
+#: ../../mod/connedit.php:478
+msgid "Hide this contact from others"
msgstr ""
-#: ../../mod/allfriends.php:41
-msgid "No friends to display."
+#: ../../mod/connedit.php:478
+msgid ""
+"Replies/likes to your public posts <strong>may</strong> still be visible"
msgstr ""
-#: ../../mod/webpages.php:104 ../../mod/layouts.php:105
+#: ../../mod/webpages.php:121 ../../mod/layouts.php:105
#: ../../mod/blocks.php:96
msgid "View"
msgstr ""
@@ -3207,20 +3679,16 @@ msgid ""
"and/or create new posts for you?"
msgstr ""
-#: ../../mod/api.php:105 ../../mod/settings.php:967 ../../mod/settings.php:972
-#: ../../mod/profiles.php:506
+#: ../../mod/api.php:105 ../../mod/profiles.php:483 ../../mod/settings.php:865
+#: ../../mod/settings.php:870
msgid "Yes"
msgstr ""
-#: ../../mod/api.php:106 ../../mod/settings.php:967 ../../mod/settings.php:972
-#: ../../mod/profiles.php:507
+#: ../../mod/api.php:106 ../../mod/profiles.php:484 ../../mod/settings.php:865
+#: ../../mod/settings.php:870
msgid "No"
msgstr ""
-#: ../../mod/lastpost.php:16 ../../mod/channel.php:25
-msgid "You must be logged in to see this page."
-msgstr ""
-
#: ../../mod/apps.php:8
msgid "No installed applications."
msgstr ""
@@ -3233,13 +3701,13 @@ msgstr ""
msgid "Invalid item."
msgstr ""
-#: ../../mod/page.php:47 ../../mod/chanview.php:78 ../../mod/home.php:51
+#: ../../mod/page.php:47 ../../mod/chanview.php:77 ../../mod/home.php:50
#: ../../mod/wall_upload.php:35
msgid "Channel not found."
msgstr ""
-#: ../../mod/page.php:83 ../../mod/help.php:56 ../../mod/display.php:100
-#: ../../index.php:229
+#: ../../mod/page.php:83 ../../mod/help.php:71 ../../mod/display.php:100
+#: ../../index.php:227
msgid "Page not found."
msgstr ""
@@ -3275,308 +3743,318 @@ msgid ""
"phpmyadmin or mysql."
msgstr ""
-#: ../../mod/setup.php:188 ../../mod/setup.php:255 ../../mod/setup.php:584
+#: ../../mod/setup.php:188 ../../mod/setup.php:257 ../../mod/setup.php:606
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr ""
-#: ../../mod/setup.php:252
+#: ../../mod/setup.php:254
msgid "System check"
msgstr ""
-#: ../../mod/setup.php:257
+#: ../../mod/setup.php:259
msgid "Check again"
msgstr ""
-#: ../../mod/setup.php:279
+#: ../../mod/setup.php:281
msgid "Database connection"
msgstr ""
-#: ../../mod/setup.php:280
+#: ../../mod/setup.php:282
msgid ""
"In order to install Red Matrix we need to know how to connect to your "
"database."
msgstr ""
-#: ../../mod/setup.php:281
+#: ../../mod/setup.php:283
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr ""
-#: ../../mod/setup.php:282
+#: ../../mod/setup.php:284
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr ""
-#: ../../mod/setup.php:286
+#: ../../mod/setup.php:288
msgid "Database Server Name"
msgstr ""
-#: ../../mod/setup.php:286
+#: ../../mod/setup.php:288
msgid "Default is localhost"
msgstr ""
-#: ../../mod/setup.php:287
+#: ../../mod/setup.php:289
msgid "Database Port"
msgstr ""
-#: ../../mod/setup.php:287
+#: ../../mod/setup.php:289
msgid "Communication port number - use 0 for default"
msgstr ""
-#: ../../mod/setup.php:288
+#: ../../mod/setup.php:290
msgid "Database Login Name"
msgstr ""
-#: ../../mod/setup.php:289
+#: ../../mod/setup.php:291
msgid "Database Login Password"
msgstr ""
-#: ../../mod/setup.php:290
+#: ../../mod/setup.php:292
msgid "Database Name"
msgstr ""
-#: ../../mod/setup.php:292 ../../mod/setup.php:334
+#: ../../mod/setup.php:294 ../../mod/setup.php:336
msgid "Site administrator email address"
msgstr ""
-#: ../../mod/setup.php:292 ../../mod/setup.php:334
+#: ../../mod/setup.php:294 ../../mod/setup.php:336
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr ""
-#: ../../mod/setup.php:293 ../../mod/setup.php:336
+#: ../../mod/setup.php:295 ../../mod/setup.php:338
msgid "Website URL"
msgstr ""
-#: ../../mod/setup.php:293 ../../mod/setup.php:336
+#: ../../mod/setup.php:295 ../../mod/setup.php:338
msgid "Please use SSL (https) URL if available."
msgstr ""
-#: ../../mod/setup.php:296 ../../mod/setup.php:339
+#: ../../mod/setup.php:298 ../../mod/setup.php:341
msgid "Please select a default timezone for your website"
msgstr ""
-#: ../../mod/setup.php:323
+#: ../../mod/setup.php:325
msgid "Site settings"
msgstr ""
-#: ../../mod/setup.php:379
+#: ../../mod/setup.php:381
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr ""
-#: ../../mod/setup.php:380
+#: ../../mod/setup.php:382
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 ""
-#: ../../mod/setup.php:384
+#: ../../mod/setup.php:386
msgid "PHP executable path"
msgstr ""
-#: ../../mod/setup.php:384
+#: ../../mod/setup.php:386
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr ""
-#: ../../mod/setup.php:389
+#: ../../mod/setup.php:391
msgid "Command line PHP"
msgstr ""
-#: ../../mod/setup.php:398
+#: ../../mod/setup.php:400
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr ""
-#: ../../mod/setup.php:399
+#: ../../mod/setup.php:401
msgid "This is required for message delivery to work."
msgstr ""
-#: ../../mod/setup.php:401
+#: ../../mod/setup.php:403
msgid "PHP register_argc_argv"
msgstr ""
-#: ../../mod/setup.php:422
+#: ../../mod/setup.php:424
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr ""
-#: ../../mod/setup.php:423
+#: ../../mod/setup.php:425
msgid ""
"If running under Windows, please see \"http://www.php.net/manual/en/openssl."
"installation.php\"."
msgstr ""
-#: ../../mod/setup.php:425
+#: ../../mod/setup.php:427
msgid "Generate encryption keys"
msgstr ""
-#: ../../mod/setup.php:432
+#: ../../mod/setup.php:434
msgid "libCurl PHP module"
msgstr ""
-#: ../../mod/setup.php:433
+#: ../../mod/setup.php:435
msgid "GD graphics PHP module"
msgstr ""
-#: ../../mod/setup.php:434
+#: ../../mod/setup.php:436
msgid "OpenSSL PHP module"
msgstr ""
-#: ../../mod/setup.php:435
+#: ../../mod/setup.php:437
msgid "mysqli PHP module"
msgstr ""
-#: ../../mod/setup.php:436
+#: ../../mod/setup.php:438
msgid "mb_string PHP module"
msgstr ""
-#: ../../mod/setup.php:437
+#: ../../mod/setup.php:439
msgid "mcrypt PHP module"
msgstr ""
-#: ../../mod/setup.php:442 ../../mod/setup.php:444
+#: ../../mod/setup.php:444 ../../mod/setup.php:446
msgid "Apache mod_rewrite module"
msgstr ""
-#: ../../mod/setup.php:442
+#: ../../mod/setup.php:444
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr ""
-#: ../../mod/setup.php:448 ../../mod/setup.php:451
+#: ../../mod/setup.php:450 ../../mod/setup.php:453
msgid "proc_open"
msgstr ""
-#: ../../mod/setup.php:448
+#: ../../mod/setup.php:450
msgid ""
"Error: proc_open is required but is either not installed or has been "
"disabled in php.ini"
msgstr ""
-#: ../../mod/setup.php:456
+#: ../../mod/setup.php:458
msgid "Error: libCURL PHP module required but not installed."
msgstr ""
-#: ../../mod/setup.php:460
+#: ../../mod/setup.php:462
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr ""
-#: ../../mod/setup.php:464
+#: ../../mod/setup.php:466
msgid "Error: openssl PHP module required but not installed."
msgstr ""
-#: ../../mod/setup.php:468
+#: ../../mod/setup.php:470
msgid "Error: mysqli PHP module required but not installed."
msgstr ""
-#: ../../mod/setup.php:472
+#: ../../mod/setup.php:474
msgid "Error: mb_string PHP module required but not installed."
msgstr ""
-#: ../../mod/setup.php:476
+#: ../../mod/setup.php:478
msgid "Error: mcrypt PHP module required but not installed."
msgstr ""
-#: ../../mod/setup.php:492
+#: ../../mod/setup.php:494
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 ""
-#: ../../mod/setup.php:493
+#: ../../mod/setup.php:495
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 ""
-#: ../../mod/setup.php:494
+#: ../../mod/setup.php:496
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 ""
-#: ../../mod/setup.php:495
+#: ../../mod/setup.php:497
msgid ""
"You can alternatively skip this procedure and perform a manual installation. "
"Please see the file \"install/INSTALL.txt\" for instructions."
msgstr ""
-#: ../../mod/setup.php:498
+#: ../../mod/setup.php:500
msgid ".htconfig.php is writable"
msgstr ""
-#: ../../mod/setup.php:508
+#: ../../mod/setup.php:510
msgid ""
"Red uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr ""
-#: ../../mod/setup.php:509
+#: ../../mod/setup.php:511
msgid ""
"In order to store these compiled templates, the web server needs to have "
"write access to the directory view/tpl/smarty3/ under the Red top level "
"folder."
msgstr ""
-#: ../../mod/setup.php:510
+#: ../../mod/setup.php:512 ../../mod/setup.php:530
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has "
"write access to this folder."
msgstr ""
-#: ../../mod/setup.php:511
+#: ../../mod/setup.php:513
msgid ""
"Note: as a security measure, you should give the web server write access to "
"view/tpl/smarty3/ only--not the template files (.tpl) that it contains."
msgstr ""
-#: ../../mod/setup.php:514
+#: ../../mod/setup.php:516
msgid "view/tpl/smarty3 is writable"
msgstr ""
-#: ../../mod/setup.php:528
+#: ../../mod/setup.php:529
+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 ""
+
+#: ../../mod/setup.php:533
+msgid "store is writable"
+msgstr ""
+
+#: ../../mod/setup.php:548
msgid "SSL certificate validation"
msgstr ""
-#: ../../mod/setup.php:528
+#: ../../mod/setup.php:548
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access "
"to this site."
msgstr ""
-#: ../../mod/setup.php:535
+#: ../../mod/setup.php:555
msgid ""
"Url rewrite in .htaccess is not working. Check your server configuration."
msgstr ""
-#: ../../mod/setup.php:537
+#: ../../mod/setup.php:557
msgid "Url rewrite is working"
msgstr ""
-#: ../../mod/setup.php:547
+#: ../../mod/setup.php:567
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 ""
-#: ../../mod/setup.php:571
+#: ../../mod/setup.php:591
msgid "Errors encountered creating database tables."
msgstr ""
-#: ../../mod/setup.php:582
+#: ../../mod/setup.php:604
msgid "<h1>What next</h1>"
msgstr ""
-#: ../../mod/setup.php:583
+#: ../../mod/setup.php:605
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
msgstr ""
@@ -3596,7 +4074,7 @@ msgstr ""
msgid "[Embedded content - reload page to view]"
msgstr ""
-#: ../../mod/chanview.php:98
+#: ../../mod/chanview.php:93
msgid "toggle full screen mode"
msgstr ""
@@ -3605,443 +4083,22 @@ msgstr ""
msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr ""
-#: ../../mod/settings.php:53
-msgid "Account settings"
-msgstr ""
-
-#: ../../mod/settings.php:59
-msgid "Channel settings"
-msgstr ""
-
-#: ../../mod/settings.php:65
-msgid "Additional features"
-msgstr ""
-
-#: ../../mod/settings.php:71
-msgid "Feature settings"
-msgstr ""
-
-#: ../../mod/settings.php:77
-msgid "Display settings"
-msgstr ""
-
-#: ../../mod/settings.php:83
-msgid "Connected apps"
-msgstr ""
-
-#: ../../mod/settings.php:89
-msgid "Export channel"
-msgstr ""
-
-#: ../../mod/settings.php:101
-msgid "Automatic Permissions (Advanced)"
-msgstr ""
-
-#: ../../mod/settings.php:111
-msgid "Premium Channel Settings"
-msgstr ""
-
-#: ../../mod/settings.php:173
-msgid "Name is required"
-msgstr ""
-
-#: ../../mod/settings.php:177
-msgid "Key and Secret are required"
-msgstr ""
-
-#: ../../mod/settings.php:181 ../../mod/settings.php:635
-msgid "Update"
-msgstr ""
-
-#: ../../mod/settings.php:294
-msgid "Passwords do not match. Password unchanged."
-msgstr ""
-
-#: ../../mod/settings.php:298
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr ""
-
-#: ../../mod/settings.php:311
-msgid "Password changed."
-msgstr ""
-
-#: ../../mod/settings.php:313
-msgid "Password update failed. Please try again."
-msgstr ""
-
-#: ../../mod/settings.php:327
-msgid "Not valid email."
-msgstr ""
-
-#: ../../mod/settings.php:330
-msgid "Protected email address. Cannot change to that email."
-msgstr ""
-
-#: ../../mod/settings.php:339
-msgid "System failure storing new email. Please try again."
-msgstr ""
-
-#: ../../mod/settings.php:537
-msgid "Settings updated."
-msgstr ""
-
-#: ../../mod/settings.php:608 ../../mod/settings.php:634
-#: ../../mod/settings.php:670
-msgid "Add application"
-msgstr ""
-
-#: ../../mod/settings.php:610 ../../mod/settings.php:636
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117
-msgid "Cancel"
-msgstr ""
-
-#: ../../mod/settings.php:611 ../../mod/settings.php:637
-#: ../../mod/admin.php:686 ../../mod/crepair.php:148
-msgid "Name"
-msgstr ""
-
-#: ../../mod/settings.php:611
-msgid "Name of application"
-msgstr ""
-
-#: ../../mod/settings.php:612 ../../mod/settings.php:638
-msgid "Consumer Key"
-msgstr ""
-
-#: ../../mod/settings.php:612 ../../mod/settings.php:613
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr ""
-
-#: ../../mod/settings.php:613 ../../mod/settings.php:639
-msgid "Consumer Secret"
-msgstr ""
-
-#: ../../mod/settings.php:614 ../../mod/settings.php:640
-msgid "Redirect"
-msgstr ""
-
-#: ../../mod/settings.php:614
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires this"
-msgstr ""
-
-#: ../../mod/settings.php:615 ../../mod/settings.php:641
-msgid "Icon url"
-msgstr ""
-
-#: ../../mod/settings.php:615
-msgid "Optional"
-msgstr ""
-
-#: ../../mod/settings.php:626
-msgid "You can't edit this application."
-msgstr ""
-
-#: ../../mod/settings.php:669
-msgid "Connected Apps"
-msgstr ""
-
-#: ../../mod/settings.php:673
-msgid "Client key starts with"
-msgstr ""
-
-#: ../../mod/settings.php:674
-msgid "No name"
-msgstr ""
-
-#: ../../mod/settings.php:675
-msgid "Remove authorization"
-msgstr ""
-
-#: ../../mod/settings.php:686
-msgid "No feature settings configured"
-msgstr ""
-
-#: ../../mod/settings.php:694
-msgid "Feature Settings"
-msgstr ""
-
-#: ../../mod/settings.php:717
-msgid "Account Settings"
-msgstr ""
-
-#: ../../mod/settings.php:718
-msgid "Password Settings"
-msgstr ""
-
-#: ../../mod/settings.php:719
-msgid "New Password:"
-msgstr ""
-
-#: ../../mod/settings.php:720
-msgid "Confirm:"
-msgstr ""
-
-#: ../../mod/settings.php:720
-msgid "Leave password fields blank unless changing"
-msgstr ""
-
-#: ../../mod/settings.php:722 ../../mod/settings.php:1014
-msgid "Email Address:"
-msgstr ""
-
-#: ../../mod/settings.php:723
-msgid "Remove Account"
-msgstr ""
-
-#: ../../mod/settings.php:724
-msgid "Warning: This action is permanent and cannot be reversed."
-msgstr ""
-
-#: ../../mod/settings.php:740
-msgid "Off"
-msgstr ""
-
-#: ../../mod/settings.php:740
-msgid "On"
-msgstr ""
-
-#: ../../mod/settings.php:747
-msgid "Additional Features"
-msgstr ""
-
-#: ../../mod/settings.php:772
-msgid "Connector Settings"
-msgstr ""
-
-#: ../../mod/settings.php:802 ../../mod/admin.php:369
-msgid "No special theme for mobile devices"
-msgstr ""
-
-#: ../../mod/settings.php:842
-msgid "Display Settings"
-msgstr ""
-
-#: ../../mod/settings.php:848
-msgid "Display Theme:"
-msgstr ""
-
-#: ../../mod/settings.php:849
-msgid "Mobile Theme:"
-msgstr ""
-
-#: ../../mod/settings.php:850
-msgid "Update browser every xx seconds"
-msgstr ""
-
-#: ../../mod/settings.php:850
-msgid "Minimum of 10 seconds, no maximum"
-msgstr ""
-
-#: ../../mod/settings.php:851
-msgid "Maximum number of conversations to load at any time:"
-msgstr ""
-
-#: ../../mod/settings.php:851
-msgid "Maximum of 100 items"
-msgstr ""
-
-#: ../../mod/settings.php:852
-msgid "Don't show emoticons"
-msgstr ""
-
-#: ../../mod/settings.php:888
-msgid "Nobody except yourself"
-msgstr ""
-
-#: ../../mod/settings.php:889
-msgid "Only those you specifically allow"
-msgstr ""
-
-#: ../../mod/settings.php:890
-msgid "Anybody in your address book"
-msgstr ""
-
-#: ../../mod/settings.php:891
-msgid "Anybody on this website"
-msgstr ""
-
-#: ../../mod/settings.php:892
-msgid "Anybody in this network"
-msgstr ""
-
-#: ../../mod/settings.php:893
-msgid "Anybody on the internet"
-msgstr ""
-
-#: ../../mod/settings.php:967
-msgid "Publish your default profile in the network directory"
-msgstr ""
-
-#: ../../mod/settings.php:972
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr ""
-
-#: ../../mod/settings.php:976 ../../mod/profile_photo.php:298
-msgid "or"
-msgstr ""
-
-#: ../../mod/settings.php:981
-msgid "Your channel address is"
-msgstr ""
-
-#: ../../mod/settings.php:1003
-msgid "Channel Settings"
-msgstr ""
-
-#: ../../mod/settings.php:1012
-msgid "Basic Settings"
-msgstr ""
-
-#: ../../mod/settings.php:1015
-msgid "Your Timezone:"
-msgstr ""
-
-#: ../../mod/settings.php:1016
-msgid "Default Post Location:"
-msgstr ""
-
-#: ../../mod/settings.php:1017
-msgid "Use Browser Location:"
-msgstr ""
-
-#: ../../mod/settings.php:1019
-msgid "Adult Content"
-msgstr ""
-
-#: ../../mod/settings.php:1019
-msgid "This channel publishes adult content."
-msgstr ""
-
-#: ../../mod/settings.php:1021
-msgid "Security and Privacy Settings"
-msgstr ""
-
-#: ../../mod/settings.php:1023
-msgid "Quick Privacy Settings:"
-msgstr ""
-
-#: ../../mod/settings.php:1024
-msgid "Very Public - extremely permissive"
-msgstr ""
-
-#: ../../mod/settings.php:1025
-msgid "Typical - default public, privacy when desired"
-msgstr ""
-
-#: ../../mod/settings.php:1026
-msgid "Private - default private, rarely open or public"
-msgstr ""
-
-#: ../../mod/settings.php:1027
-msgid "Blocked - default blocked to/from everybody"
-msgstr ""
-
-#: ../../mod/settings.php:1030
-msgid "Maximum Friend Requests/Day:"
-msgstr ""
-
-#: ../../mod/settings.php:1030
-msgid "May reduce spam activity"
-msgstr ""
-
-#: ../../mod/settings.php:1031
-msgid "Default Post Permissions"
-msgstr ""
-
-#: ../../mod/settings.php:1032
-msgid "(click to open/close)"
-msgstr ""
-
-#: ../../mod/settings.php:1043
-msgid "Maximum private messages per day from unknown people:"
-msgstr ""
-
-#: ../../mod/settings.php:1043
-msgid "Useful to reduce spamming"
-msgstr ""
-
-#: ../../mod/settings.php:1046
-msgid "Notification Settings"
-msgstr ""
-
-#: ../../mod/settings.php:1047
-msgid "By default post a status message when:"
-msgstr ""
-
-#: ../../mod/settings.php:1048
-msgid "accepting a friend request"
-msgstr ""
-
-#: ../../mod/settings.php:1049
-msgid "joining a forum/community"
-msgstr ""
-
-#: ../../mod/settings.php:1050
-msgid "making an <em>interesting</em> profile change"
-msgstr ""
-
-#: ../../mod/settings.php:1051
-msgid "Send a notification email when:"
-msgstr ""
-
-#: ../../mod/settings.php:1052
-msgid "You receive an introduction"
-msgstr ""
-
-#: ../../mod/settings.php:1053
-msgid "Your introductions are confirmed"
-msgstr ""
-
-#: ../../mod/settings.php:1054
-msgid "Someone writes on your profile wall"
-msgstr ""
-
-#: ../../mod/settings.php:1055
-msgid "Someone writes a followup comment"
-msgstr ""
-
-#: ../../mod/settings.php:1056
-msgid "You receive a private message"
-msgstr ""
-
-#: ../../mod/settings.php:1057
-msgid "You receive a friend suggestion"
-msgstr ""
-
-#: ../../mod/settings.php:1058
-msgid "You are tagged in a post"
-msgstr ""
-
-#: ../../mod/settings.php:1059
-msgid "You are poked/prodded/etc. in a post"
-msgstr ""
-
-#: ../../mod/settings.php:1062
-msgid "Advanced Account/Page Type Settings"
-msgstr ""
-
-#: ../../mod/settings.php:1063
-msgid "Change the behaviour of this account for special situations"
-msgstr ""
-
-#: ../../mod/viewconnections.php:28 ../../mod/search.php:80
-#: ../../mod/photos.php:576 ../../mod/display.php:9 ../../mod/community.php:18
-#: ../../mod/directory.php:32
+#: ../../mod/viewconnections.php:17 ../../mod/search.php:13
+#: ../../mod/photos.php:442 ../../mod/directory.php:15 ../../mod/display.php:9
+#: ../../mod/community.php:18 ../../mod/dirprofile.php:9
msgid "Public access denied."
msgstr ""
-#: ../../mod/viewconnections.php:57
+#: ../../mod/viewconnections.php:43
msgid "No connections."
msgstr ""
-#: ../../mod/viewconnections.php:69
+#: ../../mod/viewconnections.php:55
#, php-format
msgid "Visit %s's profile [%s]"
msgstr ""
-#: ../../mod/viewconnections.php:84
+#: ../../mod/viewconnections.php:70
msgid "View Connnections"
msgstr ""
@@ -4061,46 +4118,46 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: ../../mod/connect.php:59 ../../mod/connect.php:107
+#: ../../mod/connect.php:55 ../../mod/connect.php:103
msgid "Continue"
msgstr ""
-#: ../../mod/connect.php:88
+#: ../../mod/connect.php:84
msgid "Premium Channel Setup"
msgstr ""
-#: ../../mod/connect.php:90
+#: ../../mod/connect.php:86
msgid "Enable premium channel connection restrictions"
msgstr ""
-#: ../../mod/connect.php:91
+#: ../../mod/connect.php:87
msgid ""
"Please enter your restrictions or conditions, such as paypal receipt, usage "
"guidelines, etc."
msgstr ""
-#: ../../mod/connect.php:93 ../../mod/connect.php:113
+#: ../../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 ""
-#: ../../mod/connect.php:94
+#: ../../mod/connect.php:90
msgid ""
"Potential connections will then see the following text before proceeding:"
msgstr ""
-#: ../../mod/connect.php:95 ../../mod/connect.php:116
+#: ../../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 ""
-#: ../../mod/connect.php:104
+#: ../../mod/connect.php:100
msgid "(No specific instructions have been provided by the channel owner.)"
msgstr ""
-#: ../../mod/connect.php:112
+#: ../../mod/connect.php:108
msgid "Restricted or Premium Channel"
msgstr ""
@@ -4139,58 +4196,62 @@ msgstr ""
msgid "No entries."
msgstr ""
-#: ../../mod/sources.php:27
+#: ../../mod/sources.php:28
+msgid "Failed to create source. No channel selected."
+msgstr ""
+
+#: ../../mod/sources.php:41
msgid "Source created."
msgstr ""
-#: ../../mod/sources.php:39
+#: ../../mod/sources.php:53
msgid "Source updated."
msgstr ""
-#: ../../mod/sources.php:68
+#: ../../mod/sources.php:82
msgid "Manage remote sources of content for your channel."
msgstr ""
-#: ../../mod/sources.php:69 ../../mod/sources.php:79
+#: ../../mod/sources.php:83 ../../mod/sources.php:93
msgid "New Source"
msgstr ""
-#: ../../mod/sources.php:80 ../../mod/sources.php:106
+#: ../../mod/sources.php:94 ../../mod/sources.php:126
msgid ""
"Import all or selected content from the following channel into this channel "
"and distribute it according to your channel settings."
msgstr ""
-#: ../../mod/sources.php:81 ../../mod/sources.php:107
+#: ../../mod/sources.php:95 ../../mod/sources.php:127
msgid "Only import content with these words (one per line)"
msgstr ""
-#: ../../mod/sources.php:81 ../../mod/sources.php:107
+#: ../../mod/sources.php:95 ../../mod/sources.php:127
msgid "Leave blank to import all public content"
msgstr ""
-#: ../../mod/sources.php:82 ../../mod/sources.php:109
+#: ../../mod/sources.php:96 ../../mod/sources.php:130
#: ../../mod/new_channel.php:110
msgid "Channel Name"
msgstr ""
-#: ../../mod/sources.php:96 ../../mod/sources.php:122
+#: ../../mod/sources.php:116 ../../mod/sources.php:143
msgid "Source not found."
msgstr ""
-#: ../../mod/sources.php:103
+#: ../../mod/sources.php:123
msgid "Edit Source"
msgstr ""
-#: ../../mod/sources.php:104
+#: ../../mod/sources.php:124
msgid "Delete Source"
msgstr ""
-#: ../../mod/sources.php:130
+#: ../../mod/sources.php:151
msgid "Source removed"
msgstr ""
-#: ../../mod/sources.php:132
+#: ../../mod/sources.php:153
msgid "Unable to remove source."
msgstr ""
@@ -4198,23 +4259,23 @@ msgstr ""
msgid "Theme settings updated."
msgstr ""
-#: ../../mod/admin.php:87 ../../mod/admin.php:417
+#: ../../mod/admin.php:87 ../../mod/admin.php:419
msgid "Site"
msgstr ""
-#: ../../mod/admin.php:88 ../../mod/admin.php:682 ../../mod/admin.php:694
+#: ../../mod/admin.php:88 ../../mod/admin.php:687 ../../mod/admin.php:699
msgid "Users"
msgstr ""
-#: ../../mod/admin.php:89 ../../mod/admin.php:780 ../../mod/admin.php:822
+#: ../../mod/admin.php:89 ../../mod/admin.php:785 ../../mod/admin.php:827
msgid "Plugins"
msgstr ""
-#: ../../mod/admin.php:90 ../../mod/admin.php:985 ../../mod/admin.php:1021
+#: ../../mod/admin.php:90 ../../mod/admin.php:990 ../../mod/admin.php:1026
msgid "Themes"
msgstr ""
-#: ../../mod/admin.php:91 ../../mod/admin.php:475
+#: ../../mod/admin.php:91 ../../mod/admin.php:479
msgid "Server"
msgstr ""
@@ -4222,7 +4283,7 @@ msgstr ""
msgid "DB updates"
msgstr ""
-#: ../../mod/admin.php:106 ../../mod/admin.php:113 ../../mod/admin.php:1108
+#: ../../mod/admin.php:106 ../../mod/admin.php:113 ../../mod/admin.php:1113
msgid "Logs"
msgstr ""
@@ -4238,9 +4299,9 @@ msgstr ""
msgid "Message queues"
msgstr ""
-#: ../../mod/admin.php:193 ../../mod/admin.php:416 ../../mod/admin.php:474
-#: ../../mod/admin.php:681 ../../mod/admin.php:779 ../../mod/admin.php:821
-#: ../../mod/admin.php:984 ../../mod/admin.php:1020 ../../mod/admin.php:1107
+#: ../../mod/admin.php:193 ../../mod/admin.php:418 ../../mod/admin.php:478
+#: ../../mod/admin.php:686 ../../mod/admin.php:784 ../../mod/admin.php:826
+#: ../../mod/admin.php:989 ../../mod/admin.php:1025 ../../mod/admin.php:1112
msgid "Administration"
msgstr ""
@@ -4252,7 +4313,7 @@ msgstr ""
msgid "Registered users"
msgstr ""
-#: ../../mod/admin.php:198 ../../mod/admin.php:478
+#: ../../mod/admin.php:198 ../../mod/admin.php:482
msgid "Pending registrations"
msgstr ""
@@ -4260,770 +4321,759 @@ msgstr ""
msgid "Version"
msgstr ""
-#: ../../mod/admin.php:201 ../../mod/admin.php:479
+#: ../../mod/admin.php:201 ../../mod/admin.php:483
msgid "Active plugins"
msgstr ""
-#: ../../mod/admin.php:340
+#: ../../mod/admin.php:342
msgid "Site settings updated."
msgstr ""
-#: ../../mod/admin.php:371
+#: ../../mod/admin.php:371 ../../mod/settings.php:700
+msgid "No special theme for mobile devices"
+msgstr ""
+
+#: ../../mod/admin.php:373
msgid "No special theme for accessibility"
msgstr ""
-#: ../../mod/admin.php:396
+#: ../../mod/admin.php:398
msgid "Closed"
msgstr ""
-#: ../../mod/admin.php:397
+#: ../../mod/admin.php:399
msgid "Requires approval"
msgstr ""
-#: ../../mod/admin.php:398
+#: ../../mod/admin.php:400
msgid "Open"
msgstr ""
-#: ../../mod/admin.php:403
+#: ../../mod/admin.php:405
msgid "Private"
msgstr ""
-#: ../../mod/admin.php:404
+#: ../../mod/admin.php:406
msgid "Paid Access"
msgstr ""
-#: ../../mod/admin.php:405
+#: ../../mod/admin.php:407
msgid "Free Access"
msgstr ""
-#: ../../mod/admin.php:406
+#: ../../mod/admin.php:408
msgid "Tiered Access"
msgstr ""
-#: ../../mod/admin.php:419 ../../mod/register.php:180
+#: ../../mod/admin.php:421 ../../mod/register.php:189
msgid "Registration"
msgstr ""
-#: ../../mod/admin.php:420
+#: ../../mod/admin.php:422
msgid "File upload"
msgstr ""
-#: ../../mod/admin.php:421
+#: ../../mod/admin.php:423
msgid "Policies"
msgstr ""
-#: ../../mod/admin.php:422
+#: ../../mod/admin.php:424
msgid "Advanced"
msgstr ""
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:428
msgid "Site name"
msgstr ""
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:429
msgid "Banner/Logo"
msgstr ""
-#: ../../mod/admin.php:428
+#: ../../mod/admin.php:430
msgid "System language"
msgstr ""
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:431
msgid "System theme"
msgstr ""
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:431
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr ""
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:432
msgid "Mobile system theme"
msgstr ""
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:432
msgid "Theme for mobile devices"
msgstr ""
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:433
msgid "Accessibility system theme"
msgstr ""
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:433
msgid "Accessibility theme"
msgstr ""
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:434
msgid "Channel to use for this website's static pages"
msgstr ""
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:434
msgid "Site Channel"
msgstr ""
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:436
msgid "Maximum image size"
msgstr ""
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:436
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr ""
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:437
msgid "Register policy"
msgstr ""
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:438
msgid "Access policy"
msgstr ""
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:439
msgid "Register text"
msgstr ""
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:439
msgid "Will be displayed prominently on the registration page."
msgstr ""
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:440
msgid "Accounts abandoned after x days"
msgstr ""
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:440
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr ""
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:441
msgid "Allowed friend domains"
msgstr ""
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:441
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:440
+#: ../../mod/admin.php:442
msgid "Allowed email domains"
msgstr ""
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:442
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:441
+#: ../../mod/admin.php:443
msgid "Block public"
msgstr ""
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:443
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:442
+#: ../../mod/admin.php:444
msgid "Force publish"
msgstr ""
-#: ../../mod/admin.php:442
+#: ../../mod/admin.php:444
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr ""
-#: ../../mod/admin.php:444
-msgid "Proxy user"
+#: ../../mod/admin.php:445
+msgid "No login on Homepage"
msgstr ""
#: ../../mod/admin.php:445
+msgid ""
+"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:447
+msgid "Proxy user"
+msgstr ""
+
+#: ../../mod/admin.php:448
msgid "Proxy URL"
msgstr ""
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:449
msgid "Network timeout"
msgstr ""
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:449
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr ""
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:450
msgid "Delivery interval"
msgstr ""
-#: ../../mod/admin.php:447
+#: ../../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 ""
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:451
msgid "Poll interval"
msgstr ""
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:451
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr ""
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:452
msgid "Maximum Load Average"
msgstr ""
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:452
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr ""
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:470
msgid "No server found"
msgstr ""
-#: ../../mod/admin.php:473 ../../mod/admin.php:695
+#: ../../mod/admin.php:477 ../../mod/admin.php:700
msgid "ID"
msgstr ""
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:477
msgid "for channel"
msgstr ""
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:477
msgid "on server"
msgstr ""
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:477
msgid "Status"
msgstr ""
-#: ../../mod/admin.php:493
+#: ../../mod/admin.php:498
msgid "Update has been marked successful"
msgstr ""
-#: ../../mod/admin.php:503
+#: ../../mod/admin.php:508
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr ""
-#: ../../mod/admin.php:506
+#: ../../mod/admin.php:511
#, php-format
msgid "Update %s was successfully applied."
msgstr ""
-#: ../../mod/admin.php:510
+#: ../../mod/admin.php:515
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr ""
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:518
#, php-format
msgid "Update function %s could not be found."
msgstr ""
-#: ../../mod/admin.php:528
+#: ../../mod/admin.php:533
msgid "No failed updates."
msgstr ""
-#: ../../mod/admin.php:532
+#: ../../mod/admin.php:537
msgid "Failed Updates"
msgstr ""
-#: ../../mod/admin.php:534
+#: ../../mod/admin.php:539
msgid "Mark success (if update was manually applied)"
msgstr ""
-#: ../../mod/admin.php:535
+#: ../../mod/admin.php:540
msgid "Attempt to execute this update step automatically"
msgstr ""
-#: ../../mod/admin.php:561
+#: ../../mod/admin.php:566
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:568
+#: ../../mod/admin.php:573
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:599
+#: ../../mod/admin.php:604
msgid "Account not found"
msgstr ""
-#: ../../mod/admin.php:610
+#: ../../mod/admin.php:615
#, php-format
msgid "User '%s' deleted"
msgstr ""
-#: ../../mod/admin.php:619
+#: ../../mod/admin.php:624
#, php-format
msgid "User '%s' unblocked"
msgstr ""
-#: ../../mod/admin.php:619
+#: ../../mod/admin.php:624
#, php-format
msgid "User '%s' blocked"
msgstr ""
-#: ../../mod/admin.php:684
+#: ../../mod/admin.php:689
msgid "select all"
msgstr ""
-#: ../../mod/admin.php:685
+#: ../../mod/admin.php:690
msgid "User registrations waiting for confirm"
msgstr ""
-#: ../../mod/admin.php:686
+#: ../../mod/admin.php:691
msgid "Request date"
msgstr ""
-#: ../../mod/admin.php:687
+#: ../../mod/admin.php:692
msgid "No registrations."
msgstr ""
-#: ../../mod/admin.php:688 ../../mod/intro.php:11 ../../mod/intro.php:98
-#: ../../mod/notifications.php:159 ../../mod/notifications.php:206
+#: ../../mod/admin.php:693
msgid "Approve"
msgstr ""
-#: ../../mod/admin.php:689
+#: ../../mod/admin.php:694
msgid "Deny"
msgstr ""
-#: ../../mod/admin.php:691 ../../mod/intro.php:14 ../../mod/intro.php:99
-#: ../../mod/connections.php:348 ../../mod/connections.php:490
-msgid "Block"
-msgstr ""
-
-#: ../../mod/admin.php:692 ../../mod/connections.php:348
-#: ../../mod/connections.php:490
-msgid "Unblock"
-msgstr ""
-
-#: ../../mod/admin.php:695
+#: ../../mod/admin.php:700
msgid "Register date"
msgstr ""
-#: ../../mod/admin.php:695
+#: ../../mod/admin.php:700
msgid "Last login"
msgstr ""
-#: ../../mod/admin.php:695
+#: ../../mod/admin.php:700
msgid "Expires"
msgstr ""
-#: ../../mod/admin.php:695
+#: ../../mod/admin.php:700
msgid "Service Class"
msgstr ""
-#: ../../mod/admin.php:697
+#: ../../mod/admin.php:702
msgid ""
"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:698
+#: ../../mod/admin.php:703
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 ""
-#: ../../mod/admin.php:739
+#: ../../mod/admin.php:744
#, php-format
msgid "Plugin %s disabled."
msgstr ""
-#: ../../mod/admin.php:743
+#: ../../mod/admin.php:748
#, php-format
msgid "Plugin %s enabled."
msgstr ""
-#: ../../mod/admin.php:753 ../../mod/admin.php:955
+#: ../../mod/admin.php:758 ../../mod/admin.php:960
msgid "Disable"
msgstr ""
-#: ../../mod/admin.php:755 ../../mod/admin.php:957
+#: ../../mod/admin.php:760 ../../mod/admin.php:962
msgid "Enable"
msgstr ""
-#: ../../mod/admin.php:781 ../../mod/admin.php:986
+#: ../../mod/admin.php:786 ../../mod/admin.php:991
msgid "Toggle"
msgstr ""
-#: ../../mod/admin.php:789 ../../mod/admin.php:996
+#: ../../mod/admin.php:794 ../../mod/admin.php:1001
msgid "Author: "
msgstr ""
-#: ../../mod/admin.php:790 ../../mod/admin.php:997
+#: ../../mod/admin.php:795 ../../mod/admin.php:1002
msgid "Maintainer: "
msgstr ""
-#: ../../mod/admin.php:919
+#: ../../mod/admin.php:924
msgid "No themes found."
msgstr ""
-#: ../../mod/admin.php:978
+#: ../../mod/admin.php:983
msgid "Screenshot"
msgstr ""
-#: ../../mod/admin.php:1026
+#: ../../mod/admin.php:1031
msgid "[Experimental]"
msgstr ""
-#: ../../mod/admin.php:1027
+#: ../../mod/admin.php:1032
msgid "[Unsupported]"
msgstr ""
-#: ../../mod/admin.php:1054
+#: ../../mod/admin.php:1059
msgid "Log settings updated."
msgstr ""
-#: ../../mod/admin.php:1110
+#: ../../mod/admin.php:1115
msgid "Clear"
msgstr ""
-#: ../../mod/admin.php:1116
+#: ../../mod/admin.php:1121
msgid "Debugging"
msgstr ""
-#: ../../mod/admin.php:1117
+#: ../../mod/admin.php:1122
msgid "Log file"
msgstr ""
-#: ../../mod/admin.php:1117
+#: ../../mod/admin.php:1122
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr ""
-#: ../../mod/admin.php:1118
+#: ../../mod/admin.php:1123
msgid "Log level"
msgstr ""
-#: ../../mod/mitem.php:13 ../../mod/menu.php:87
+#: ../../mod/mitem.php:14 ../../mod/menu.php:87
msgid "Menu not found."
msgstr ""
-#: ../../mod/mitem.php:66
+#: ../../mod/mitem.php:47
msgid "Menu element updated."
msgstr ""
-#: ../../mod/mitem.php:70
+#: ../../mod/mitem.php:51
msgid "Unable to update menu element."
msgstr ""
-#: ../../mod/mitem.php:76
+#: ../../mod/mitem.php:57
msgid "Menu element added."
msgstr ""
-#: ../../mod/mitem.php:80
+#: ../../mod/mitem.php:61
msgid "Unable to add menu element."
msgstr ""
-#: ../../mod/mitem.php:97 ../../mod/xchan.php:25 ../../mod/menu.php:113
+#: ../../mod/mitem.php:78 ../../mod/xchan.php:25 ../../mod/menu.php:113
+#: ../../mod/dirprofile.php:177
msgid "Not found."
msgstr ""
-#: ../../mod/mitem.php:116
+#: ../../mod/mitem.php:96
msgid "Manage Menu Elements"
msgstr ""
-#: ../../mod/mitem.php:119
+#: ../../mod/mitem.php:99
msgid "Edit menu"
msgstr ""
-#: ../../mod/mitem.php:122
+#: ../../mod/mitem.php:102
msgid "Edit element"
msgstr ""
-#: ../../mod/mitem.php:123
+#: ../../mod/mitem.php:103
msgid "Drop element"
msgstr ""
-#: ../../mod/mitem.php:124
+#: ../../mod/mitem.php:104
msgid "New element"
msgstr ""
-#: ../../mod/mitem.php:125
+#: ../../mod/mitem.php:105
msgid "Edit this menu container"
msgstr ""
-#: ../../mod/mitem.php:126
+#: ../../mod/mitem.php:106
msgid "Add menu element"
msgstr ""
-#: ../../mod/mitem.php:127
+#: ../../mod/mitem.php:107
msgid "Delete this menu item"
msgstr ""
-#: ../../mod/mitem.php:128
+#: ../../mod/mitem.php:108
msgid "Edit this menu item"
msgstr ""
-#: ../../mod/mitem.php:141
+#: ../../mod/mitem.php:131
msgid "New Menu Element"
msgstr ""
-#: ../../mod/mitem.php:143 ../../mod/mitem.php:184
+#: ../../mod/mitem.php:133 ../../mod/mitem.php:176
+msgid "Menu Item Permissions"
+msgstr ""
+
+#: ../../mod/mitem.php:134 ../../mod/mitem.php:177 ../../mod/settings.php:930
+msgid "(click to open/close)"
+msgstr ""
+
+#: ../../mod/mitem.php:136 ../../mod/mitem.php:180
msgid "Link text"
msgstr ""
-#: ../../mod/mitem.php:144 ../../mod/mitem.php:185
+#: ../../mod/mitem.php:137 ../../mod/mitem.php:181
msgid "URL of link"
msgstr ""
-#: ../../mod/mitem.php:145 ../../mod/mitem.php:186
+#: ../../mod/mitem.php:138 ../../mod/mitem.php:182
msgid "Use Red magic-auth if available"
msgstr ""
-#: ../../mod/mitem.php:146 ../../mod/mitem.php:187
+#: ../../mod/mitem.php:139 ../../mod/mitem.php:183
msgid "Open link in new window"
msgstr ""
-#: ../../mod/mitem.php:148 ../../mod/mitem.php:189
+#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
msgid "Order in list"
msgstr ""
-#: ../../mod/mitem.php:148 ../../mod/mitem.php:189
+#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
msgid "Higher numbers will sink to bottom of listing"
msgstr ""
-#: ../../mod/mitem.php:149 ../../mod/menu.php:79 ../../mod/new_channel.php:117
+#: ../../mod/mitem.php:142 ../../mod/menu.php:79 ../../mod/new_channel.php:117
msgid "Create"
msgstr ""
-#: ../../mod/mitem.php:161
+#: ../../mod/mitem.php:154
msgid "Menu item not found."
msgstr ""
-#: ../../mod/mitem.php:170
+#: ../../mod/mitem.php:163
msgid "Menu item deleted."
msgstr ""
-#: ../../mod/mitem.php:172
+#: ../../mod/mitem.php:165
msgid "Menu item could not be deleted."
msgstr ""
-#: ../../mod/mitem.php:181
+#: ../../mod/mitem.php:174
msgid "Edit Menu Element"
msgstr ""
-#: ../../mod/mitem.php:190 ../../mod/menu.php:107
+#: ../../mod/mitem.php:186 ../../mod/menu.php:107
msgid "Modify"
msgstr ""
-#: ../../mod/group.php:26
+#: ../../mod/group.php:20
msgid "Collection created."
msgstr ""
-#: ../../mod/group.php:32
+#: ../../mod/group.php:26
msgid "Could not create collection."
msgstr ""
-#: ../../mod/group.php:60
+#: ../../mod/group.php:54
msgid "Collection updated."
msgstr ""
-#: ../../mod/group.php:92
+#: ../../mod/group.php:86
msgid "Create a collection of channels."
msgstr ""
-#: ../../mod/group.php:93 ../../mod/group.php:189
+#: ../../mod/group.php:87 ../../mod/group.php:183
msgid "Collection Name: "
msgstr ""
-#: ../../mod/group.php:95 ../../mod/group.php:192
+#: ../../mod/group.php:89 ../../mod/group.php:186
msgid "Members are visible to other channels"
msgstr ""
-#: ../../mod/group.php:113
+#: ../../mod/group.php:107
msgid "Collection removed."
msgstr ""
-#: ../../mod/group.php:115
+#: ../../mod/group.php:109
msgid "Unable to remove collection."
msgstr ""
-#: ../../mod/group.php:188
+#: ../../mod/group.php:182
msgid "Collection Editor"
msgstr ""
-#: ../../mod/group.php:202
+#: ../../mod/group.php:196
msgid "Members"
msgstr ""
-#: ../../mod/group.php:204
+#: ../../mod/group.php:198
msgid "All Connected Channels"
msgstr ""
-#: ../../mod/group.php:237
+#: ../../mod/group.php:231
msgid "Click on a channel to add or remove."
msgstr ""
-#: ../../mod/search.php:20 ../../mod/network.php:113
-msgid "Remove term"
-msgstr ""
-
-#: ../../mod/photos.php:83
+#: ../../mod/photos.php:77
msgid "Page owner information could not be retrieved."
msgstr ""
-#: ../../mod/photos.php:103
+#: ../../mod/photos.php:97
msgid "Album not found."
msgstr ""
-#: ../../mod/photos.php:125 ../../mod/photos.php:791
+#: ../../mod/photos.php:119 ../../mod/photos.php:668
msgid "Delete Album"
msgstr ""
-#: ../../mod/photos.php:165 ../../mod/photos.php:1052
+#: ../../mod/photos.php:159 ../../mod/photos.php:930
msgid "Delete Photo"
msgstr ""
-#: ../../mod/photos.php:510
-#, php-format
-msgid "%1$s was tagged in %2$s by %3$s"
-msgstr ""
-
-#: ../../mod/photos.php:510
-msgid "a photo"
-msgstr ""
-
-#: ../../mod/photos.php:586
+#: ../../mod/photos.php:452
msgid "No photos selected"
msgstr ""
-#: ../../mod/photos.php:631
+#: ../../mod/photos.php:499
msgid "Access to this item is restricted."
msgstr ""
-#: ../../mod/photos.php:696
+#: ../../mod/photos.php:573
#, php-format
msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
msgstr ""
-#: ../../mod/photos.php:699
+#: ../../mod/photos.php:576
#, php-format
msgid "You have used %1$.2f Mbytes of photo storage."
msgstr ""
-#: ../../mod/photos.php:718
+#: ../../mod/photos.php:595
msgid "Upload Photos"
msgstr ""
-#: ../../mod/photos.php:722 ../../mod/photos.php:786
+#: ../../mod/photos.php:599 ../../mod/photos.php:663
msgid "New album name: "
msgstr ""
-#: ../../mod/photos.php:723
+#: ../../mod/photos.php:600
msgid "or existing album name: "
msgstr ""
-#: ../../mod/photos.php:724
+#: ../../mod/photos.php:601
msgid "Do not show a status post for this upload"
msgstr ""
-#: ../../mod/photos.php:726 ../../mod/photos.php:1047
+#: ../../mod/photos.php:603 ../../mod/photos.php:925
+#: ../../mod/filestorage.php:125
msgid "Permissions"
msgstr ""
-#: ../../mod/photos.php:775 ../../mod/photos.php:797 ../../mod/photos.php:1223
-#: ../../mod/photos.php:1238
+#: ../../mod/photos.php:652 ../../mod/photos.php:674 ../../mod/photos.php:1101
+#: ../../mod/photos.php:1116
msgid "Contact Photos"
msgstr ""
-#: ../../mod/photos.php:801
+#: ../../mod/photos.php:678
msgid "Edit Album"
msgstr ""
-#: ../../mod/photos.php:807
+#: ../../mod/photos.php:684
msgid "Show Newest First"
msgstr ""
-#: ../../mod/photos.php:809
+#: ../../mod/photos.php:686
msgid "Show Oldest First"
msgstr ""
-#: ../../mod/photos.php:853 ../../mod/photos.php:1270
+#: ../../mod/photos.php:729 ../../mod/photos.php:1148
msgid "View Photo"
msgstr ""
-#: ../../mod/photos.php:897
+#: ../../mod/photos.php:775
msgid "Permission denied. Access to this item may be restricted."
msgstr ""
-#: ../../mod/photos.php:899
+#: ../../mod/photos.php:777
msgid "Photo not available"
msgstr ""
-#: ../../mod/photos.php:957
+#: ../../mod/photos.php:835
msgid "Use as profile photo"
msgstr ""
-#: ../../mod/photos.php:981
+#: ../../mod/photos.php:859
msgid "View Full Size"
msgstr ""
-#: ../../mod/photos.php:1035
+#: ../../mod/photos.php:913
msgid "Edit photo"
msgstr ""
-#: ../../mod/photos.php:1037
+#: ../../mod/photos.php:915
msgid "Rotate CW (right)"
msgstr ""
-#: ../../mod/photos.php:1038
+#: ../../mod/photos.php:916
msgid "Rotate CCW (left)"
msgstr ""
-#: ../../mod/photos.php:1040
+#: ../../mod/photos.php:918
msgid "New album name"
msgstr ""
-#: ../../mod/photos.php:1043
+#: ../../mod/photos.php:921
msgid "Caption"
msgstr ""
-#: ../../mod/photos.php:1045
+#: ../../mod/photos.php:923
msgid "Add a Tag"
msgstr ""
-#: ../../mod/photos.php:1049
+#: ../../mod/photos.php:927
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
msgstr ""
-#: ../../mod/photos.php:1276
+#: ../../mod/photos.php:1154
msgid "View Album"
msgstr ""
-#: ../../mod/photos.php:1285
+#: ../../mod/photos.php:1163
msgid "Recent Photos"
msgstr ""
-#: ../../mod/ping.php:160
-msgid "sent you a private message"
-msgstr ""
-
-#: ../../mod/ping.php:218
-msgid "added your channel"
-msgstr ""
-
-#: ../../mod/ping.php:262
-msgid "posted an event"
-msgstr ""
-
#: ../../mod/filer.php:35
msgid "- select -"
msgstr ""
@@ -5104,103 +5154,111 @@ msgstr ""
msgid "Add or remove entries to this menu"
msgstr ""
-#: ../../mod/home.php:76
+#: ../../mod/home.php:89
#, php-format
msgid "Welcome to %s"
msgstr ""
-#: ../../mod/message.php:19
-msgid "Check Mail"
+#: ../../mod/directory.php:143 ../../mod/profiles.php:561
+#: ../../mod/dirprofile.php:95
+msgid "Age: "
msgstr ""
-#: ../../mod/message.php:56
-msgid "Unable to lookup recipient."
+#: ../../mod/directory.php:146 ../../mod/dirprofile.php:98
+msgid "Gender: "
msgstr ""
-#: ../../mod/message.php:64
-msgid "Unable to communicate with requested channel."
+#: ../../mod/directory.php:207
+msgid "Finding:"
msgstr ""
-#: ../../mod/message.php:71
-msgid "Cannot verify requested channel."
+#: ../../mod/directory.php:215
+msgid "next page"
msgstr ""
-#: ../../mod/message.php:97
-msgid "Selected channel has private message restrictions. Send failed."
+#: ../../mod/directory.php:215
+msgid "previous page"
msgstr ""
-#: ../../mod/message.php:223 ../../mod/notifications.php:101
-msgid "Messages"
+#: ../../mod/directory.php:222
+msgid "No entries (some entries may be hidden)."
msgstr ""
-#: ../../mod/message.php:234
-msgid "Message deleted."
+#: ../../mod/connections.php:189 ../../mod/connections.php:261
+msgid "Blocked"
msgstr ""
-#: ../../mod/message.php:241
-msgid "Conversation removed."
+#: ../../mod/connections.php:194 ../../mod/connections.php:268
+msgid "Ignored"
msgstr ""
-#: ../../mod/message.php:258
-msgid "Message recalled."
+#: ../../mod/connections.php:199 ../../mod/connections.php:282
+msgid "Hidden"
msgstr ""
-#: ../../mod/message.php:316
-msgid "Send Private Message"
+#: ../../mod/connections.php:204 ../../mod/connections.php:275
+msgid "Archived"
msgstr ""
-#: ../../mod/message.php:317 ../../mod/message.php:503
-msgid "To:"
+#: ../../mod/connections.php:215
+msgid "All"
msgstr ""
-#: ../../mod/message.php:322 ../../mod/message.php:505
-msgid "Subject:"
+#: ../../mod/connections.php:239
+msgid "Suggest new connections"
msgstr ""
-#: ../../mod/message.php:359
-msgid "No messages."
+#: ../../mod/connections.php:245
+msgid "Show pending (new) connections"
msgstr ""
-#: ../../mod/message.php:375 ../../mod/message.php:472
-msgid "Delete message"
+#: ../../mod/connections.php:248 ../../mod/profperm.php:134
+msgid "All Connections"
msgstr ""
-#: ../../mod/message.php:377
-msgid "D, d M Y - g:i A"
+#: ../../mod/connections.php:251
+msgid "Show all connections"
msgstr ""
-#: ../../mod/message.php:396
-msgid "Message not found."
+#: ../../mod/connections.php:254
+msgid "Unblocked"
msgstr ""
-#: ../../mod/message.php:473
-msgid "Recall message"
+#: ../../mod/connections.php:257
+msgid "Only show unblocked connections"
msgstr ""
-#: ../../mod/message.php:475
-msgid "Message has been recalled."
+#: ../../mod/connections.php:264
+msgid "Only show blocked connections"
msgstr ""
-#: ../../mod/message.php:492
-msgid "Private Conversation"
+#: ../../mod/connections.php:271
+msgid "Only show ignored connections"
msgstr ""
-#: ../../mod/message.php:496
-msgid "Delete conversation"
+#: ../../mod/connections.php:278
+msgid "Only show archived connections"
msgstr ""
-#: ../../mod/message.php:498
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
+#: ../../mod/connections.php:285
+msgid "Only show hidden connections"
msgstr ""
-#: ../../mod/message.php:502
-msgid "Send Reply"
+#: ../../mod/connections.php:329
+#, php-format
+msgid "%1$s [%2$s]"
msgstr ""
-#: ../../mod/hcard.php:10
-msgid "No profile"
+#: ../../mod/connections.php:330
+msgid "Edit contact"
+msgstr ""
+
+#: ../../mod/connections.php:353
+msgid "Search your connections"
+msgstr ""
+
+#: ../../mod/connections.php:354
+msgid "Finding: "
msgstr ""
#: ../../mod/layouts.php:52
@@ -5215,11 +5273,11 @@ msgstr ""
msgid "Layout Name"
msgstr ""
-#: ../../mod/help.php:41
+#: ../../mod/help.php:43 ../../mod/help.php:49 ../../mod/help.php:55
msgid "Help:"
msgstr ""
-#: ../../mod/help.php:53 ../../index.php:226
+#: ../../mod/help.php:68 ../../index.php:224
msgid "Not Found"
msgstr ""
@@ -5235,108 +5293,41 @@ msgstr ""
msgid "Authenticate"
msgstr ""
-#: ../../mod/network.php:172
+#: ../../mod/network.php:79
msgid "No such group"
msgstr ""
-#: ../../mod/network.php:212
-msgid "Refresh"
-msgstr ""
-
-#: ../../mod/network.php:213 ../../mod/connections.php:404
-msgid "Me"
-msgstr ""
-
-#: ../../mod/network.php:214 ../../mod/connections.php:406
-msgid "Best Friends"
-msgstr ""
-
-#: ../../mod/network.php:216
-msgid "Co-workers"
-msgstr ""
-
-#: ../../mod/network.php:217 ../../mod/connections.php:408
-msgid "Former Friends"
-msgstr ""
-
-#: ../../mod/network.php:218 ../../mod/connections.php:409
-msgid "Acquaintances"
-msgstr ""
-
-#: ../../mod/network.php:219
-msgid "Everybody"
+#: ../../mod/network.php:118
+msgid "Search Results For:"
msgstr ""
-#: ../../mod/network.php:234
-msgid "Search Results For:"
+#: ../../mod/network.php:172
+msgid "Collection is empty"
msgstr ""
-#: ../../mod/network.php:296
+#: ../../mod/network.php:180
msgid "Collection: "
msgstr ""
-#: ../../mod/network.php:309
+#: ../../mod/network.php:193
msgid "Connection: "
msgstr ""
-#: ../../mod/network.php:312
+#: ../../mod/network.php:196
msgid "Invalid connection."
msgstr ""
-#: ../../mod/intro.php:17 ../../mod/intro.php:100
-#: ../../mod/connections.php:355 ../../mod/connections.php:491
-#: ../../mod/notifications.php:51 ../../mod/notifications.php:162
-#: ../../mod/notifications.php:208
-msgid "Ignore"
-msgstr ""
-
-#: ../../mod/intro.php:29 ../../mod/connections.php:122
-msgid "Connection updated."
-msgstr ""
-
-#: ../../mod/intro.php:31
-msgid "Connection update failed."
-msgstr ""
-
-#: ../../mod/intro.php:56
-msgid "Introductions and Connection Requests"
-msgstr ""
-
-#: ../../mod/intro.php:67
-msgid "No pending introductions."
-msgstr ""
-
-#: ../../mod/intro.php:72
-msgid "System error. Please try again later."
-msgstr ""
-
-#: ../../mod/intro.php:95 ../../mod/connections.php:496
-#: ../../mod/notifications.php:155 ../../mod/notifications.php:202
-msgid "Hide this contact from others"
-msgstr ""
-
-#: ../../mod/intro.php:96 ../../mod/notifications.php:156
-#: ../../mod/notifications.php:203
-msgid "Post a new friend activity"
-msgstr ""
-
-#: ../../mod/intro.php:96 ../../mod/notifications.php:156
-#: ../../mod/notifications.php:203
-msgid "if applicable"
-msgstr ""
-
-#: ../../mod/intro.php:101 ../../mod/notifications.php:35
-#: ../../mod/notifications.php:163 ../../mod/notifications.php:209
-msgid "Discard"
+#: ../../mod/follow.php:25
+msgid "Channel added."
msgstr ""
-#: ../../mod/post.php:222
+#: ../../mod/post.php:226
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please "
"logout and retry."
msgstr ""
-#: ../../mod/post.php:251
+#: ../../mod/post.php:256
#, php-format
msgid "Welcome %s. Remote authentication successful."
msgstr ""
@@ -5353,12 +5344,12 @@ msgstr ""
msgid "Visible to:"
msgstr ""
-#: ../../mod/magic.php:63
+#: ../../mod/magic.php:70
msgid "Hub not found."
msgstr ""
#: ../../mod/profiles.php:18 ../../mod/profiles.php:138
-#: ../../mod/profiles.php:179 ../../mod/profiles.php:486
+#: ../../mod/profiles.php:168 ../../mod/profiles.php:463
msgid "Profile not found."
msgstr ""
@@ -5378,227 +5369,231 @@ msgstr ""
msgid "Profile unavailable to clone."
msgstr ""
-#: ../../mod/profiles.php:189
+#: ../../mod/profiles.php:178
msgid "Profile Name is required."
msgstr ""
-#: ../../mod/profiles.php:317
+#: ../../mod/profiles.php:294
msgid "Marital Status"
msgstr ""
-#: ../../mod/profiles.php:321
+#: ../../mod/profiles.php:298
msgid "Romantic Partner"
msgstr ""
-#: ../../mod/profiles.php:325
+#: ../../mod/profiles.php:302
msgid "Likes"
msgstr ""
-#: ../../mod/profiles.php:329
+#: ../../mod/profiles.php:306
msgid "Dislikes"
msgstr ""
-#: ../../mod/profiles.php:333
+#: ../../mod/profiles.php:310
msgid "Work/Employment"
msgstr ""
-#: ../../mod/profiles.php:336
+#: ../../mod/profiles.php:313
msgid "Religion"
msgstr ""
-#: ../../mod/profiles.php:340
+#: ../../mod/profiles.php:317
msgid "Political Views"
msgstr ""
-#: ../../mod/profiles.php:344
+#: ../../mod/profiles.php:321
msgid "Gender"
msgstr ""
-#: ../../mod/profiles.php:348
+#: ../../mod/profiles.php:325
msgid "Sexual Preference"
msgstr ""
-#: ../../mod/profiles.php:352
+#: ../../mod/profiles.php:329
msgid "Homepage"
msgstr ""
-#: ../../mod/profiles.php:356
+#: ../../mod/profiles.php:333
msgid "Interests"
msgstr ""
-#: ../../mod/profiles.php:360
+#: ../../mod/profiles.php:337
msgid "Address"
msgstr ""
-#: ../../mod/profiles.php:367 ../../mod/pubsites.php:31
+#: ../../mod/profiles.php:344 ../../mod/pubsites.php:31
msgid "Location"
msgstr ""
-#: ../../mod/profiles.php:450
+#: ../../mod/profiles.php:427
msgid "Profile updated."
msgstr ""
-#: ../../mod/profiles.php:505
+#: ../../mod/profiles.php:482
msgid "Hide your contact/friend list from viewers of this profile?"
msgstr ""
-#: ../../mod/profiles.php:528
+#: ../../mod/profiles.php:505
msgid "Edit Profile Details"
msgstr ""
-#: ../../mod/profiles.php:530
+#: ../../mod/profiles.php:507
msgid "View this profile"
msgstr ""
-#: ../../mod/profiles.php:531
+#: ../../mod/profiles.php:508
msgid "Change Profile Photo"
msgstr ""
-#: ../../mod/profiles.php:532
+#: ../../mod/profiles.php:509
msgid "Create a new profile using these settings"
msgstr ""
-#: ../../mod/profiles.php:533
+#: ../../mod/profiles.php:510
msgid "Clone this profile"
msgstr ""
-#: ../../mod/profiles.php:534
+#: ../../mod/profiles.php:511
msgid "Delete this profile"
msgstr ""
-#: ../../mod/profiles.php:535
+#: ../../mod/profiles.php:512
msgid "Profile Name:"
msgstr ""
-#: ../../mod/profiles.php:536
+#: ../../mod/profiles.php:513
msgid "Your Full Name:"
msgstr ""
-#: ../../mod/profiles.php:537
+#: ../../mod/profiles.php:514
msgid "Title/Description:"
msgstr ""
-#: ../../mod/profiles.php:538
+#: ../../mod/profiles.php:515
msgid "Your Gender:"
msgstr ""
-#: ../../mod/profiles.php:539
+#: ../../mod/profiles.php:516
#, php-format
msgid "Birthday (%s):"
msgstr ""
-#: ../../mod/profiles.php:540
+#: ../../mod/profiles.php:517
msgid "Street Address:"
msgstr ""
-#: ../../mod/profiles.php:541
+#: ../../mod/profiles.php:518
msgid "Locality/City:"
msgstr ""
-#: ../../mod/profiles.php:542
+#: ../../mod/profiles.php:519
msgid "Postal/Zip Code:"
msgstr ""
-#: ../../mod/profiles.php:543
+#: ../../mod/profiles.php:520
msgid "Country:"
msgstr ""
-#: ../../mod/profiles.php:544
+#: ../../mod/profiles.php:521
msgid "Region/State:"
msgstr ""
-#: ../../mod/profiles.php:545
+#: ../../mod/profiles.php:522
msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
msgstr ""
-#: ../../mod/profiles.php:546
+#: ../../mod/profiles.php:523
msgid "Who: (if applicable)"
msgstr ""
-#: ../../mod/profiles.php:547
+#: ../../mod/profiles.php:524
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr ""
-#: ../../mod/profiles.php:548
+#: ../../mod/profiles.php:525
msgid "Since [date]:"
msgstr ""
-#: ../../mod/profiles.php:550
+#: ../../mod/profiles.php:527
msgid "Homepage URL:"
msgstr ""
-#: ../../mod/profiles.php:553
+#: ../../mod/profiles.php:530
msgid "Religious Views:"
msgstr ""
-#: ../../mod/profiles.php:554
+#: ../../mod/profiles.php:531
msgid "Keywords:"
msgstr ""
-#: ../../mod/profiles.php:557
+#: ../../mod/profiles.php:534
msgid "Example: fishing photography software"
msgstr ""
-#: ../../mod/profiles.php:558
+#: ../../mod/profiles.php:535
msgid "Used in directory listings"
msgstr ""
-#: ../../mod/profiles.php:559
+#: ../../mod/profiles.php:536
msgid "Tell us about yourself..."
msgstr ""
-#: ../../mod/profiles.php:560
+#: ../../mod/profiles.php:537
msgid "Hobbies/Interests"
msgstr ""
-#: ../../mod/profiles.php:561
+#: ../../mod/profiles.php:538
msgid "Contact information and Social Networks"
msgstr ""
-#: ../../mod/profiles.php:562
+#: ../../mod/profiles.php:539
msgid "My other channels"
msgstr ""
-#: ../../mod/profiles.php:563
+#: ../../mod/profiles.php:540
msgid "Musical interests"
msgstr ""
-#: ../../mod/profiles.php:564
+#: ../../mod/profiles.php:541
msgid "Books, literature"
msgstr ""
-#: ../../mod/profiles.php:565
+#: ../../mod/profiles.php:542
msgid "Television"
msgstr ""
-#: ../../mod/profiles.php:566
+#: ../../mod/profiles.php:543
msgid "Film/dance/culture/entertainment"
msgstr ""
-#: ../../mod/profiles.php:567
+#: ../../mod/profiles.php:544
msgid "Love/romance"
msgstr ""
-#: ../../mod/profiles.php:568
+#: ../../mod/profiles.php:545
msgid "Work/employment"
msgstr ""
-#: ../../mod/profiles.php:569
+#: ../../mod/profiles.php:546
msgid "School/education"
msgstr ""
-#: ../../mod/profiles.php:574
+#: ../../mod/profiles.php:551
msgid ""
"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
"be visible to anybody using the internet."
msgstr ""
-#: ../../mod/profiles.php:584 ../../mod/directory.php:160
-msgid "Age: "
+#: ../../mod/profiles.php:600
+msgid "Edit/Manage Profiles"
msgstr ""
-#: ../../mod/profiles.php:623
-msgid "Edit/Manage Profiles"
+#: ../../mod/profiles.php:601
+msgid "Add profile things"
+msgstr ""
+
+#: ../../mod/profiles.php:602
+msgid "Include desirable objects in your profile"
msgstr ""
#: ../../mod/new_channel.php:107
@@ -5634,930 +5629,833 @@ msgid ""
"Or <a href=\"import\">import an existing channel</a> from another location"
msgstr ""
-#: ../../mod/connections.php:67
-msgid "Could not access contact record."
+#: ../../mod/filestorage.php:68
+msgid "Permission Denied."
msgstr ""
-#: ../../mod/connections.php:81
-msgid "Could not locate selected profile."
+#: ../../mod/filestorage.php:86
+msgid "File not found."
msgstr ""
-#: ../../mod/connections.php:124
-msgid "Failed to update connection record."
+#: ../../mod/filestorage.php:120
+msgid "Edit file permissions"
msgstr ""
-#: ../../mod/connections.php:219
-msgid "Could not access address book record."
+#: ../../mod/filestorage.php:127
+msgid "Include all files and sub folders"
msgstr ""
-#: ../../mod/connections.php:233
-msgid "Refresh failed - channel is currently unavailable."
+#: ../../mod/filestorage.php:128
+msgid "Return to file list"
msgstr ""
-#: ../../mod/connections.php:240
-msgid "Channel has been unblocked"
+#: ../../mod/filestorage.php:130
+msgid "Copy/paste this code to attach file to a post"
msgstr ""
-#: ../../mod/connections.php:241
-msgid "Channel has been blocked"
+#: ../../mod/filestorage.php:131
+msgid "Copy/paste this URL to link file from a web page"
msgstr ""
-#: ../../mod/connections.php:245 ../../mod/connections.php:257
-#: ../../mod/connections.php:269 ../../mod/connections.php:281
-#: ../../mod/connections.php:296
-msgid "Unable to set address book parameters."
+#: ../../mod/filestorage.php:168
+msgid "Download"
msgstr ""
-#: ../../mod/connections.php:252
-msgid "Channel has been unignored"
+#: ../../mod/filestorage.php:174
+msgid "Used: "
msgstr ""
-#: ../../mod/connections.php:253
-msgid "Channel has been ignored"
+#: ../../mod/filestorage.php:175
+msgid "[directory]"
msgstr ""
-#: ../../mod/connections.php:264
-msgid "Channel has been unarchived"
+#: ../../mod/filestorage.php:177
+msgid "Limit: "
msgstr ""
-#: ../../mod/connections.php:265
-msgid "Channel has been archived"
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
msgstr ""
-#: ../../mod/connections.php:276
-msgid "Channel has been unhidden"
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
msgstr ""
-#: ../../mod/connections.php:277
-msgid "Channel has been hidden"
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
+#, php-format
+msgid "Site Member (%s)"
msgstr ""
-#: ../../mod/connections.php:291
-msgid "Channel has been approved"
+#: ../../mod/lostpass.php:40
+#, php-format
+msgid "Password reset requested at %s"
msgstr ""
-#: ../../mod/connections.php:292
-msgid "Channel has been unapproved"
+#: ../../mod/lostpass.php:63
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
msgstr ""
-#: ../../mod/connections.php:310
-msgid "Contact has been removed."
+#: ../../mod/lostpass.php:85 ../../boot.php:1431
+msgid "Password Reset"
msgstr ""
-#: ../../mod/connections.php:330
-#, php-format
-msgid "View %s's profile"
+#: ../../mod/lostpass.php:86
+msgid "Your password has been reset as requested."
msgstr ""
-#: ../../mod/connections.php:334
-msgid "Refresh Permissions"
+#: ../../mod/lostpass.php:87
+msgid "Your new password is"
msgstr ""
-#: ../../mod/connections.php:337
-msgid "Fetch updated permissions"
+#: ../../mod/lostpass.php:88
+msgid "Save or copy your new password - and then"
msgstr ""
-#: ../../mod/connections.php:341
-msgid "Recent Activity"
+#: ../../mod/lostpass.php:89
+msgid "click here to login"
msgstr ""
-#: ../../mod/connections.php:344
-msgid "View recent posts and comments"
+#: ../../mod/lostpass.php:90
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
msgstr ""
-#: ../../mod/connections.php:351
-msgid "Block or Unblock this connection"
+#: ../../mod/lostpass.php:107
+#, php-format
+msgid "Your password has changed at %s"
msgstr ""
-#: ../../mod/connections.php:355 ../../mod/connections.php:491
-msgid "Unignore"
+#: ../../mod/lostpass.php:122
+msgid "Forgot your Password?"
msgstr ""
-#: ../../mod/connections.php:358
-msgid "Ignore or Unignore this connection"
+#: ../../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/connections.php:361
-msgid "Unarchive"
+#: ../../mod/lostpass.php:124
+msgid "Email Address"
msgstr ""
-#: ../../mod/connections.php:361
-msgid "Archive"
+#: ../../mod/lostpass.php:125
+msgid "Reset"
msgstr ""
-#: ../../mod/connections.php:364
-msgid "Archive or Unarchive this connection"
+#: ../../mod/import.php:36
+msgid "Nothing to import."
msgstr ""
-#: ../../mod/connections.php:367
-msgid "Unhide"
+#: ../../mod/import.php:58
+msgid "Unable to download data from old server"
msgstr ""
-#: ../../mod/connections.php:367
-msgid "Hide"
+#: ../../mod/import.php:64
+msgid "Imported file is empty."
msgstr ""
-#: ../../mod/connections.php:370
-msgid "Hide or Unhide this connection"
+#: ../../mod/import.php:88
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr ""
-#: ../../mod/connections.php:377
-msgid "Delete this connection"
+#: ../../mod/import.php:106
+msgid "Channel clone failed. Import failed."
msgstr ""
-#: ../../mod/connections.php:410
-msgid "Unknown"
+#: ../../mod/import.php:116
+msgid "Cloned channel not found. Import failed."
msgstr ""
-#: ../../mod/connections.php:420 ../../mod/connections.php:449
-msgid "Approve this connection"
+#: ../../mod/import.php:358
+msgid "Import completed."
msgstr ""
-#: ../../mod/connections.php:420
-msgid "Accept connection to allow communication"
+#: ../../mod/import.php:371
+msgid "You must be logged in to use this feature."
msgstr ""
-#: ../../mod/connections.php:436
-msgid "Automatic Permissions Settings"
+#: ../../mod/import.php:376
+msgid "Import Channel"
msgstr ""
-#: ../../mod/connections.php:436
-#, php-format
-msgid "Connections: settings for %s"
+#: ../../mod/import.php:377
+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 ""
-#: ../../mod/connections.php:440
-msgid ""
-"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."
+#: ../../mod/import.php:378
+msgid "File to Upload"
msgstr ""
-#: ../../mod/connections.php:442
-msgid "Slide to adjust your degree of friendship"
+#: ../../mod/import.php:379
+msgid "Or provide the old server/hub details"
msgstr ""
-#: ../../mod/connections.php:448
-msgid "inherited"
+#: ../../mod/import.php:380
+msgid "Your old identity address (xyz@example.com)"
msgstr ""
-#: ../../mod/connections.php:450
-msgid "Connection has no individual permissions!"
+#: ../../mod/import.php:381
+msgid "Your old login email address"
+msgstr ""
+
+#: ../../mod/import.php:382
+msgid "Your old login password"
msgstr ""
-#: ../../mod/connections.php:451
+#: ../../mod/import.php:383
msgid ""
-"This may be appropriate based on your <a href=\"settings\">privacy settings</"
-"a>, though you may wish to review the \"Advanced Permissions\"."
+"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/connections.php:453
-msgid "Profile Visibility"
+#: ../../mod/import.php:384
+msgid "Make this hub my primary location"
msgstr ""
-#: ../../mod/connections.php:454
+#: ../../mod/manage.php:63
#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
+msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr ""
-#: ../../mod/connections.php:455
-msgid "Contact Information / Notes"
+#: ../../mod/manage.php:71
+msgid "Create a new channel"
msgstr ""
-#: ../../mod/connections.php:456
-msgid "Edit contact notes"
+#: ../../mod/manage.php:76
+msgid "Channel Manager"
msgstr ""
-#: ../../mod/connections.php:458
-msgid "Their Settings"
+#: ../../mod/manage.php:77
+msgid "Current Channel"
msgstr ""
-#: ../../mod/connections.php:459
-msgid "My Settings"
+#: ../../mod/manage.php:79
+msgid "Attach to one of your channels by selecting it."
msgstr ""
-#: ../../mod/connections.php:461
-msgid "Forum Members"
+#: ../../mod/manage.php:80
+msgid "Default Channel"
msgstr ""
-#: ../../mod/connections.php:462
-msgid "Soapbox"
+#: ../../mod/manage.php:81
+msgid "Make Default"
msgstr ""
-#: ../../mod/connections.php:463
-msgid "Full Sharing"
+#: ../../mod/vote.php:97
+msgid "Total votes"
msgstr ""
-#: ../../mod/connections.php:464
-msgid "Cautious Sharing"
+#: ../../mod/vote.php:98
+msgid "Average Rating"
msgstr ""
-#: ../../mod/connections.php:465
-msgid "Follow Only"
+#: ../../mod/match.php:16
+msgid "Profile Match"
msgstr ""
-#: ../../mod/connections.php:466
-msgid "Individual Permissions"
+#: ../../mod/match.php:24
+msgid "No keywords to match. Please add keywords to your default profile."
msgstr ""
-#: ../../mod/connections.php:467
-msgid ""
-"Some permissions may be inherited from your channel <a href=\"settings"
-"\">privacy settings</a>, which have higher priority. Changing those "
-"inherited settings on this page will have no effect."
+#: ../../mod/match.php:61
+msgid "is interested in:"
msgstr ""
-#: ../../mod/connections.php:468
-msgid "Advanced Permissions"
+#: ../../mod/match.php:69
+msgid "No matches"
msgstr ""
-#: ../../mod/connections.php:469
-msgid "Quick Links"
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
msgstr ""
-#: ../../mod/connections.php:473
-#, php-format
-msgid "Visit %s's profile - %s"
+#: ../../mod/settings.php:71
+msgid "Name is required"
msgstr ""
-#: ../../mod/connections.php:474
-msgid "Block/Unblock contact"
+#: ../../mod/settings.php:75
+msgid "Key and Secret are required"
msgstr ""
-#: ../../mod/connections.php:475
-msgid "Ignore contact"
+#: ../../mod/settings.php:79 ../../mod/settings.php:533
+msgid "Update"
msgstr ""
-#: ../../mod/connections.php:476
-msgid "Repair URL settings"
+#: ../../mod/settings.php:192
+msgid "Passwords do not match. Password unchanged."
msgstr ""
-#: ../../mod/connections.php:477
-msgid "View conversations"
+#: ../../mod/settings.php:196
+msgid "Empty passwords are not allowed. Password unchanged."
msgstr ""
-#: ../../mod/connections.php:479
-msgid "Delete contact"
+#: ../../mod/settings.php:209
+msgid "Password changed."
msgstr ""
-#: ../../mod/connections.php:482
-msgid "Last update:"
+#: ../../mod/settings.php:211
+msgid "Password update failed. Please try again."
msgstr ""
-#: ../../mod/connections.php:484
-msgid "Update public posts"
+#: ../../mod/settings.php:225
+msgid "Not valid email."
msgstr ""
-#: ../../mod/connections.php:486
-msgid "Update now"
+#: ../../mod/settings.php:228
+msgid "Protected email address. Cannot change to that email."
msgstr ""
-#: ../../mod/connections.php:492
-msgid "Currently blocked"
+#: ../../mod/settings.php:237
+msgid "System failure storing new email. Please try again."
msgstr ""
-#: ../../mod/connections.php:493
-msgid "Currently ignored"
+#: ../../mod/settings.php:435
+msgid "Settings updated."
msgstr ""
-#: ../../mod/connections.php:494
-msgid "Currently archived"
+#: ../../mod/settings.php:506 ../../mod/settings.php:532
+#: ../../mod/settings.php:568
+msgid "Add application"
msgstr ""
-#: ../../mod/connections.php:495
-msgid "Currently pending"
+#: ../../mod/settings.php:509 ../../mod/settings.php:535
+msgid "Name"
+msgstr ""
+
+#: ../../mod/settings.php:509
+msgid "Name of application"
msgstr ""
-#: ../../mod/connections.php:496
+#: ../../mod/settings.php:510 ../../mod/settings.php:536
+msgid "Consumer Key"
+msgstr ""
+
+#: ../../mod/settings.php:510 ../../mod/settings.php:511
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr ""
+
+#: ../../mod/settings.php:511 ../../mod/settings.php:537
+msgid "Consumer Secret"
+msgstr ""
+
+#: ../../mod/settings.php:512 ../../mod/settings.php:538
+msgid "Redirect"
+msgstr ""
+
+#: ../../mod/settings.php:512
msgid ""
-"Replies/likes to your public posts <strong>may</strong> still be visible"
+"Redirect URI - leave blank unless your application specifically requires this"
msgstr ""
-#: ../../mod/connections.php:532 ../../mod/connections.php:604
-msgid "Blocked"
+#: ../../mod/settings.php:513 ../../mod/settings.php:539
+msgid "Icon url"
msgstr ""
-#: ../../mod/connections.php:537 ../../mod/connections.php:611
-msgid "Ignored"
+#: ../../mod/settings.php:513
+msgid "Optional"
msgstr ""
-#: ../../mod/connections.php:542 ../../mod/connections.php:625
-msgid "Hidden"
+#: ../../mod/settings.php:524
+msgid "You can't edit this application."
msgstr ""
-#: ../../mod/connections.php:547 ../../mod/connections.php:618
-msgid "Archived"
+#: ../../mod/settings.php:567
+msgid "Connected Apps"
msgstr ""
-#: ../../mod/connections.php:558
-msgid "All"
+#: ../../mod/settings.php:571
+msgid "Client key starts with"
msgstr ""
-#: ../../mod/connections.php:579
-msgid "Suggestions"
+#: ../../mod/settings.php:572
+msgid "No name"
msgstr ""
-#: ../../mod/connections.php:582
-msgid "Suggest new connections"
+#: ../../mod/settings.php:573
+msgid "Remove authorization"
msgstr ""
-#: ../../mod/connections.php:588
-msgid "Show pending (new) connections"
+#: ../../mod/settings.php:584
+msgid "No feature settings configured"
msgstr ""
-#: ../../mod/connections.php:591
-msgid "All Connections"
+#: ../../mod/settings.php:592
+msgid "Feature Settings"
msgstr ""
-#: ../../mod/connections.php:594
-msgid "Show all connections"
+#: ../../mod/settings.php:615
+msgid "Account Settings"
msgstr ""
-#: ../../mod/connections.php:597
-msgid "Unblocked"
+#: ../../mod/settings.php:616
+msgid "Password Settings"
msgstr ""
-#: ../../mod/connections.php:600
-msgid "Only show unblocked connections"
+#: ../../mod/settings.php:617
+msgid "New Password:"
msgstr ""
-#: ../../mod/connections.php:607
-msgid "Only show blocked connections"
+#: ../../mod/settings.php:618
+msgid "Confirm:"
msgstr ""
-#: ../../mod/connections.php:614
-msgid "Only show ignored connections"
+#: ../../mod/settings.php:618
+msgid "Leave password fields blank unless changing"
msgstr ""
-#: ../../mod/connections.php:621
-msgid "Only show archived connections"
+#: ../../mod/settings.php:620 ../../mod/settings.php:912
+msgid "Email Address:"
msgstr ""
-#: ../../mod/connections.php:628
-msgid "Only show hidden connections"
+#: ../../mod/settings.php:621
+msgid "Remove Account"
msgstr ""
-#: ../../mod/connections.php:670
-#, php-format
-msgid "%1$s [%2$s]"
+#: ../../mod/settings.php:622
+msgid "Warning: This action is permanent and cannot be reversed."
msgstr ""
-#: ../../mod/connections.php:671
-msgid "Edit contact"
+#: ../../mod/settings.php:638
+msgid "Off"
msgstr ""
-#: ../../mod/connections.php:694
-msgid "Search your connections"
+#: ../../mod/settings.php:638
+msgid "On"
msgstr ""
-#: ../../mod/connections.php:695
-msgid "Finding: "
+#: ../../mod/settings.php:645
+msgid "Additional Features"
msgstr ""
-#: ../../mod/filestorage.php:35
-msgid "Permission Denied."
+#: ../../mod/settings.php:670
+msgid "Connector Settings"
msgstr ""
-#: ../../mod/filestorage.php:42
-msgid "Permission denied. VS."
+#: ../../mod/settings.php:740
+msgid "Display Settings"
msgstr ""
-#: ../../mod/filestorage.php:79
-msgid "Download"
+#: ../../mod/settings.php:746
+msgid "Display Theme:"
msgstr ""
-#: ../../mod/filestorage.php:84
-msgid "Used: "
+#: ../../mod/settings.php:747
+msgid "Mobile Theme:"
msgstr ""
-#: ../../mod/filestorage.php:86
-msgid "Limit: "
+#: ../../mod/settings.php:748
+msgid "Update browser every xx seconds"
msgstr ""
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
+#: ../../mod/settings.php:748
+msgid "Minimum of 10 seconds, no maximum"
msgstr ""
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
+#: ../../mod/settings.php:749
+msgid "Maximum number of conversations to load at any time:"
msgstr ""
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
-#, php-format
-msgid "Site Member (%s)"
+#: ../../mod/settings.php:749
+msgid "Maximum of 100 items"
msgstr ""
-#: ../../mod/lostpass.php:40
-#, php-format
-msgid "Password reset requested at %s"
+#: ../../mod/settings.php:750
+msgid "Don't show emoticons"
msgstr ""
-#: ../../mod/lostpass.php:63
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
+#: ../../mod/settings.php:786
+msgid "Nobody except yourself"
msgstr ""
-#: ../../mod/lostpass.php:85 ../../boot.php:1450
-msgid "Password Reset"
+#: ../../mod/settings.php:787
+msgid "Only those you specifically allow"
msgstr ""
-#: ../../mod/lostpass.php:86
-msgid "Your password has been reset as requested."
+#: ../../mod/settings.php:788
+msgid "Anybody in your address book"
msgstr ""
-#: ../../mod/lostpass.php:87
-msgid "Your new password is"
+#: ../../mod/settings.php:789
+msgid "Anybody on this website"
msgstr ""
-#: ../../mod/lostpass.php:88
-msgid "Save or copy your new password - and then"
+#: ../../mod/settings.php:790
+msgid "Anybody in this network"
msgstr ""
-#: ../../mod/lostpass.php:89
-msgid "click here to login"
+#: ../../mod/settings.php:791
+msgid "Anybody on the internet"
msgstr ""
-#: ../../mod/lostpass.php:90
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
+#: ../../mod/settings.php:865
+msgid "Publish your default profile in the network directory"
msgstr ""
-#: ../../mod/lostpass.php:107
-#, php-format
-msgid "Your password has changed at %s"
+#: ../../mod/settings.php:870
+msgid "Allow us to suggest you as a potential friend to new members?"
msgstr ""
-#: ../../mod/lostpass.php:122
-msgid "Forgot your Password?"
+#: ../../mod/settings.php:874 ../../mod/profile_photo.php:288
+msgid "or"
msgstr ""
-#: ../../mod/lostpass.php:123
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
+#: ../../mod/settings.php:879
+msgid "Your channel address is"
msgstr ""
-#: ../../mod/lostpass.php:124
-msgid "Email Address"
+#: ../../mod/settings.php:901
+msgid "Channel Settings"
msgstr ""
-#: ../../mod/lostpass.php:125
-msgid "Reset"
+#: ../../mod/settings.php:910
+msgid "Basic Settings"
msgstr ""
-#: ../../mod/import.php:36
-msgid "Nothing to import."
+#: ../../mod/settings.php:913
+msgid "Your Timezone:"
msgstr ""
-#: ../../mod/import.php:58
-msgid "Unable to download data from old server"
+#: ../../mod/settings.php:914
+msgid "Default Post Location:"
msgstr ""
-#: ../../mod/import.php:64
-msgid "Imported file is empty."
+#: ../../mod/settings.php:915
+msgid "Use Browser Location:"
msgstr ""
-#: ../../mod/import.php:88
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
+#: ../../mod/settings.php:917
+msgid "Adult Content"
msgstr ""
-#: ../../mod/import.php:106
-msgid "Channel clone failed. Import failed."
+#: ../../mod/settings.php:917
+msgid "This channel publishes adult content."
msgstr ""
-#: ../../mod/import.php:116
-msgid "Cloned channel not found. Import failed."
+#: ../../mod/settings.php:919
+msgid "Security and Privacy Settings"
msgstr ""
-#: ../../mod/import.php:358
-msgid "Import completed."
+#: ../../mod/settings.php:921
+msgid "Quick Privacy Settings:"
msgstr ""
-#: ../../mod/import.php:371
-msgid "You must be logged in to use this feature."
+#: ../../mod/settings.php:922
+msgid "Very Public - extremely permissive"
msgstr ""
-#: ../../mod/import.php:376
-msgid "Import Channel"
+#: ../../mod/settings.php:923
+msgid "Typical - default public, privacy when desired"
msgstr ""
-#: ../../mod/import.php:377
-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."
+#: ../../mod/settings.php:924
+msgid "Private - default private, rarely open or public"
msgstr ""
-#: ../../mod/import.php:378
-msgid "File to Upload"
+#: ../../mod/settings.php:925
+msgid "Blocked - default blocked to/from everybody"
msgstr ""
-#: ../../mod/import.php:379
-msgid "Or provide the old server/hub details"
+#: ../../mod/settings.php:928
+msgid "Maximum Friend Requests/Day:"
msgstr ""
-#: ../../mod/import.php:380
-msgid "Your old identity address (xyz@example.com)"
+#: ../../mod/settings.php:928
+msgid "May reduce spam activity"
msgstr ""
-#: ../../mod/import.php:381
-msgid "Your old login email address"
+#: ../../mod/settings.php:929
+msgid "Default Post Permissions"
msgstr ""
-#: ../../mod/import.php:382
-msgid "Your old login password"
+#: ../../mod/settings.php:941
+msgid "Maximum private messages per day from unknown people:"
msgstr ""
-#: ../../mod/import.php:383
-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."
+#: ../../mod/settings.php:941
+msgid "Useful to reduce spamming"
msgstr ""
-#: ../../mod/import.php:384
-msgid "Make this hub my primary location"
+#: ../../mod/settings.php:944
+msgid "Notification Settings"
msgstr ""
-#: ../../mod/manage.php:63
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
+#: ../../mod/settings.php:945
+msgid "By default post a status message when:"
msgstr ""
-#: ../../mod/manage.php:71
-msgid "Create a new channel"
+#: ../../mod/settings.php:946
+msgid "accepting a friend request"
msgstr ""
-#: ../../mod/manage.php:76
-msgid "Channel Manager"
+#: ../../mod/settings.php:947
+msgid "joining a forum/community"
msgstr ""
-#: ../../mod/manage.php:77
-msgid "Current Channel"
+#: ../../mod/settings.php:948
+msgid "making an <em>interesting</em> profile change"
msgstr ""
-#: ../../mod/manage.php:79
-msgid "Attach to one of your channels by selecting it."
+#: ../../mod/settings.php:949
+msgid "Send a notification email when:"
msgstr ""
-#: ../../mod/manage.php:80
-msgid "Default Channel"
+#: ../../mod/settings.php:950
+msgid "You receive an introduction"
msgstr ""
-#: ../../mod/manage.php:81
-msgid "Make Default"
+#: ../../mod/settings.php:951
+msgid "Your introductions are confirmed"
msgstr ""
-#: ../../mod/vote.php:97
-msgid "Total votes"
+#: ../../mod/settings.php:952
+msgid "Someone writes on your profile wall"
msgstr ""
-#: ../../mod/vote.php:98
-msgid "Average Rating"
+#: ../../mod/settings.php:953
+msgid "Someone writes a followup comment"
msgstr ""
-#: ../../mod/match.php:16
-msgid "Profile Match"
+#: ../../mod/settings.php:954
+msgid "You receive a private message"
msgstr ""
-#: ../../mod/match.php:24
-msgid "No keywords to match. Please add keywords to your default profile."
+#: ../../mod/settings.php:955
+msgid "You receive a friend suggestion"
msgstr ""
-#: ../../mod/match.php:61
-msgid "is interested in:"
+#: ../../mod/settings.php:956
+msgid "You are tagged in a post"
msgstr ""
-#: ../../mod/match.php:69
-msgid "No matches"
+#: ../../mod/settings.php:957
+msgid "You are poked/prodded/etc. in a post"
msgstr ""
-#: ../../mod/crepair.php:102
-msgid "Contact settings applied."
+#: ../../mod/settings.php:960
+msgid "Advanced Account/Page Type Settings"
msgstr ""
-#: ../../mod/crepair.php:104
-msgid "Contact update failed."
+#: ../../mod/settings.php:961
+msgid "Change the behaviour of this account for special situations"
msgstr ""
-#: ../../mod/crepair.php:129 ../../mod/fsuggest.php:20
-#: ../../mod/fsuggest.php:92
-msgid "Contact not found."
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
msgstr ""
-#: ../../mod/crepair.php:135
-msgid "Repair Contact Settings"
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
msgstr ""
-#: ../../mod/crepair.php:137
-msgid ""
-"<strong>WARNING: This is highly advanced</strong> and if you enter incorrect "
-"information your communications with this contact may stop working."
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
msgstr ""
-#: ../../mod/crepair.php:138
-msgid ""
-"Please use your browser 'Back' button <strong>now</strong> if you are "
-"uncertain what to do on this page."
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
msgstr ""
-#: ../../mod/crepair.php:144
-msgid "Return to contact editor"
+#: ../../mod/mail.php:121 ../../mod/message.php:31
+msgid "Messages"
msgstr ""
-#: ../../mod/crepair.php:149
-msgid "Account Nickname"
+#: ../../mod/mail.php:132
+msgid "Message deleted."
msgstr ""
-#: ../../mod/crepair.php:150
-msgid "@Tagname - overrides Name/Nickname"
+#: ../../mod/mail.php:149
+msgid "Message recalled."
msgstr ""
-#: ../../mod/crepair.php:151
-msgid "Account URL"
+#: ../../mod/mail.php:206
+msgid "Send Private Message"
msgstr ""
-#: ../../mod/crepair.php:152
-msgid "Friend Request URL"
+#: ../../mod/mail.php:207 ../../mod/mail.php:323
+msgid "To:"
msgstr ""
-#: ../../mod/crepair.php:153
-msgid "Friend Confirm URL"
+#: ../../mod/mail.php:212 ../../mod/mail.php:325
+msgid "Subject:"
msgstr ""
-#: ../../mod/crepair.php:154
-msgid "Notification Endpoint URL"
+#: ../../mod/mail.php:249
+msgid "Message not found."
msgstr ""
-#: ../../mod/crepair.php:155
-msgid "Poll/Feed URL"
+#: ../../mod/mail.php:292 ../../mod/message.php:72
+msgid "Delete message"
msgstr ""
-#: ../../mod/crepair.php:156
-msgid "New photo from this URL"
+#: ../../mod/mail.php:293
+msgid "Recall message"
msgstr ""
-#: ../../mod/zfinger.php:23
-msgid "invalid target signature"
+#: ../../mod/mail.php:295
+msgid "Message has been recalled."
msgstr ""
-#: ../../mod/follow.php:25
-msgid "Channel added."
+#: ../../mod/mail.php:312
+msgid "Private Conversation"
+msgstr ""
+
+#: ../../mod/mail.php:316
+msgid "Delete conversation"
+msgstr ""
+
+#: ../../mod/mail.php:318
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr ""
+
+#: ../../mod/mail.php:322
+msgid "Send Reply"
msgstr ""
-#: ../../mod/editlayout.php:36 ../../mod/editwebpage.php:30
-#: ../../mod/editpost.php:20 ../../mod/editblock.php:36
+#: ../../mod/editlayout.php:36 ../../mod/editpost.php:20
+#: ../../mod/editwebpage.php:32 ../../mod/editblock.php:36
msgid "Item not found"
msgstr ""
-#: ../../mod/editlayout.php:68
+#: ../../mod/editlayout.php:72
msgid "Edit Layout"
msgstr ""
-#: ../../mod/editlayout.php:104 ../../mod/editwebpage.php:123
-#: ../../mod/editpost.php:101 ../../mod/editblock.php:118
+#: ../../mod/editlayout.php:82
+msgid "Delete layout?"
+msgstr ""
+
+#: ../../mod/editlayout.php:110 ../../mod/editpost.php:102
+#: ../../mod/editwebpage.php:148 ../../mod/editblock.php:124
msgid "Insert YouTube video"
msgstr ""
-#: ../../mod/editlayout.php:105 ../../mod/editwebpage.php:124
-#: ../../mod/editpost.php:102 ../../mod/editblock.php:119
+#: ../../mod/editlayout.php:111 ../../mod/editpost.php:103
+#: ../../mod/editwebpage.php:149 ../../mod/editblock.php:125
msgid "Insert Vorbis [.ogg] video"
msgstr ""
-#: ../../mod/editlayout.php:106 ../../mod/editwebpage.php:125
-#: ../../mod/editpost.php:103 ../../mod/editblock.php:120
+#: ../../mod/editlayout.php:112 ../../mod/editpost.php:104
+#: ../../mod/editwebpage.php:150 ../../mod/editblock.php:126
msgid "Insert Vorbis [.ogg] audio"
msgstr ""
-#: ../../mod/editlayout.php:140
+#: ../../mod/editlayout.php:147
msgid "Delete Layout"
msgstr ""
-#: ../../mod/profile_photo.php:54
+#: ../../mod/profile_photo.php:44
msgid "Image uploaded but image cropping failed."
msgstr ""
-#: ../../mod/profile_photo.php:107
+#: ../../mod/profile_photo.php:97
msgid "Image resize failed."
msgstr ""
-#: ../../mod/profile_photo.php:151
+#: ../../mod/profile_photo.php:141
msgid ""
"Shift-reload the page or clear browser cache if the new photo does not "
"display immediately."
msgstr ""
-#: ../../mod/profile_photo.php:173
+#: ../../mod/profile_photo.php:163
#, php-format
msgid "Image exceeds size limit of %d"
msgstr ""
-#: ../../mod/profile_photo.php:182
+#: ../../mod/profile_photo.php:172
msgid "Unable to process image."
msgstr ""
-#: ../../mod/profile_photo.php:224 ../../mod/profile_photo.php:272
+#: ../../mod/profile_photo.php:214 ../../mod/profile_photo.php:262
msgid "Photo not available."
msgstr ""
-#: ../../mod/profile_photo.php:291
+#: ../../mod/profile_photo.php:281
msgid "Upload File:"
msgstr ""
-#: ../../mod/profile_photo.php:292
+#: ../../mod/profile_photo.php:282
msgid "Select a profile:"
msgstr ""
-#: ../../mod/profile_photo.php:293
+#: ../../mod/profile_photo.php:283
msgid "Upload Profile Photo"
msgstr ""
-#: ../../mod/profile_photo.php:294
+#: ../../mod/profile_photo.php:284
msgid "Upload"
msgstr ""
-#: ../../mod/profile_photo.php:298
+#: ../../mod/profile_photo.php:288
msgid "skip this step"
msgstr ""
-#: ../../mod/profile_photo.php:298
+#: ../../mod/profile_photo.php:288
msgid "select a photo from your photo albums"
msgstr ""
-#: ../../mod/profile_photo.php:312
+#: ../../mod/profile_photo.php:302
msgid "Crop Image"
msgstr ""
-#: ../../mod/profile_photo.php:313
+#: ../../mod/profile_photo.php:303
msgid "Please adjust the image cropping for optimum viewing."
msgstr ""
-#: ../../mod/profile_photo.php:315
+#: ../../mod/profile_photo.php:305
msgid "Done Editing"
msgstr ""
-#: ../../mod/profile_photo.php:350
+#: ../../mod/profile_photo.php:340
msgid "Image uploaded successfully."
msgstr ""
-#: ../../mod/profile_photo.php:352
+#: ../../mod/profile_photo.php:342
msgid "Image upload failed."
msgstr ""
-#: ../../mod/profile_photo.php:361
+#: ../../mod/profile_photo.php:351
#, php-format
msgid "Image size reduction [%s] failed."
msgstr ""
-#: ../../mod/editwebpage.php:87
-msgid "Edit Webpage"
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
msgstr ""
-#: ../../mod/editwebpage.php:162
-msgid "Delete Webpage"
+#: ../../mod/editpost.php:53
+msgid "Delete item?"
msgstr ""
#: ../../mod/notifications.php:26
msgid "Invalid request identifier."
msgstr ""
-#: ../../mod/notifications.php:76
-msgid "System"
-msgstr ""
-
-#: ../../mod/notifications.php:96
-msgid "Introductions"
-msgstr ""
-
-#: ../../mod/notifications.php:121
-msgid "Show Ignored Requests"
-msgstr ""
-
-#: ../../mod/notifications.php:121
-msgid "Hide Ignored Requests"
-msgstr ""
-
-#: ../../mod/notifications.php:147 ../../mod/notifications.php:193
-msgid "Notification type: "
-msgstr ""
-
-#: ../../mod/notifications.php:148
-msgid "Friend Suggestion"
-msgstr ""
-
-#: ../../mod/notifications.php:150
-#, php-format
-msgid "suggested by %s"
-msgstr ""
-
-#: ../../mod/notifications.php:179
-msgid "Claims to be known to you: "
-msgstr ""
-
-#: ../../mod/notifications.php:179
-msgid "yes"
-msgstr ""
-
-#: ../../mod/notifications.php:179
-msgid "no"
-msgstr ""
-
-#: ../../mod/notifications.php:186
-msgid "Approve as: "
-msgstr ""
-
-#: ../../mod/notifications.php:187
-msgid "Friend"
-msgstr ""
-
-#: ../../mod/notifications.php:188
-msgid "Sharer"
-msgstr ""
-
-#: ../../mod/notifications.php:188
-msgid "Fan/Admirer"
-msgstr ""
-
-#: ../../mod/notifications.php:194
-msgid "Friend/Connect Request"
-msgstr ""
-
-#: ../../mod/notifications.php:194
-msgid "New Follower"
-msgstr ""
-
-#: ../../mod/notifications.php:215
-msgid "No introductions."
-msgstr ""
-
-#: ../../mod/notifications.php:257 ../../mod/notifications.php:382
-#: ../../mod/notifications.php:465
-#, php-format
-msgid "%s liked %s's post"
-msgstr ""
-
-#: ../../mod/notifications.php:266 ../../mod/notifications.php:391
-#: ../../mod/notifications.php:474
-#, php-format
-msgid "%s disliked %s's post"
-msgstr ""
-
-#: ../../mod/notifications.php:280 ../../mod/notifications.php:405
-#: ../../mod/notifications.php:488
-#, php-format
-msgid "%s is now friends with %s"
-msgstr ""
-
-#: ../../mod/notifications.php:287 ../../mod/notifications.php:412
-#, php-format
-msgid "%s created a new post"
-msgstr ""
-
-#: ../../mod/notifications.php:288 ../../mod/notifications.php:413
-#: ../../mod/notifications.php:497
-#, php-format
-msgid "%s commented on %s's post"
-msgstr ""
-
-#: ../../mod/notifications.php:302
-msgid "No more network notifications."
-msgstr ""
-
-#: ../../mod/notifications.php:306
-msgid "Network Notifications"
+#: ../../mod/notifications.php:35
+msgid "Discard"
msgstr ""
-#: ../../mod/notifications.php:332 ../../mod/notify.php:54
+#: ../../mod/notifications.php:93 ../../mod/notify.php:54
msgid "No more system notifications."
msgstr ""
-#: ../../mod/notifications.php:336 ../../mod/notify.php:58
+#: ../../mod/notifications.php:97 ../../mod/notify.php:58
msgid "System Notifications"
msgstr ""
-#: ../../mod/notifications.php:427
-msgid "No more personal notifications."
-msgstr ""
-
-#: ../../mod/notifications.php:431
-msgid "Personal Notifications"
-msgstr ""
-
-#: ../../mod/notifications.php:504
-msgid "No more home notifications."
-msgstr ""
-
-#: ../../mod/notifications.php:508
-msgid "Home Notifications"
-msgstr ""
-
#: ../../mod/blocks.php:65
msgid "Block Name"
msgstr ""
@@ -6570,11 +6468,19 @@ msgstr ""
msgid "Post successful."
msgstr ""
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
+#: ../../mod/editwebpage.php:106
+msgid "Edit Webpage"
msgstr ""
-#: ../../mod/profile.php:112
+#: ../../mod/editwebpage.php:116
+msgid "Delete webpage?"
+msgstr ""
+
+#: ../../mod/editwebpage.php:189
+msgid "Delete Webpage"
+msgstr ""
+
+#: ../../mod/profile.php:64 ../../mod/profile.php:72
msgid "Access to this profile has been restricted."
msgstr ""
@@ -6598,11 +6504,15 @@ msgstr ""
msgid "Make this post private"
msgstr ""
-#: ../../mod/wall_upload.php:41 ../../mod/item.php:1074
+#: ../../mod/wall_upload.php:41 ../../mod/item.php:1075
msgid "Wall Photos"
msgstr ""
-#: ../../mod/channel.php:107
+#: ../../mod/channel.php:25
+msgid "You must be logged in to see this page."
+msgstr ""
+
+#: ../../mod/channel.php:85
msgid "Insufficient permissions. Request redirected to profile page."
msgstr ""
@@ -6618,8 +6528,8 @@ msgstr ""
msgid "No results."
msgstr ""
-#: ../../mod/fbrowser.php:114
-msgid "Files"
+#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
+msgid "Contact not found."
msgstr ""
#: ../../mod/fsuggest.php:63
@@ -6635,111 +6545,93 @@ msgstr ""
msgid "Suggest a friend for %s"
msgstr ""
-#: ../../mod/editblock.php:82
+#: ../../mod/editblock.php:86
msgid "Edit Block"
msgstr ""
-#: ../../mod/editblock.php:156
+#: ../../mod/editblock.php:96
+msgid "Delete block?"
+msgstr ""
+
+#: ../../mod/editblock.php:163
msgid "Delete Block"
msgstr ""
-#: ../../mod/profperm.php:34 ../../mod/profperm.php:64
+#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
msgid "Invalid profile identifier."
msgstr ""
-#: ../../mod/profperm.php:110
+#: ../../mod/profperm.php:105
msgid "Profile Visibility Editor"
msgstr ""
-#: ../../mod/profperm.php:114
+#: ../../mod/profperm.php:109
msgid "Click on a contact to add or remove."
msgstr ""
-#: ../../mod/profperm.php:123
+#: ../../mod/profperm.php:118
msgid "Visible To"
msgstr ""
-#: ../../mod/profperm.php:139
-msgid "All Contacts (with secure profile access)"
-msgstr ""
-
-#: ../../mod/item.php:144
-msgid "Unable to locate original post."
-msgstr ""
-
-#: ../../mod/item.php:341
-msgid "Empty post discarded."
-msgstr ""
-
-#: ../../mod/item.php:383
-msgid "Executable content type not permitted to this channel."
-msgstr ""
-
-#: ../../mod/item.php:793
-msgid "System error. Post not saved."
-msgstr ""
-
-#: ../../mod/item.php:1153
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr ""
-
-#: ../../mod/item.php:1159
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr ""
-
-#: ../../mod/siteinfo.php:51
+#: ../../mod/siteinfo.php:57
#, php-format
msgid "Version %s"
msgstr ""
-#: ../../mod/siteinfo.php:65
+#: ../../mod/siteinfo.php:76
msgid "Installed plugins/addons/apps:"
msgstr ""
-#: ../../mod/siteinfo.php:78
+#: ../../mod/siteinfo.php:89
msgid "No installed plugins/addons/apps"
msgstr ""
-#: ../../mod/siteinfo.php:81
+#: ../../mod/siteinfo.php:92
msgid "Red"
msgstr ""
-#: ../../mod/siteinfo.php:82
+#: ../../mod/siteinfo.php:93
msgid ""
"This is a hub of the Red Matrix - a global cooperative network of "
"decentralised privacy enhanced websites."
msgstr ""
-#: ../../mod/siteinfo.php:84
+#: ../../mod/siteinfo.php:96
msgid "Running at web location"
msgstr ""
-#: ../../mod/siteinfo.php:85
+#: ../../mod/siteinfo.php:97
msgid ""
"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
"about the Red Matrix."
msgstr ""
-#: ../../mod/siteinfo.php:86
+#: ../../mod/siteinfo.php:98
msgid "Bug reports and issues: please visit"
msgstr ""
-#: ../../mod/siteinfo.php:89
+#: ../../mod/siteinfo.php:101
msgid ""
"Suggestions, praise, donations, etc. - please email \"redmatrix\" at "
"librelist - dot com"
msgstr ""
-#: ../../mod/suggest.php:41
+#: ../../mod/suggest.php:35
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
"hours."
msgstr ""
-#: ../../mod/suggest.php:58
-msgid "Ignore/Hide"
+#: ../../mod/message.php:41
+msgid "Conversation removed."
+msgstr ""
+
+#: ../../mod/message.php:56
+msgid "No messages."
+msgstr ""
+
+#: ../../mod/message.php:74
+msgid "D, d M Y - g:i A"
msgstr ""
#: ../../mod/pubsites.php:22
@@ -6793,43 +6685,51 @@ msgstr ""
msgid "Your registration can not be processed."
msgstr ""
-#: ../../mod/register.php:149
+#: ../../mod/register.php:147
+msgid "Registration on this site/hub is by approval only."
+msgstr ""
+
+#: ../../mod/register.php:148
+msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
+msgstr ""
+
+#: ../../mod/register.php:156
msgid ""
"This site has exceeded the number of allowed daily account registrations. "
"Please try again tomorrow."
msgstr ""
-#: ../../mod/register.php:160
+#: ../../mod/register.php:167
msgid "Terms of Service"
msgstr ""
-#: ../../mod/register.php:166
+#: ../../mod/register.php:173
#, php-format
msgid "I accept the %s for this website"
msgstr ""
-#: ../../mod/register.php:168
+#: ../../mod/register.php:175
#, php-format
msgid "I am over 13 years of age and accept the %s for this website"
msgstr ""
-#: ../../mod/register.php:183
+#: ../../mod/register.php:194
msgid "Membership on this site is by invitation only."
msgstr ""
-#: ../../mod/register.php:184
+#: ../../mod/register.php:195
msgid "Please enter your invitation code"
msgstr ""
-#: ../../mod/register.php:187
+#: ../../mod/register.php:198
msgid "Your email address"
msgstr ""
-#: ../../mod/register.php:188
+#: ../../mod/register.php:199
msgid "Choose a password"
msgstr ""
-#: ../../mod/register.php:189
+#: ../../mod/register.php:200
msgid "Please re-enter your password"
msgstr ""
@@ -6862,37 +6762,79 @@ msgid ""
msgstr ""
#: ../../mod/removeme.php:53
-msgid "Remove My Account"
+msgid "Remove Channel"
msgstr ""
-#: ../../mod/directory.php:163
-msgid "Gender: "
+#: ../../mod/item.php:145
+msgid "Unable to locate original post."
msgstr ""
-#: ../../mod/directory.php:222
-msgid "Finding:"
+#: ../../mod/item.php:346
+msgid "Empty post discarded."
msgstr ""
-#: ../../mod/directory.php:230
-msgid "next page"
+#: ../../mod/item.php:388
+msgid "Executable content type not permitted to this channel."
msgstr ""
-#: ../../mod/directory.php:230
-msgid "previous page"
+#: ../../mod/item.php:819
+msgid "System error. Post not saved."
msgstr ""
-#: ../../mod/directory.php:237
-msgid "No entries (some entries may be hidden)."
+#: ../../mod/item.php:1155
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../mod/mood.php:133
+#: ../../mod/item.php:1161
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr ""
+
+#: ../../mod/mood.php:138
msgid "Mood"
msgstr ""
-#: ../../mod/mood.php:134
+#: ../../mod/mood.php:139
msgid "Set your current mood and tell your friends"
msgstr ""
+#: ../../mod/ping.php:160
+msgid "sent you a private message"
+msgstr ""
+
+#: ../../mod/ping.php:218
+msgid "added your channel"
+msgstr ""
+
+#: ../../mod/ping.php:262
+msgid "posted an event"
+msgstr ""
+
+#: ../../mod/dirprofile.php:111
+msgid "Status: "
+msgstr ""
+
+#: ../../mod/dirprofile.php:112
+msgid "Sexual Preference: "
+msgstr ""
+
+#: ../../mod/dirprofile.php:114
+msgid "Homepage: "
+msgstr ""
+
+#: ../../mod/dirprofile.php:115
+msgid "Hometown: "
+msgstr ""
+
+#: ../../mod/dirprofile.php:117
+msgid "About: "
+msgstr ""
+
+#: ../../mod/dirprofile.php:164
+msgid "Keywords: "
+msgstr ""
+
#: ../../view/theme/redbasic/php/config.php:74
msgid "Scheme Default"
msgstr ""
@@ -7138,41 +7080,41 @@ msgstr ""
msgid "Header image only on profile pages"
msgstr ""
-#: ../../boot.php:1255
+#: ../../boot.php:1229
#, php-format
msgid "Update %s failed. See error logs."
msgstr ""
-#: ../../boot.php:1258
+#: ../../boot.php:1232
#, php-format
msgid "Update Error at %s"
msgstr ""
-#: ../../boot.php:1415
+#: ../../boot.php:1396
msgid ""
"Create an account to access services and applications within the Red Matrix"
msgstr ""
-#: ../../boot.php:1443
+#: ../../boot.php:1424
msgid "Password"
msgstr ""
-#: ../../boot.php:1444
+#: ../../boot.php:1425
msgid "Remember me"
msgstr ""
-#: ../../boot.php:1449
+#: ../../boot.php:1430
msgid "Forgot your password?"
msgstr ""
-#: ../../boot.php:1514
+#: ../../boot.php:1495
msgid "permission denied"
msgstr ""
-#: ../../boot.php:1515
+#: ../../boot.php:1496
msgid "Got Zot?"
msgstr ""
-#: ../../boot.php:1902
+#: ../../boot.php:1892
msgid "toggle mobile"
msgstr ""
diff --git a/util/run_xgettext.sh b/util/run_xgettext.sh
index 4b4e012da..3be355c44 100755
--- a/util/run_xgettext.sh
+++ b/util/run_xgettext.sh
@@ -48,7 +48,7 @@ KEYWORDS="-k -kt -ktt:1,2"
echo "extract strings to $OUTFILE.."
-echo "extract strings to $OUTFILE.."
+
rm "$OUTFILE"; touch "$OUTFILE"
for f in $(find "$FINDSTARTDIR" $FINDOPTS -name "*.php" -type f)
do
@@ -67,15 +67,18 @@ then
sed -i "s/PACKAGE VERSION//g" "$OUTFILE"
sed -i "s/PACKAGE/RedMatrix $ADDONNAME addon/g" "$OUTFILE"
sed -i "s/CHARSET/UTF-8/g" "$OUTFILE"
- sed -i "s/^\"Plural-Forms/#\"Plural-Forms/g" "$OUTFILE"
+ sed -i '/^\"Plural-Forms/d' "$OUTFILE"
else
- sed -i "s/SOME DESCRIPTIVE TITLE./Red Communications Project/g" "$OUTFILE"
- sed -i "s/YEAR THE PACKAGE'S COPYRIGHT HOLDER/2013 the Red Matrix Project/g" "$OUTFILE"
- sed -i "s/FIRST AUTHOR <EMAIL@ADDRESS>, YEAR./Mike Macgirvin, 2013/g" "$OUTFILE"
+ 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/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"
sed -i "s/CHARSET/UTF-8/g" "$OUTFILE"
- sed -i "s/^\"Plural-Forms/#\"Plural-Forms/g" "$OUTFILE"
+ sed -i '/^\"Plural-Forms/d' "$OUTFILE"
fi
+#grep -v "Plural-Forms:" $OUTFILE > tmpout
+#mv tmpout $OUTFILE
+
echo "done."
diff --git a/version.inc b/version.inc
index e228ff0df..36c8c7342 100644
--- a/version.inc
+++ b/version.inc
@@ -1 +1 @@
-2013-12-10.523
+2014-01-29.572
diff --git a/view/css/conversation.css b/view/css/conversation.css
index 5bf6a3607..3396863e7 100644
--- a/view/css/conversation.css
+++ b/view/css/conversation.css
@@ -55,6 +55,8 @@
#profile-expires,
#profile-expires,
#jot-perms-icon,
+#jot-preview-link,
+#profile-encrypt,
.hover, .focus {
cursor: pointer;
}
@@ -110,7 +112,7 @@
/* conversation */
-.thread-wrapper .toplevel_item {
+.thread-wrapper.toplevel_item {
width: 92%;
}
@@ -125,6 +127,14 @@
position: relative;
}
+.wall-item-content-wrapper .wall-item-delete-wrapper {
+ opacity: 0;
+}
+
+.wall-item-content-wrapper:hover .wall-item-delete-wrapper {
+ opacity: 1;
+}
+
.wall-item-info {
display: block;
float: left;
@@ -321,11 +331,6 @@
filter:alpha(opacity=100);
}
-.wall-item-like.comment,
-.wall-item-dislike.comment {
- margin-left: 50px;
-}
-
.wall-item-like,
.wall-item-dislike {
margin-top: 5px;
diff --git a/view/css/mod_connections.css b/view/css/mod_connections.css
index ee2ea52ac..c460fec28 100644
--- a/view/css/mod_connections.css
+++ b/view/css/mod_connections.css
@@ -38,56 +38,6 @@
margin-bottom: 20px;
}
-.contact-entry-wrapper {
- float: left;
- width: 120px;
- height: 120px;
- padding: 10px;
-}
-
-#contacts-search {
- font-size: 1em;
- width: 300px;
-}
-
-#contacts-search-end {
- margin-bottom: 10px;
-}
-
-.contact-entry-photo img {
- border: none;
-}
-.contact-entry-photo-end {
- clear: both;
-}
-.contact-entry-name {
- float: left;
- margin-left: 0px;
- margin-right: 10px;
- width: 120px;
- overflow: hidden;
-}
-.contact-entry-edit-links {
- margin-top: 6px;
- margin-left: 10px;
- width: 16px;
-}
-.contact-entry-nav-wrapper {
- float: left;
- margin-left: 10px;
-}
-
-.contact-entry-edit-links img {
- border: none;
- margin-right: 15px;
-}
-.contact-entry-photo {
- float: left;
- position: relative;
-}
-.contact-entry-end {
- clear: both;
-}
#contact-edit-wrapper {
@@ -154,3 +104,34 @@
margin-top: 20px;
}
+.contact-entry-wrapper {
+ float: left;
+ width: 120px;
+ height: 120px;
+ padding: 10px;
+}
+
+#contacts-search {
+ font-size: 1em;
+ width: 300px;
+}
+
+#contacts-search-end {
+ margin-bottom: 10px;
+}
+
+.contact-entry-photo-end {
+ clear: both;
+}
+
+.contact-entry-name {
+ float: left;
+ margin-left: 0px;
+ margin-right: 10px;
+ width: 120px;
+ overflow: hidden;
+}
+
+.contact-entry-end {
+ clear: both;
+}
diff --git a/view/css/mod_connedit.css b/view/css/mod_connedit.css
new file mode 100644
index 000000000..c460fec28
--- /dev/null
+++ b/view/css/mod_connedit.css
@@ -0,0 +1,137 @@
+
+.field_abook_help {
+ color: #000;
+}
+.abook-them {
+ margin-left: 375px;
+ margin-bottom: 15px;
+}
+.abook-me {
+ margin-left: 36px;
+ margin-bottom: 15px;
+}
+.acheckbox {
+ margin-bottom: 5px !important;
+}
+
+.abook-pending-contact {
+ background: orange;
+ font-weight: bold;
+ margin: 10px;
+ padding: 20px 5px 10px;
+}
+
+#contact-slider {
+ width: 600px !important;
+}
+
+.abook-edit-them, .abook-edit-me {
+ float: left;
+ width: 100px !important;
+}
+.field_abook_help {
+ float: left;
+}
+
+#contacts-main {
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+
+
+#contact-edit-wrapper {
+ margin-top: 10px;
+}
+
+#contact-edit-banner-name {
+ font-size: 1.4em;
+ font-weight: bold;
+}
+
+#contact-edit-poll-wrapper {
+ margin-top: 15px;
+}
+
+#contact-edit-poll-text {
+ margin-top: 15px;
+ margin-bottom: 5px;
+}
+
+#contact-edit-update-now {
+ margin-top: 15px;
+}
+
+#contact-edit-links{
+ clear: both;
+}
+
+#contact-edit-links ul {
+ list-style: none;
+ list-style-type: none;
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+#contact-edit-links li {
+ margin-top: 5px;
+}
+
+#contact-edit-drop-link {
+ float: right;
+ margin-right: 20px;
+}
+
+#contact-edit-nav-end {
+ clear: both;
+}
+
+#contact-edit-wrapper {
+ width: 100%;
+}
+
+#contact-edit-end {
+ clear: both;
+ margin-top: 15px;
+}
+
+#contact-profile-selector {
+ width: 175px;
+ margin-left: 175px;
+}
+
+.contact-edit-submit {
+ margin-top: 20px;
+}
+
+.contact-entry-wrapper {
+ float: left;
+ width: 120px;
+ height: 120px;
+ padding: 10px;
+}
+
+#contacts-search {
+ font-size: 1em;
+ width: 300px;
+}
+
+#contacts-search-end {
+ margin-bottom: 10px;
+}
+
+.contact-entry-photo-end {
+ clear: both;
+}
+
+.contact-entry-name {
+ float: left;
+ margin-left: 0px;
+ margin-right: 10px;
+ width: 120px;
+ overflow: hidden;
+}
+
+.contact-entry-end {
+ clear: both;
+}
diff --git a/view/css/mod_directory.css b/view/css/mod_directory.css
index 578777054..bc8054937 100644
--- a/view/css/mod_directory.css
+++ b/view/css/mod_directory.css
@@ -37,3 +37,8 @@
div.dirtagblock.widget {
overflow: hidden;
}
+
+.dirpopup {
+ float: left;
+ width: 225px;
+}
diff --git a/view/css/mod_filestorage.css b/view/css/mod_filestorage.css
new file mode 100644
index 000000000..98fa8e93d
--- /dev/null
+++ b/view/css/mod_filestorage.css
@@ -0,0 +1,11 @@
+#attach-edit-backlink, #cutpasteinput, #linkpasteinput {
+ margin-bottom: 10px;
+}
+
+#attach-edit-submit {
+ margin-top: 20px;
+}
+
+#cutpasteinput, #linkpasteinput {
+ width: 600px;
+} \ No newline at end of file
diff --git a/view/css/mod_mail.css b/view/css/mod_mail.css
new file mode 100644
index 000000000..c278f4d53
--- /dev/null
+++ b/view/css/mod_mail.css
@@ -0,0 +1,100 @@
+/* message */
+
+#mail-list-wrapper {
+ border-top: 1px solid #ccc;
+ padding: 5px 5px 5px 5px;
+}
+
+span.mail-list {
+ float: left;
+ width: 20%;
+}
+
+img.mail-list-sender-photo {
+ height: 24px;
+ width: 24px;
+ float: left;
+ margin-right: 30px;
+}
+
+.mail-list-remove {
+ width: 5% !important;
+}
+
+/* message/new */
+
+#prvmail-to-label,
+#prvmail-subject-label,
+#prvmail-expires-label,
+#prvmail-message-label {
+ margin-bottom: 10px;
+ margin-top: 20px;
+}
+
+#prvmail-submit {
+ float: left;
+ margin-top: 10px;
+ margin-right: 30px;
+}
+
+#prvmail-upload-wrapper,
+#prvmail-attach-wrapper,
+#prvmail-link-wrapper,
+#prvmail-expire-wrapper,
+#prvmail-encrypt-wrapper,
+#prvmail-rotator-wrapper {
+ float: left;
+ margin-top: 10px;
+ margin-right: 10px;
+ width: 24px;
+ cursor: pointer;
+}
+
+#prvmail-end {
+ clear: both;
+}
+
+/* message/id */
+
+.mail-conv-outside-wrapper {
+ margin-top: 30px;
+}
+
+.mail-conv-sender,
+.mail-conv-detail {
+ float: left;
+}
+
+.mail-conv-detail {
+ margin-left: 20px;
+ width: 500px;
+}
+
+.mail-conv-subject {
+ font-size: 1.4em;
+ margin: 10px 0;
+}
+
+.mail-conv-delete-wrapper {
+ float: right;
+ margin-right: 30px;
+ margin-top: 15px;
+}
+
+.mail-conv-delete-icon {
+ border: none;
+}
+
+.mail-conv-recall-wrapper {
+ float: right;
+ margin-right: 10px;
+ margin-top: 15px;
+}
+
+.mail-conv-outside-wrapper-end {
+ clear: both;
+}
+
+.mail-conv-break {
+ clear: both;
+}
diff --git a/view/css/mod_profiles.css b/view/css/mod_profiles.css
index 8378245d2..5f930248f 100644
--- a/view/css/mod_profiles.css
+++ b/view/css/mod_profiles.css
@@ -13,6 +13,16 @@
}
+#profile-listing-desc, #profile-stuff-link {
+ margin-left: 30px;
+}
+
+#profile-listing-new-link-wrapper {
+ margin-left: 30px;
+ margin-bottom: 30px;
+}
+
+
#profile-edit-links-end {
clear: both;
margin-bottom: 15px;
@@ -35,9 +45,11 @@
margin-top: 10px;
}
-#profile-edit-with-label {
+#profile-edit-with-label, #profile-edit-howlong-label {
+
width: 175px;
- margin-left: 20px;
+ margin-left: 50px;
+ margin-bottom: 20px;
}
#profile-edit-profile-name-label,
diff --git a/view/css/mod_register.css b/view/css/mod_register.css
index aca6ee002..b662610ae 100644
--- a/view/css/mod_register.css
+++ b/view/css/mod_register.css
@@ -10,6 +10,13 @@ h2 {
margin-top: 5%;
}
+#register-desc, #register-text, #register-sites {
+ font-weight: bold;
+ margin-bottom: 15px;
+ padding: 8px;
+ border: 1px solid #ccc;
+}
+
.register-label {
float: left;
width: 275px;
diff --git a/view/css/widgets.css b/view/css/widgets.css
new file mode 100644
index 000000000..a34508961
--- /dev/null
+++ b/view/css/widgets.css
@@ -0,0 +1,123 @@
+.widget {
+ padding: 8px;
+ margin-top: 5px;
+}
+
+/* suggest */
+
+.suggest-widget-more {
+ margin-top: 10px;
+}
+
+/* follow */
+
+#side-follow-url {
+ margin-top: 5px;
+}
+
+#side-follow-submit {
+ margin-top: 15px;
+}
+
+/* notes */
+
+#note-text {
+ width: 190px;
+ max-width: 190px;
+ height: 150px;
+}
+
+#note-save {
+ margin-top: 10px;
+}
+
+/* saved searches */
+
+.saved-search-li {
+ margin-top: 3px;
+}
+
+.saved-search-li i {
+ opacity: 0;
+}
+
+.saved-search-li:hover i {
+ opacity: 1;
+}
+
+.savedsearchterm {
+ margin-left: 10px;
+}
+
+/* fileas */
+
+.fileas-ul li {
+ margin-top: 10px;
+}
+
+.fileas-link {
+ margin-left: 24px;
+}
+
+.fileas-all {
+ margin-left: 0px;
+}
+
+/* posted date */
+
+#datebrowse-sidebar select {
+ width: 190px;
+ max-width: 190px;
+ height: 150px;
+}
+
+/* categories */
+
+.categories-ul li {
+ margin-top: 10px;
+}
+
+.categories-link {
+ margin-left: 24px;
+}
+
+.categories-all {
+ margin-left: 0px;
+}
+
+/* group */
+
+#group-sidebar {
+ margin-bottom: 10px;
+}
+
+#sidebar-group-list .icon, #sidebar-group-list .iconspacer {
+ display: inline-block;
+ height: 12px;
+ width: 12px;
+}
+
+#sidebar-group-list li {
+ margin-top: 3px;
+}
+
+.groupsideedit {
+ margin-right: 10px;
+}
+
+.group-edit-icon {
+ opacity: 0;
+}
+
+/* affinity - slider */
+
+#main-slider {
+ position: relative;
+ left: 5px;
+ width: 90%;
+}
+
+.slider {
+ margin-top: 10px;
+ margin-bottom: 45px;
+}
diff --git a/view/de/messages.po b/view/de/messages.po
index 2221d039d..68f1e0dd5 100644
--- a/view/de/messages.po
+++ b/view/de/messages.po
@@ -1,5 +1,5 @@
-# Red Communications Project
-# Copyright (C) 2013 the Red Matrix Project
+# Red Matrix Project
+# Copyright (C) 2012-2014 the Red Matrix Project
# This file is distributed under the same license as the Red package.
#
# Translators:
@@ -13,15 +13,15 @@
# Fraengii <frank@lumina-verte.org>, 2013
# Fraengii <frank@lumina-verte.org>, 2013
# Oliver <post@toktan.org>, 2013
-# bavatar <tobias.diekershoff@gmx.net>, 2013
-# zottel <transifex@zottel.net>, 2013
+# bavatar <tobias.diekershoff@gmx.net>, 2013-2014
+# zottel <transifex@zottel.net>, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: Red Matrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-29 00:03-0800\n"
-"PO-Revision-Date: 2013-12-05 18:04+0000\n"
-"Last-Translator: zottel <transifex@zottel.net>\n"
+"POT-Creation-Date: 2014-01-23 02:30-0800\n"
+"PO-Revision-Date: 2014-01-25 06:22+0000\n"
+"Last-Translator: bavatar <tobias.diekershoff@gmx.net>\n"
"Language-Team: German (http://www.transifex.com/projects/p/red-matrix/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -41,467 +41,286 @@ msgstr "zeigen"
msgid "don't show"
msgstr "Verbergen"
-#: ../../include/activities.php:37
+#: ../../include/activities.php:39
msgid " and "
msgstr "und"
-#: ../../include/activities.php:45
+#: ../../include/activities.php:47
msgid "public profile"
msgstr "öffentliches Profil"
-#: ../../include/activities.php:50
+#: ../../include/activities.php:52
#, 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:51
+#: ../../include/activities.php:53
#, php-format
msgid "Visit %1$s's %2$s"
msgstr "Besuche %1$s's %2$s"
-#: ../../include/activities.php:54
+#: ../../include/activities.php:56
#, 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/enotify.php:36
-msgid "Red Matrix Notification"
-msgstr "Red Matrix Benachrichtigung"
-
-#: ../../include/enotify.php:37
-msgid "redmatrix"
-msgstr "redmatrix"
-
-#: ../../include/enotify.php:39
-msgid "Thank You,"
-msgstr "Danke."
-
-#: ../../include/enotify.php:41
-#, php-format
-msgid "%s Administrator"
-msgstr "%s Administrator"
-
-#: ../../include/enotify.php:76
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
-
-#: ../../include/enotify.php:80
-#, php-format
-msgid "[Red:Notify] New mail received at %s"
-msgstr "[Red Notify] Neue Mail auf %s empfangen"
-
-#: ../../include/enotify.php:82
-#, 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:83
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s hat dir %2$s geschickt."
-
-#: ../../include/enotify.php:83
-msgid "a private message"
-msgstr "eine private Nachricht"
-
-#: ../../include/enotify.php:84
-#, 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:135
-#, 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]a %4$s[/zrl] kommentiert"
-
-#: ../../include/enotify.php:143
-#, 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:152
-#, 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:163
-#, php-format
-msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Red:Notify] Kommentar in Unterhaltung #%1$d von %2$s"
-
-#: ../../include/enotify.php:164
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s hat ein Thema kommentiert, dem du folgst."
-
-#: ../../include/enotify.php:167 ../../include/enotify.php:186
-#: ../../include/enotify.php:212 ../../include/enotify.php:231
-#: ../../include/enotify.php:245
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Bitte besuche %s, um die Konversation anzusehen und/oder zu kommentieren."
-
-#: ../../include/enotify.php:174
-#, php-format
-msgid "[Red:Notify] %s posted to your profile wall"
-msgstr "[Red:Hinweis] %s schrieb auf Deine Pinnwand"
-
-#: ../../include/enotify.php:176
-#, 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:178
-#, 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:205
-#, php-format
-msgid "[Red:Notify] %s tagged you"
-msgstr "[Red Notify] %s hat dich getaggt"
+#: ../../include/api.php:973
+msgid "Public Timeline"
+msgstr "Öffentliche Zeitleiste"
-#: ../../include/enotify.php:206
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, %2$s hat dich auf %3$s getaggt"
+#: ../../include/nav.php:72 ../../include/nav.php:87 ../../boot.php:1420
+msgid "Logout"
+msgstr "Abmelden"
-#: ../../include/enotify.php:207
-#, 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/nav.php:72 ../../include/nav.php:87
+msgid "End this session"
+msgstr "Beende diese Sitzung"
-#: ../../include/enotify.php:220
-#, php-format
-msgid "[Red:Notify] %1$s poked you"
-msgstr "[Red Notify] %1$s hat dich angestupst"
+#: ../../include/nav.php:75 ../../include/nav.php:121
+msgid "Home"
+msgstr "Home"
-#: ../../include/enotify.php:221
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s hat dich auf %3$s angestubst"
+#: ../../include/nav.php:75
+msgid "Your posts and conversations"
+msgstr "Deine Beiträge und Unterhaltungen"
-#: ../../include/enotify.php:222
-#, 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/nav.php:76 ../../include/conversation.php:932
+#: ../../mod/connedit.php:309 ../../mod/connedit.php:423
+msgid "View Profile"
+msgstr "Profil ansehen"
-#: ../../include/enotify.php:238
-#, php-format
-msgid "[Red:Notify] %s tagged your post"
-msgstr "[Red:Hinweis] %s hat Dich getagged"
+#: ../../include/nav.php:76
+msgid "Your profile page"
+msgstr "Deine Profilseite"
-#: ../../include/enotify.php:239
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s hat deinen Beitrag auf %3$s getaggt"
+#: ../../include/nav.php:78
+msgid "Edit Profiles"
+msgstr "Profile bearbeiten"
-#: ../../include/enotify.php:240
-#, 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] getaggt"
+#: ../../include/nav.php:78
+msgid "Manage/Edit Profiles"
+msgstr "Verwalte/Bearbeite Profile"
-#: ../../include/enotify.php:252
-msgid "[Red:Notify] Introduction received"
-msgstr "[Red:Notify] Vorstellung erhalten"
+#: ../../include/nav.php:79 ../../include/conversation.php:1473
+#: ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr "Fotos"
-#: ../../include/enotify.php:253
-#, php-format
-msgid "%1$s, you've received an introduction from '%2$s' at %3$s"
-msgstr "%1$s, du hast eine Vorstellung von „%2$s“ auf %3$s erhalten"
+#: ../../include/nav.php:79
+msgid "Your photos"
+msgstr "Deine Bilder"
-#: ../../include/enotify.php:254
-#, php-format
-msgid "%1$s, you've received [zrl=%2$s]an introduction[/zrl] from %3$s."
-msgstr "%1$s, du hast [zrl=%2$s]eine Vorstellung[/zrl] von %3$s erhalten."
+#: ../../include/nav.php:85 ../../boot.php:1421
+msgid "Login"
+msgstr "Anmelden"
-#: ../../include/enotify.php:258 ../../include/enotify.php:277
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Du kannst Dir das Profil unter %s ansehen"
+#: ../../include/nav.php:85
+msgid "Sign in"
+msgstr "Anmelden"
-#: ../../include/enotify.php:260
+#: ../../include/nav.php:102
#, php-format
-msgid "Please visit %s to approve or reject the introduction."
-msgstr "Bitte besuche %s um sie anzunehmen oder abzulehnen."
-
-#: ../../include/enotify.php:267
-msgid "[Red:Notify] Friend suggestion received"
-msgstr "[Red:Hinweis] Freundschaftsvorschlag erhalten"
+msgid "%s - click to logout"
+msgstr "%s - Klick zum Abmelden"
-#: ../../include/enotify.php:268
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, du hast einen Freundschaftsvorschlag von „%2$s“ auf %3$s erhalten"
+#: ../../include/nav.php:107
+msgid "Click to authenticate to your home hub"
+msgstr "Klick zum Authentifizieren bei Deinem Heimat-Hub"
-#: ../../include/enotify.php:269
-#, 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 Freundschaftvorschlag[/zrl] für %3$s von %4$s erhalten."
+#: ../../include/nav.php:121
+msgid "Home Page"
+msgstr "Homepage"
-#: ../../include/enotify.php:275
-msgid "Name:"
-msgstr "Name:"
+#: ../../include/nav.php:125 ../../mod/register.php:206 ../../boot.php:1397
+msgid "Register"
+msgstr "Registrieren"
-#: ../../include/enotify.php:276
-msgid "Photo:"
-msgstr "Foto:"
+#: ../../include/nav.php:125
+msgid "Create an account"
+msgstr "Erzeuge ein Konto"
-#: ../../include/enotify.php:279
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen."
+#: ../../include/nav.php:130 ../../mod/help.php:60 ../../mod/help.php:64
+msgid "Help"
+msgstr "Hilfe"
-#: ../../include/ItemObject.php:88 ../../mod/photos.php:952
-msgid "Private Message"
-msgstr "Private Nachricht"
+#: ../../include/nav.php:130
+msgid "Help and documentation"
+msgstr "Hilfe und Dokumentation"
-#: ../../include/ItemObject.php:95 ../../include/page_widgets.php:8
-#: ../../mod/webpages.php:101 ../../mod/settings.php:713 ../../mod/menu.php:55
-#: ../../mod/layouts.php:102 ../../mod/editlayout.php:100
-#: ../../mod/editwebpage.php:119 ../../mod/blocks.php:93
-#: ../../mod/editpost.php:97 ../../mod/editblock.php:114
-msgid "Edit"
-msgstr "Bearbeiten"
+#: ../../include/nav.php:133
+msgid "Apps"
+msgstr "Apps"
-#: ../../include/ItemObject.php:107 ../../include/conversation.php:628
-#: ../../mod/settings.php:714 ../../mod/admin.php:690 ../../mod/group.php:182
-#: ../../mod/photos.php:1130 ../../mod/connections.php:374
-#: ../../mod/filestorage.php:82
-msgid "Delete"
-msgstr "Löschen"
+#: ../../include/nav.php:133
+msgid "Addon applications, utilities, games"
+msgstr "Addon Programme, Helferlein, Spiele"
-#: ../../include/ItemObject.php:113 ../../include/conversation.php:627
-msgid "Select"
-msgstr "Auswählen"
+#: ../../include/nav.php:135 ../../include/text.php:736
+#: ../../include/text.php:750 ../../mod/search.php:29
+msgid "Search"
+msgstr "Suche"
-#: ../../include/ItemObject.php:117
-msgid "save to folder"
-msgstr "In Ordner speichern"
+#: ../../include/nav.php:135
+msgid "Search site content"
+msgstr "Durchsuche Seiten-Inhalt"
-#: ../../include/ItemObject.php:145
-msgid "add star"
-msgstr "markieren"
+#: ../../include/nav.php:138 ../../mod/directory.php:210
+msgid "Directory"
+msgstr "Verzeichnis"
-#: ../../include/ItemObject.php:146
-msgid "remove star"
-msgstr "Markierung entfernen"
+#: ../../include/nav.php:138
+msgid "Channel Locator"
+msgstr "Kanal-Anzeiger"
-#: ../../include/ItemObject.php:147
-msgid "toggle star status"
-msgstr "Stern-Status umschalten"
+#: ../../include/nav.php:149
+msgid "Matrix"
+msgstr "Matrix"
-#: ../../include/ItemObject.php:151
-msgid "starred"
-msgstr "markiert"
+#: ../../include/nav.php:149
+msgid "Your matrix"
+msgstr "Deine Matrix"
-#: ../../include/ItemObject.php:160 ../../include/conversation.php:638
-msgid "Message is verified"
-msgstr "Nachricht überprüft"
+#: ../../include/nav.php:150
+msgid "Mark all matrix notifications seen"
+msgstr "Markiere alle Matrix-Benachrichtigungen als angesehen"
-#: ../../include/ItemObject.php:168
-msgid "add tag"
-msgstr "Schlagwort hinzufügen"
+#: ../../include/nav.php:152
+msgid "Channel Home"
+msgstr "Mein Kanal"
-#: ../../include/ItemObject.php:174 ../../mod/photos.php:1058
-msgid "I like this (toggle)"
-msgstr "Ich mag das (Umschalter)"
+#: ../../include/nav.php:152
+msgid "Channel home"
+msgstr "Mein Kanal"
-#: ../../include/ItemObject.php:174 ../../include/taxonomy.php:251
-msgid "like"
-msgstr "Gefällt-mir"
+#: ../../include/nav.php:153
+msgid "Mark all channel notifications seen"
+msgstr "Markiere alle Kanal-Benachrichtigungen als angesehen"
-#: ../../include/ItemObject.php:175 ../../mod/photos.php:1059
-msgid "I don't like this (toggle)"
-msgstr "Ich mag das nicht (Umschalter)"
+#: ../../include/nav.php:156
+msgid "Intros"
+msgstr "Vorstellungen"
-#: ../../include/ItemObject.php:175 ../../include/taxonomy.php:252
-msgid "dislike"
-msgstr "Gefällt-mir-nicht"
+#: ../../include/nav.php:156 ../../mod/connections.php:242
+msgid "New Connections"
+msgstr "Neue Verbindungen"
-#: ../../include/ItemObject.php:177
-msgid "Share this"
-msgstr "Teile dies"
+#: ../../include/nav.php:159
+msgid "Notices"
+msgstr "Benachrichtigungen"
-#: ../../include/ItemObject.php:177
-msgid "share"
-msgstr "Teilen"
+#: ../../include/nav.php:159
+msgid "Notifications"
+msgstr "Benachrichtigungen"
-#: ../../include/ItemObject.php:201 ../../include/ItemObject.php:202
-#, php-format
-msgid "View %s's profile - %s"
-msgstr "Schaue dir %s's Profil an - %s"
+#: ../../include/nav.php:160
+msgid "See all notifications"
+msgstr "Alle Benachrichtigungen ansehen"
-#: ../../include/ItemObject.php:203
-msgid "to"
-msgstr "zu"
+#: ../../include/nav.php:161
+msgid "Mark all system notifications seen"
+msgstr "Markiere alle System-Benachrichtigungen als gesehen"
-#: ../../include/ItemObject.php:204
-msgid "via"
-msgstr "via"
+#: ../../include/nav.php:163
+msgid "Mail"
+msgstr "Mail"
-#: ../../include/ItemObject.php:205
-msgid "Wall-to-Wall"
-msgstr "Wall-to-Wall"
+#: ../../include/nav.php:163
+msgid "Private mail"
+msgstr "Persönliche Mail"
-#: ../../include/ItemObject.php:206
-msgid "via Wall-To-Wall:"
-msgstr "via Wall-To-Wall:"
+#: ../../include/nav.php:164
+msgid "See all private messages"
+msgstr "Alle persönlichen Nachrichten ansehen"
-#: ../../include/ItemObject.php:216 ../../include/conversation.php:682
-#, php-format
-msgid " from %s"
-msgstr "von %s"
+#: ../../include/nav.php:165
+msgid "Mark all private messages seen"
+msgstr "Markiere alle persönlichen Nachrichten als gesehen"
-#: ../../include/ItemObject.php:219 ../../include/conversation.php:685
-#, php-format
-msgid "last edited: %s"
-msgstr "zuletzt bearbeitet: %s"
+#: ../../include/nav.php:166
+msgid "Inbox"
+msgstr "Eingang"
-#: ../../include/ItemObject.php:246 ../../include/conversation.php:702
-#: ../../include/conversation.php:1112 ../../mod/photos.php:1061
-#: ../../mod/message.php:332 ../../mod/message.php:516
-#: ../../mod/editlayout.php:109 ../../mod/editwebpage.php:128
-#: ../../mod/editpost.php:106 ../../mod/editblock.php:123
-msgid "Please wait"
-msgstr "Bitte warten"
+#: ../../include/nav.php:167
+msgid "Outbox"
+msgstr "Ausgang"
-#: ../../include/ItemObject.php:267
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d Kommentar"
-msgstr[1] "%d Kommentare"
+#: ../../include/nav.php:168 ../../include/widgets.php:509
+msgid "New Message"
+msgstr "Neue Nachricht"
-#: ../../include/ItemObject.php:268 ../../include/js_strings.php:7
-#: ../../include/contact_widgets.php:148
-msgid "show more"
-msgstr "mehr zeigen"
+#: ../../include/nav.php:171 ../../include/conversation.php:1491
+#: ../../mod/events.php:354
+msgid "Events"
+msgstr "Veranstaltungen"
-#: ../../include/ItemObject.php:527 ../../mod/photos.php:1077
-#: ../../mod/photos.php:1164
-msgid "This is you"
-msgstr "Das bist du"
+#: ../../include/nav.php:171
+msgid "Event Calendar"
+msgstr "Veranstaltungskalender"
-#: ../../include/ItemObject.php:529 ../../include/js_strings.php:6
-#: ../../mod/photos.php:1079 ../../mod/photos.php:1166
-msgid "Comment"
-msgstr "Kommentar"
+#: ../../include/nav.php:172
+msgid "See all events"
+msgstr "Alle Ereignisse ansehen"
-#: ../../include/ItemObject.php:530 ../../mod/events.php:458
-#: ../../mod/thing.php:190 ../../mod/invite.php:154 ../../mod/setup.php:302
-#: ../../mod/setup.php:345 ../../mod/settings.php:651
-#: ../../mod/settings.php:763 ../../mod/settings.php:791
-#: ../../mod/settings.php:815 ../../mod/settings.php:886
-#: ../../mod/settings.php:1054 ../../mod/connect.php:96
-#: ../../mod/sources.php:83 ../../mod/sources.php:110 ../../mod/admin.php:418
-#: ../../mod/admin.php:683 ../../mod/admin.php:823 ../../mod/admin.php:1022
-#: ../../mod/admin.php:1109 ../../mod/group.php:87 ../../mod/photos.php:685
-#: ../../mod/photos.php:779 ../../mod/photos.php:1040
-#: ../../mod/photos.php:1080 ../../mod/photos.php:1167
-#: ../../mod/message.php:333 ../../mod/message.php:515
-#: ../../mod/connections.php:452 ../../mod/profiles.php:529
-#: ../../mod/import.php:385 ../../mod/crepair.php:166 ../../mod/poke.php:166
-#: ../../mod/fsuggest.php:108 ../../mod/mood.php:137
-#: ../../view/theme/redbasic/php/config.php:85
-#: ../../view/theme/apw/php/config.php:231
-#: ../../view/theme/blogga/view/theme/blog/config.php:67
-#: ../../view/theme/blogga/php/config.php:67
-msgid "Submit"
-msgstr "Bestätigen"
+#: ../../include/nav.php:173
+msgid "Mark all events seen"
+msgstr "Markiere alle Ereignisse als gesehen"
-#: ../../include/ItemObject.php:531
-msgid "Bold"
-msgstr "Fett"
+#: ../../include/nav.php:175
+msgid "Channel Select"
+msgstr "Kanal-Auswahl"
-#: ../../include/ItemObject.php:532
-msgid "Italic"
-msgstr "Kursiv"
+#: ../../include/nav.php:175
+msgid "Manage Your Channels"
+msgstr "Verwalte Deine Kanäle"
-#: ../../include/ItemObject.php:533
-msgid "Underline"
-msgstr "Unterstrichen"
+#: ../../include/nav.php:177 ../../include/widgets.php:487
+#: ../../mod/admin.php:787 ../../mod/admin.php:992
+msgid "Settings"
+msgstr "Einstellungen"
-#: ../../include/ItemObject.php:534
-msgid "Quote"
-msgstr "Zitat"
+#: ../../include/nav.php:177
+msgid "Account/Channel Settings"
+msgstr "Konto-/Kanal-Einstellungen"
-#: ../../include/ItemObject.php:535
-msgid "Code"
-msgstr "Code"
+#: ../../include/nav.php:179 ../../mod/connections.php:349
+msgid "Connections"
+msgstr "Verbindungen"
-#: ../../include/ItemObject.php:536
-msgid "Image"
-msgstr "Bild"
+#: ../../include/nav.php:179
+msgid "Manage/Edit Friends and Connections"
+msgstr "Verwalte/Bearbeite Freunde und Verbindungen"
-#: ../../include/ItemObject.php:537
-msgid "Link"
-msgstr "Link"
+#: ../../include/nav.php:186 ../../mod/admin.php:111
+msgid "Admin"
+msgstr "Admin"
-#: ../../include/ItemObject.php:538
-msgid "Video"
-msgstr "Video"
+#: ../../include/nav.php:186
+msgid "Site Setup and Configuration"
+msgstr "Seiten-Einrichtung und -Konfiguration"
-#: ../../include/ItemObject.php:539 ../../include/conversation.php:1075
-#: ../../mod/webpages.php:105 ../../mod/photos.php:1081
-#: ../../mod/editlayout.php:129 ../../mod/editwebpage.php:150
-#: ../../mod/editpost.php:126 ../../mod/editblock.php:144
-msgid "Preview"
-msgstr "Vorschau"
+#: ../../include/nav.php:212
+msgid "Nothing new here"
+msgstr "Nichts Neues hier"
-#: ../../include/ItemObject.php:542 ../../include/conversation.php:1139
-#: ../../mod/message.php:338 ../../mod/message.php:521
-#: ../../mod/editpost.php:134
-msgid "Encrypt text"
-msgstr "Text verschlüsseln"
+#: ../../include/nav.php:217
+msgid "Please wait..."
+msgstr "Bitte warten..."
-#: ../../include/Contact.php:87 ../../include/contact_widgets.php:23
-#: ../../mod/match.php:58 ../../mod/suggest.php:56 ../../mod/directory.php:198
-#: ../../boot.php:1741
+#: ../../include/Contact.php:104 ../../include/identity.php:625
+#: ../../include/widgets.php:115 ../../include/widgets.php:155
+#: ../../mod/directory.php:183 ../../mod/match.php:62 ../../mod/suggest.php:51
+#: ../../mod/dirprofile.php:166
msgid "Connect"
msgstr "Verbinden"
-#: ../../include/Contact.php:103
+#: ../../include/Contact.php:120
msgid "New window"
msgstr "Neues Fenster"
-#: ../../include/Contact.php:104
+#: ../../include/Contact.php:121
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:524 ../../include/conversation.php:930
-msgid "Poke"
-msgstr "Anstupsen"
-
-#: ../../include/Contact.php:525 ../../include/conversation.php:924
-msgid "View Status"
-msgstr "Status ansehen"
-
-#: ../../include/Contact.php:526 ../../include/nav.php:76
-#: ../../include/conversation.php:925 ../../mod/connections.php:327
-#: ../../mod/connections.php:441
-msgid "View Profile"
-msgstr "Profil ansehen"
-
-#: ../../include/Contact.php:527 ../../include/conversation.php:926
-msgid "View Photos"
-msgstr "Fotos ansehen"
-
-#: ../../include/Contact.php:528
-msgid "Network Posts"
-msgstr "Netzwerkbeiträge"
-
-#: ../../include/Contact.php:529 ../../include/conversation.php:928
-msgid "Edit Contact"
-msgstr "Kontakt bearbeiten"
-
-#: ../../include/Contact.php:530 ../../include/conversation.php:929
-msgid "Send PM"
-msgstr "Sende PN"
-
#: ../../include/contact_selectors.php:30
msgid "Unknown | Not categorised"
msgstr "Unbekannt | Nicht kategorisiert"
@@ -562,8 +381,8 @@ msgstr "OStatus"
msgid "RSS/Atom"
msgstr "RSS/Atom"
-#: ../../include/contact_selectors.php:77 ../../mod/admin.php:686
-#: ../../mod/admin.php:695 ../../boot.php:1461
+#: ../../include/contact_selectors.php:77 ../../mod/admin.php:691
+#: ../../mod/admin.php:700 ../../boot.php:1423
msgid "Email"
msgstr "E-Mail"
@@ -667,7 +486,7 @@ msgstr "vor %1$d %2$s"
#: ../../include/dba/dba_driver.php:50
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Kann die DNS Information für den Datenbank Server '%s' nicht finden"
+msgstr "Kann die DNS-Info für den Datenbank-Server '%s' nicht finden"
#: ../../include/event.php:11 ../../include/bb2diaspora.php:433
msgid "l F d, Y \\@ g:i A"
@@ -681,266 +500,358 @@ msgstr "Beginnt:"
msgid "Finishes:"
msgstr "Endet:"
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:455
-#: ../../mod/events.php:450 ../../mod/directory.php:173 ../../boot.php:1791
+#: ../../include/event.php:40 ../../include/identity.php:676
+#: ../../include/bb2diaspora.php:455 ../../mod/events.php:462
+#: ../../mod/directory.php:156 ../../mod/dirprofile.php:108
msgid "Location:"
msgstr "Ort:"
-#: ../../include/features.php:21
-msgid "General Features"
-msgstr "Allgemeine Funktionen"
+#: ../../include/text.php:315
+msgid "prev"
+msgstr "vorherige"
-#: ../../include/features.php:23
-msgid "Content Expiration"
-msgstr "Verfall von Inhalten"
+#: ../../include/text.php:317
+msgid "first"
+msgstr "erste"
-#: ../../include/features.php:23
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "Lösche Beiträge, Kommentare und/oder private Nachrichten automatisch zu einem zukünftigen Datum."
+#: ../../include/text.php:346
+msgid "last"
+msgstr "letzte"
-#: ../../include/features.php:24
-msgid "Multiple Profiles"
-msgstr "Mehrfachprofile"
+#: ../../include/text.php:349
+msgid "next"
+msgstr "nächste"
-#: ../../include/features.php:24
-msgid "Ability to create multiple profiles"
-msgstr "Mehrfachprofile anlegen können"
+#: ../../include/text.php:361
+msgid "older"
+msgstr "älter"
-#: ../../include/features.php:25
-msgid "Web Pages"
-msgstr "Webseiten"
+#: ../../include/text.php:363
+msgid "newer"
+msgstr "neuer"
-#: ../../include/features.php:25
-msgid "Provide managed web pages on your channel"
-msgstr "Stelle verwaltete Webseiten in Deinem Kanal zur Verfügung"
+#: ../../include/text.php:654
+msgid "No connections"
+msgstr "Keine Verbindungen"
-#: ../../include/features.php:26
-msgid "Enhanced Photo Albums"
-msgstr "Erweitertes Fotoalbum"
+#: ../../include/text.php:665
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "%d Verbindung"
+msgstr[1] "%d Verbindungen"
-#: ../../include/features.php:26
-msgid "Enable photo album with enhanced features"
-msgstr "Aktiviere Fotoalbum mit erweiterten Funktionen"
+#: ../../include/text.php:677
+msgid "View Connections"
+msgstr "Zeige Verbindungen"
-#: ../../include/features.php:28
-msgid "Extended Identity Sharing"
-msgstr "Erweitertes Teilen von Identitäten"
+#: ../../include/text.php:738 ../../include/text.php:752
+#: ../../include/widgets.php:173 ../../mod/filer.php:36
+msgid "Save"
+msgstr "Speichern"
-#: ../../include/features.php:28 ../../include/js_strings.php:30
-msgid " "
-msgstr " "
+#: ../../include/text.php:818
+msgid "poke"
+msgstr "anstupsen"
-#: ../../include/features.php:29
-msgid "Expert Mode"
-msgstr "Expertenmodus"
+#: ../../include/text.php:818 ../../include/conversation.php:240
+msgid "poked"
+msgstr "stupste"
-#: ../../include/features.php:29
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Aktiviere Expertenmodus, um fortgeschrittene Konfiguration zur Verfügung zu stellen"
+#: ../../include/text.php:819
+msgid "ping"
+msgstr "anpingen"
-#: ../../include/features.php:30
-msgid "Premium Channel"
-msgstr "Premium-Kanal"
+#: ../../include/text.php:819
+msgid "pinged"
+msgstr "pingte"
-#: ../../include/features.php:30
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Erlaubt es dir Einschränkungen für Kontakte und bestimmte Bedingungen an Kontakte zu diesem Kanal zu stellen"
+#: ../../include/text.php:820
+msgid "prod"
+msgstr "knuffen"
-#: ../../include/features.php:35
-msgid "Post Composition Features"
-msgstr "Nachbearbeitungsfunktionen"
+#: ../../include/text.php:820
+msgid "prodded"
+msgstr "knuffte"
-#: ../../include/features.php:36
-msgid "Richtext Editor"
-msgstr "Formatierungseditor"
+#: ../../include/text.php:821
+msgid "slap"
+msgstr "ohrfeigen"
-#: ../../include/features.php:36
-msgid "Enable richtext editor"
-msgstr "Aktiviere Formatierungseditor"
+#: ../../include/text.php:821
+msgid "slapped"
+msgstr "ohrfeigte"
-#: ../../include/features.php:37
-msgid "Post Preview"
-msgstr "Voransicht"
+#: ../../include/text.php:822
+msgid "finger"
+msgstr "befummeln"
-#: ../../include/features.php:37
-msgid "Allow previewing posts and comments before publishing them"
-msgstr "Erlaube Voransicht von Beiträgen und Kommentaren vor Veröffentlichung"
+#: ../../include/text.php:822
+msgid "fingered"
+msgstr "befummelte"
-#: ../../include/features.php:38 ../../mod/settings.php:120
-#: ../../mod/sources.php:67
-msgid "Channel Sources"
-msgstr "Kanal Quellen"
+#: ../../include/text.php:823
+msgid "rebuff"
+msgstr "eine Abfuhr erteilen"
-#: ../../include/features.php:38
-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/text.php:823
+msgid "rebuffed"
+msgstr "abfuhrerteilte"
-#: ../../include/features.php:39
-msgid "Even More Encryption"
-msgstr "Noch mehr Verschlüsselung"
+#: ../../include/text.php:835
+msgid "happy"
+msgstr "glücklich"
-#: ../../include/features.php:39
-msgid "Allow encryption of content end-to-end with a shared secret key"
-msgstr "Erlaube Ende-zu-Ende Verschlüsselung von Inhalten, mit einem geteilten geheimen Schlüssel"
+#: ../../include/text.php:836
+msgid "sad"
+msgstr "traurig"
-#: ../../include/features.php:44
-msgid "Network and Stream Filtering"
-msgstr "Netzwerk- und Stream-Filter"
+#: ../../include/text.php:837
+msgid "mellow"
+msgstr "sanft"
-#: ../../include/features.php:45
-msgid "Search by Date"
-msgstr "Suche nach Datum"
+#: ../../include/text.php:838
+msgid "tired"
+msgstr "müde"
-#: ../../include/features.php:45
-msgid "Ability to select posts by date ranges"
-msgstr "Möglichkeit, Beiträge nach Zeiträumen auszuwählen"
+#: ../../include/text.php:839
+msgid "perky"
+msgstr "frech"
-#: ../../include/features.php:46
-msgid "Collections Filter"
-msgstr "Filter für Sammlung"
+#: ../../include/text.php:840
+msgid "angry"
+msgstr "sauer"
-#: ../../include/features.php:46
-msgid "Enable widget to display Network posts only from selected collections"
-msgstr "Aktiviere nur Netzwerk-Beiträge von ausgewählten Sammlungen"
+#: ../../include/text.php:841
+msgid "stupified"
+msgstr "verblüfft"
-#: ../../include/features.php:47 ../../mod/search.php:17
-#: ../../mod/network.php:173
-msgid "Saved Searches"
-msgstr "Gesicherte Suchanfragen"
+#: ../../include/text.php:842
+msgid "puzzled"
+msgstr "verwirrt"
-#: ../../include/features.php:47
-msgid "Save search terms for re-use"
-msgstr "Gesicherte Suchbegriffe zur Wiederverwendung"
+#: ../../include/text.php:843
+msgid "interested"
+msgstr "interessiert"
-#: ../../include/features.php:48
-msgid "Network Personal Tab"
-msgstr "Persönlicher Netzwerkreiter"
+#: ../../include/text.php:844
+msgid "bitter"
+msgstr "verbittert"
-#: ../../include/features.php:48
-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/text.php:845
+msgid "cheerful"
+msgstr "fröhlich"
-#: ../../include/features.php:49
-msgid "Network New Tab"
-msgstr "Netzwerkreiter Neu"
+#: ../../include/text.php:846
+msgid "alive"
+msgstr "lebendig"
-#: ../../include/features.php:49
-msgid "Enable tab to display all new Network activity"
-msgstr "Aktiviere Reiter, um alle neuen Netzwerkaktivitäten zu zeigen"
+#: ../../include/text.php:847
+msgid "annoyed"
+msgstr "verärgert"
-#: ../../include/features.php:50
-msgid "Affinity Tool"
-msgstr "Beziehungs-Tool"
+#: ../../include/text.php:848
+msgid "anxious"
+msgstr "unruhig"
-#: ../../include/features.php:50
-msgid "Filter stream activity by depth of relationships"
-msgstr "Filter Aktivitätenstream nach Tiefe der Beziehung"
+#: ../../include/text.php:849
+msgid "cranky"
+msgstr "schrullig"
-#: ../../include/features.php:55
-msgid "Post/Comment Tools"
-msgstr "Beitrag-/Kommentar-Tools"
+#: ../../include/text.php:850
+msgid "disturbed"
+msgstr "verstört"
-#: ../../include/features.php:57
-msgid "Edit Sent Posts"
-msgstr "Bearbeite gesendete Beiträge"
+#: ../../include/text.php:851
+msgid "frustrated"
+msgstr "frustriert"
-#: ../../include/features.php:57
-msgid "Edit and correct posts and comments after sending"
-msgstr "Bearbeite und korrigiere Beiträge und Kommentare nach dem Senden"
+#: ../../include/text.php:852
+msgid "motivated"
+msgstr "motiviert"
-#: ../../include/features.php:58
-msgid "Tagging"
-msgstr "Verschlagworten"
+#: ../../include/text.php:853
+msgid "relaxed"
+msgstr "entspannt"
-#: ../../include/features.php:58
-msgid "Ability to tag existing posts"
-msgstr "Möglichkeit, um existierende Beiträge zu verschlagworten"
+#: ../../include/text.php:854
+msgid "surprised"
+msgstr "überrascht"
-#: ../../include/features.php:59
-msgid "Post Categories"
-msgstr "Beitrags-Kategorien"
+#: ../../include/text.php:1016
+msgid "Monday"
+msgstr "Montag"
-#: ../../include/features.php:59
-msgid "Add categories to your posts"
-msgstr "Kategorien für Beiträge"
+#: ../../include/text.php:1016
+msgid "Tuesday"
+msgstr "Dienstag"
-#: ../../include/features.php:60 ../../include/contact_widgets.php:76
-msgid "Saved Folders"
-msgstr "Gesicherte Ordner"
+#: ../../include/text.php:1016
+msgid "Wednesday"
+msgstr "Mittwoch"
-#: ../../include/features.php:60
-msgid "Ability to file posts under folders"
-msgstr "Möglichkeit, Beiträge in Verzeichnissen zu sammeln"
+#: ../../include/text.php:1016
+msgid "Thursday"
+msgstr "Donnerstag"
-#: ../../include/features.php:61
-msgid "Dislike Posts"
-msgstr "Gefällt-mir-nicht Beiträge"
+#: ../../include/text.php:1016
+msgid "Friday"
+msgstr "Freitag"
-#: ../../include/features.php:61
-msgid "Ability to dislike posts/comments"
-msgstr "Möglichkeit für Gefällt-mir-nicht für Beiträge/Kommentare"
+#: ../../include/text.php:1016
+msgid "Saturday"
+msgstr "Samstag"
-#: ../../include/features.php:62
-msgid "Star Posts"
-msgstr "Beiträge mit Sternchen versehen"
+#: ../../include/text.php:1016
+msgid "Sunday"
+msgstr "Sonntag"
-#: ../../include/features.php:62
-msgid "Ability to mark special posts with a star indicator"
-msgstr "Möglichkeit, spezielle Beiträge mit Sternchen-Symbol zu markieren"
+#: ../../include/text.php:1020
+msgid "January"
+msgstr "Januar"
-#: ../../include/features.php:63
-msgid "Tag Cloud"
-msgstr "Tag Wolke"
+#: ../../include/text.php:1020
+msgid "February"
+msgstr "Februar"
-#: ../../include/features.php:63
-msgid "Provide a personal tag cloud on your channel page"
-msgstr "Persönliche Schlagwort-Wolke für deine Kanal-Seite anlegen"
+#: ../../include/text.php:1020
+msgid "March"
+msgstr "März"
-#: ../../include/group.php:25
-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 "Ein gelöschte Gruppe mit diesem Namen wurde gefunden. Existierende Zugangsregeln für Elemente <strong>könnten</strong> für diese Gruppe angewendet werden, sowie für alle zukünftigen Elemente."
+#: ../../include/text.php:1020
+msgid "April"
+msgstr "April"
-#: ../../include/group.php:223
-msgid "Default privacy group for new contacts"
-msgstr "Standard-Privatsphärengruppe für neue Kontakte"
+#: ../../include/text.php:1020
+msgid "May"
+msgstr "Mai"
-#: ../../include/group.php:242 ../../mod/admin.php:695
-msgid "All Channels"
-msgstr "Alle Kanäle"
+#: ../../include/text.php:1020
+msgid "June"
+msgstr "Juni"
-#: ../../include/group.php:264
-msgid "edit"
-msgstr "Bearbeiten"
+#: ../../include/text.php:1020
+msgid "July"
+msgstr "Juli"
-#: ../../include/group.php:285
-msgid "Collections"
-msgstr "Sammlungen"
+#: ../../include/text.php:1020
+msgid "August"
+msgstr "August"
-#: ../../include/group.php:286
-msgid "Edit collection"
-msgstr "Bearbeite Sammlungen"
+#: ../../include/text.php:1020
+msgid "September"
+msgstr "September"
-#: ../../include/group.php:287
-msgid "Create a new collection"
-msgstr "Neue Sammlung erzeugen"
+#: ../../include/text.php:1020
+msgid "October"
+msgstr "Oktober"
-#: ../../include/group.php:288
-msgid "Channels not in any collection"
-msgstr "Kanäle, die nicht in einer Sammlung sind"
+#: ../../include/text.php:1020
+msgid "November"
+msgstr "November"
-#: ../../include/group.php:290 ../../mod/network.php:174
-msgid "add"
-msgstr "hinzufügen"
+#: ../../include/text.php:1020
+msgid "December"
+msgstr "Dezember"
+
+#: ../../include/text.php:1098
+msgid "unknown.???"
+msgstr "unbekannt.???"
+
+#: ../../include/text.php:1099
+msgid "bytes"
+msgstr "Bytes"
+
+#: ../../include/text.php:1134
+msgid "remove category"
+msgstr "Kategorie entfernen"
+
+#: ../../include/text.php:1156
+msgid "remove from file"
+msgstr "aus der Datei entfernen"
+
+#: ../../include/text.php:1214 ../../include/text.php:1226
+msgid "Click to open/close"
+msgstr "Klicke zum Öffnen/Schließen"
+
+#: ../../include/text.php:1402 ../../mod/events.php:332
+msgid "link to source"
+msgstr "Link zum Originalbeitrag"
+
+#: ../../include/text.php:1421
+msgid "Select a page layout: "
+msgstr "Ein Seiten-Layout auswählen"
+
+#: ../../include/text.php:1424 ../../include/text.php:1489
+msgid "default"
+msgstr "Standard"
+
+#: ../../include/text.php:1460
+msgid "Page content type: "
+msgstr "Content-Typ der Seite"
+
+#: ../../include/text.php:1501
+msgid "Select an alternate language"
+msgstr "Wähle eine alternative Sprache"
+
+#: ../../include/text.php:1653 ../../include/conversation.php:117
+#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:45
+msgid "photo"
+msgstr "Foto"
+
+#: ../../include/text.php:1656 ../../include/conversation.php:120
+#: ../../mod/tagger.php:49
+msgid "event"
+msgstr "Ereignis"
+
+#: ../../include/text.php:1659 ../../include/conversation.php:145
+#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:53
+msgid "status"
+msgstr "Status"
+
+#: ../../include/text.php:1661 ../../include/conversation.php:147
+#: ../../mod/tagger.php:55
+msgid "comment"
+msgstr "Kommentar"
+
+#: ../../include/text.php:1666
+msgid "activity"
+msgstr "Aktivität"
+
+#: ../../include/text.php:1928
+msgid "Design"
+msgstr "Design"
+
+#: ../../include/text.php:1930
+msgid "Blocks"
+msgstr "Blöcke"
+
+#: ../../include/text.php:1931
+msgid "Menus"
+msgstr "Menüs"
+
+#: ../../include/text.php:1932
+msgid "Layouts"
+msgstr "Layouts"
+
+#: ../../include/text.php:1933
+msgid "Pages"
+msgstr "Seiten"
#: ../../include/js_strings.php:5
msgid "Delete this item?"
msgstr "Dieses Element löschen?"
+#: ../../include/js_strings.php:6 ../../include/ItemObject.php:536
+#: ../../mod/photos.php:968 ../../mod/photos.php:1055
+msgid "Comment"
+msgstr "Kommentar"
+
+#: ../../include/js_strings.php:7 ../../include/contact_widgets.php:125
+#: ../../include/ItemObject.php:270
+msgid "show more"
+msgstr "mehr zeigen"
+
#: ../../include/js_strings.php:8
msgid "show fewer"
msgstr "Zeige weniger"
@@ -953,7 +864,7 @@ msgstr "Kennwort zu kurz"
msgid "Passwords do not match"
msgstr "Kennwörter stimmen nicht überein"
-#: ../../include/js_strings.php:11 ../../mod/photos.php:45
+#: ../../include/js_strings.php:11 ../../mod/photos.php:39
msgid "everybody"
msgstr "alle"
@@ -1030,6 +941,10 @@ msgstr "ungefähr ein Jahr"
msgid "%d years"
msgstr "%d Jahre"
+#: ../../include/js_strings.php:30
+msgid " "
+msgstr " "
+
#: ../../include/js_strings.php:31
msgid "timeago.numbers"
msgstr "timeago.numbers"
@@ -1050,537 +965,552 @@ msgstr "Kann Absender nicht bestimmen."
msgid "Stored post could not be verified."
msgstr "Gespeicherter Beitrag konnten nicht überprüft werden."
-#: ../../include/network.php:1113
+#: ../../include/photo/photo_driver.php:637 ../../include/photos.php:51
+#: ../../mod/photos.php:91 ../../mod/photos.php:652 ../../mod/photos.php:674
+#: ../../mod/profile_photo.php:78 ../../mod/profile_photo.php:225
+#: ../../mod/profile_photo.php:336
+msgid "Profile Photos"
+msgstr "Profilfotos"
+
+#: ../../include/network.php:640
msgid "view full size"
msgstr "In Vollbildansicht anschauen"
-#: ../../include/photo/photo_driver.php:609 ../../include/photos.php:51
-#: ../../mod/photos.php:97 ../../mod/photos.php:764 ../../mod/photos.php:786
-#: ../../mod/profile_photo.php:88 ../../mod/profile_photo.php:235
-#: ../../mod/profile_photo.php:346
-msgid "Profile Photos"
-msgstr "Profilfotos"
+#: ../../include/identity.php:29 ../../mod/item.php:1150
+msgid "Unable to obtain identity information from database"
+msgstr "Kann keine Identitäts-Informationen aus Datenbank beziehen"
+
+#: ../../include/identity.php:62
+msgid "Empty name"
+msgstr "Namensfeld leer"
+
+#: ../../include/identity.php:64
+msgid "Name too long"
+msgstr "Name ist zu lang"
+
+#: ../../include/identity.php:143
+msgid "No account identifier"
+msgstr "Keine Account-Kennung"
+
+#: ../../include/identity.php:153
+msgid "Nickname is required."
+msgstr "Spitzname ist erforderlich."
+
+#: ../../include/identity.php:167
+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:226
+msgid "Unable to retrieve created identity"
+msgstr "Kann die erstellte Identität nicht empfangen"
-#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:118
-#: ../../mod/profperm.php:112
+#: ../../include/identity.php:285
+msgid "Default Profile"
+msgstr "Standard-Profil"
+
+#: ../../include/identity.php:310 ../../include/profile_selectors.php:42
+#: ../../include/widgets.php:373 ../../mod/connedit.php:389
+msgid "Friends"
+msgstr "Freunde"
+
+#: ../../include/identity.php:477
+msgid "Requested channel is not available."
+msgstr "Angeforderte Kanal nicht verfügbar."
+
+#: ../../include/identity.php:489
+msgid " Sorry, you don't have the permission to view this profile. "
+msgstr "Entschuldigung, aber du besitzt nicht die nötigen Rechte um dieses Profil ansehen zu dürfen."
+
+#: ../../include/identity.php:524 ../../mod/webpages.php:8
+#: ../../mod/connect.php:13 ../../mod/layouts.php:8
+#: ../../mod/achievements.php:8 ../../mod/filestorage.php:40
+#: ../../mod/blocks.php:10 ../../mod/profile.php:16
+msgid "Requested profile is not available."
+msgstr "Erwünschte Profil ist nicht verfügbar."
+
+#: ../../include/identity.php:639 ../../mod/profiles.php:615
+msgid "Change profile photo"
+msgstr "Ändere das Profilfoto"
+
+#: ../../include/identity.php:645
+msgid "Profiles"
+msgstr "Profile"
+
+#: ../../include/identity.php:645
+msgid "Manage/edit profiles"
+msgstr "Verwalte/Bearbeite Profile"
+
+#: ../../include/identity.php:646 ../../mod/profiles.php:616
+msgid "Create New Profile"
+msgstr "Neues Profil erstellen"
+
+#: ../../include/identity.php:649
+msgid "Edit Profile"
+msgstr "Profile bearbeiten"
+
+#: ../../include/identity.php:660 ../../mod/profiles.php:627
+msgid "Profile Image"
+msgstr "Profilfoto:"
+
+#: ../../include/identity.php:663 ../../mod/profiles.php:630
+msgid "visible to everybody"
+msgstr "sichtbar für jeden"
+
+#: ../../include/identity.php:664 ../../mod/profiles.php:631
+msgid "Edit visibility"
+msgstr "Sichtbarkeit bearbeiten"
+
+#: ../../include/identity.php:678 ../../include/identity.php:903
+#: ../../mod/directory.php:158
+msgid "Gender:"
+msgstr "Geschlecht:"
+
+#: ../../include/identity.php:679 ../../include/identity.php:923
+#: ../../mod/directory.php:160
+msgid "Status:"
+msgstr "Status:"
+
+#: ../../include/identity.php:680 ../../include/identity.php:934
+#: ../../mod/directory.php:162
+msgid "Homepage:"
+msgstr "Homepage:"
+
+#: ../../include/identity.php:747 ../../include/identity.php:827
+#: ../../mod/ping.php:230
+msgid "g A l F d"
+msgstr "l, d. F G \\\\U\\\\h\\\\r"
+
+#: ../../include/identity.php:748 ../../include/identity.php:828
+msgid "F d"
+msgstr "d. F"
+
+#: ../../include/identity.php:793 ../../include/identity.php:868
+#: ../../mod/ping.php:252
+msgid "[today]"
+msgstr "[Heute]"
+
+#: ../../include/identity.php:805
+msgid "Birthday Reminders"
+msgstr "Geburtstags Erinnerungen"
+
+#: ../../include/identity.php:806
+msgid "Birthdays this week:"
+msgstr "Geburtstage in dieser Woche:"
+
+#: ../../include/identity.php:861
+msgid "[No description]"
+msgstr "[Keine Beschreibung]"
+
+#: ../../include/identity.php:879
+msgid "Event Reminders"
+msgstr "Veranstaltungs- Erinnerungen"
+
+#: ../../include/identity.php:880
+msgid "Events this week:"
+msgstr "Veranstaltungen in dieser Woche:"
+
+#: ../../include/identity.php:893 ../../include/identity.php:977
+#: ../../mod/profperm.php:103
msgid "Profile"
msgstr "Profil"
-#: ../../include/profile_advanced.php:15 ../../mod/settings.php:1062
+#: ../../include/identity.php:901 ../../mod/settings.php:911
msgid "Full Name:"
msgstr "Voller Name:"
-#: ../../include/profile_advanced.php:17 ../../mod/directory.php:175
-#: ../../boot.php:1793
-msgid "Gender:"
-msgstr "Geschlecht:"
-
-#: ../../include/profile_advanced.php:22
+#: ../../include/identity.php:908
msgid "j F, Y"
msgstr "j F, Y"
-#: ../../include/profile_advanced.php:23
+#: ../../include/identity.php:909
msgid "j F"
msgstr "j F"
-#: ../../include/profile_advanced.php:30
+#: ../../include/identity.php:916
msgid "Birthday:"
msgstr "Geburtstag:"
-#: ../../include/profile_advanced.php:34
+#: ../../include/identity.php:920
msgid "Age:"
msgstr "Alter:"
-#: ../../include/profile_advanced.php:37 ../../mod/directory.php:177
-#: ../../boot.php:1794
-msgid "Status:"
-msgstr "Status:"
-
-#: ../../include/profile_advanced.php:43
+#: ../../include/identity.php:929
#, php-format
msgid "for %1$d %2$s"
msgstr "für %1$d %2$s"
-#: ../../include/profile_advanced.php:46 ../../mod/profiles.php:549
+#: ../../include/identity.php:932 ../../mod/profiles.php:538
msgid "Sexual Preference:"
msgstr "Sexuelle Orientierung:"
-#: ../../include/profile_advanced.php:48 ../../mod/directory.php:179
-#: ../../boot.php:1795
-msgid "Homepage:"
-msgstr "Homepage:"
-
-#: ../../include/profile_advanced.php:50 ../../mod/profiles.php:551
+#: ../../include/identity.php:936 ../../mod/profiles.php:540
msgid "Hometown:"
msgstr "Heimatstadt:"
-#: ../../include/profile_advanced.php:52
+#: ../../include/identity.php:938
msgid "Tags:"
msgstr "Schlagworte:"
-#: ../../include/profile_advanced.php:54 ../../mod/profiles.php:552
+#: ../../include/identity.php:940 ../../mod/profiles.php:541
msgid "Political Views:"
msgstr "Politische Ansichten:"
-#: ../../include/profile_advanced.php:56
+#: ../../include/identity.php:942
msgid "Religion:"
msgstr "Religion:"
-#: ../../include/profile_advanced.php:58 ../../mod/directory.php:181
+#: ../../include/identity.php:944 ../../mod/directory.php:164
msgid "About:"
msgstr "Ãœber:"
-#: ../../include/profile_advanced.php:60
+#: ../../include/identity.php:946
msgid "Hobbies/Interests:"
msgstr "Hobbys/Interessen:"
-#: ../../include/profile_advanced.php:62 ../../mod/profiles.php:555
+#: ../../include/identity.php:948 ../../mod/profiles.php:544
msgid "Likes:"
msgstr "Gefällt-mir:"
-#: ../../include/profile_advanced.php:64 ../../mod/profiles.php:556
+#: ../../include/identity.php:950 ../../mod/profiles.php:545
msgid "Dislikes:"
msgstr "Gefällt-mir-nicht:"
-#: ../../include/profile_advanced.php:67
+#: ../../include/identity.php:953
msgid "Contact information and Social Networks:"
msgstr "Kontaktinformation und soziale Netzwerke:"
-#: ../../include/profile_advanced.php:69
+#: ../../include/identity.php:955
+msgid "My other channels:"
+msgstr "Meine anderen Kanäle:"
+
+#: ../../include/identity.php:957
msgid "Musical interests:"
msgstr "Musikalische Interessen:"
-#: ../../include/profile_advanced.php:71
+#: ../../include/identity.php:959
msgid "Books, literature:"
msgstr "Bücher, Literatur:"
-#: ../../include/profile_advanced.php:73
+#: ../../include/identity.php:961
msgid "Television:"
msgstr "Fernsehen:"
-#: ../../include/profile_advanced.php:75
+#: ../../include/identity.php:963
msgid "Film/dance/culture/entertainment:"
msgstr "Film/Tanz/Kultur/Unterhaltung:"
-#: ../../include/profile_advanced.php:77
+#: ../../include/identity.php:965
msgid "Love/Romance:"
msgstr "Liebe/Romantik:"
-#: ../../include/profile_advanced.php:79
+#: ../../include/identity.php:967
msgid "Work/employment:"
msgstr "Arbeit/Anstellung:"
-#: ../../include/profile_advanced.php:81
+#: ../../include/identity.php:969
msgid "School/education:"
msgstr "Schule/Ausbildung:"
-#: ../../include/text.php:312
-msgid "prev"
-msgstr "vorherige"
-
-#: ../../include/text.php:314
-msgid "first"
-msgstr "erste"
-
-#: ../../include/text.php:343
-msgid "last"
-msgstr "letzte"
-
-#: ../../include/text.php:346
-msgid "next"
-msgstr "nächste"
+#: ../../include/reddav.php:1018
+msgid "Edit File properties"
+msgstr "Dateieigenschaften ändern"
-#: ../../include/text.php:358
-msgid "older"
-msgstr "älter"
+#: ../../include/bbcode.php:94 ../../include/bbcode.php:509
+#: ../../include/bbcode.php:512
+msgid "Image/photo"
+msgstr "Bild/Foto"
-#: ../../include/text.php:360
-msgid "newer"
-msgstr "neuer"
+#: ../../include/bbcode.php:129 ../../include/bbcode.php:517
+msgid "Encrypted content"
+msgstr "Verschlüsselter Inhalt"
-#: ../../include/text.php:651
-msgid "No connections"
-msgstr "Keine Verbindungen"
+#: ../../include/bbcode.php:136
+msgid "QR code"
+msgstr "QR Code"
-#: ../../include/text.php:662
+#: ../../include/bbcode.php:179
#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] "%d Verbindung"
-msgstr[1] "%d Verbindungen"
-
-#: ../../include/text.php:674
-msgid "View Connections"
-msgstr "Zeige Verbindungen"
-
-#: ../../include/text.php:733 ../../include/nav.php:135
-#: ../../mod/search.php:96
-msgid "Search"
-msgstr "Suche"
-
-#: ../../include/text.php:735 ../../mod/filer.php:36
-msgid "Save"
-msgstr "Speichern"
-
-#: ../../include/text.php:773
-msgid "poke"
-msgstr "anstupsen"
-
-#: ../../include/text.php:773 ../../include/conversation.php:236
-msgid "poked"
-msgstr "stupste"
-
-#: ../../include/text.php:774
-msgid "ping"
-msgstr "anpingen"
-
-#: ../../include/text.php:774
-msgid "pinged"
-msgstr "pingte"
-
-#: ../../include/text.php:775
-msgid "prod"
-msgstr "knuffen"
-
-#: ../../include/text.php:775
-msgid "prodded"
-msgstr "knuffte"
-
-#: ../../include/text.php:776
-msgid "slap"
-msgstr "ohrfeigen"
-
-#: ../../include/text.php:776
-msgid "slapped"
-msgstr "ohrfeigte"
-
-#: ../../include/text.php:777
-msgid "finger"
-msgstr "befummeln"
-
-#: ../../include/text.php:777
-msgid "fingered"
-msgstr "befummelte"
-
-#: ../../include/text.php:778
-msgid "rebuff"
-msgstr "eine Abfuhr erteilen"
-
-#: ../../include/text.php:778
-msgid "rebuffed"
-msgstr "abfuhrerteilte"
-
-#: ../../include/text.php:790
-msgid "happy"
-msgstr "glücklich"
-
-#: ../../include/text.php:791
-msgid "sad"
-msgstr "traurig"
-
-#: ../../include/text.php:792
-msgid "mellow"
-msgstr "sanft"
-
-#: ../../include/text.php:793
-msgid "tired"
-msgstr "müde"
-
-#: ../../include/text.php:794
-msgid "perky"
-msgstr "frech"
-
-#: ../../include/text.php:795
-msgid "angry"
-msgstr "sauer"
-
-#: ../../include/text.php:796
-msgid "stupified"
-msgstr "verblüfft"
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s schrieb den folgenden %2$s %3$s"
-#: ../../include/text.php:797
-msgid "puzzled"
-msgstr "verwirrt"
+#: ../../include/bbcode.php:181
+msgid "post"
+msgstr "Beitrag"
-#: ../../include/text.php:798
-msgid "interested"
-msgstr "interessiert"
+#: ../../include/bbcode.php:469 ../../include/bbcode.php:489
+msgid "$1 wrote:"
+msgstr "$1 schrieb:"
-#: ../../include/text.php:799
-msgid "bitter"
-msgstr "verbittert"
+#: ../../include/oembed.php:157
+msgid "Embedded content"
+msgstr "Eingebetteter Inhalt"
-#: ../../include/text.php:800
-msgid "cheerful"
-msgstr "fröhlich"
+#: ../../include/oembed.php:166
+msgid "Embedding disabled"
+msgstr "Einbetten ausgeschaltet"
-#: ../../include/text.php:801
-msgid "alive"
-msgstr "lebendig"
+#: ../../include/features.php:21
+msgid "General Features"
+msgstr "Allgemeine Funktionen"
-#: ../../include/text.php:802
-msgid "annoyed"
-msgstr "verärgert"
+#: ../../include/features.php:23
+msgid "Content Expiration"
+msgstr "Verfall von Inhalten"
-#: ../../include/text.php:803
-msgid "anxious"
-msgstr "unruhig"
+#: ../../include/features.php:23
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Lösche Beiträge, Kommentare und/oder private Nachrichten automatisch zu einem zukünftigen Datum."
-#: ../../include/text.php:804
-msgid "cranky"
-msgstr "schrullig"
+#: ../../include/features.php:24
+msgid "Multiple Profiles"
+msgstr "Mehrfachprofile"
-#: ../../include/text.php:805
-msgid "disturbed"
-msgstr "verstört"
+#: ../../include/features.php:24
+msgid "Ability to create multiple profiles"
+msgstr "Mehrfachprofile anlegen können"
-#: ../../include/text.php:806
-msgid "frustrated"
-msgstr "frustriert"
+#: ../../include/features.php:25
+msgid "Web Pages"
+msgstr "Webseiten"
-#: ../../include/text.php:807
-msgid "motivated"
-msgstr "motiviert"
+#: ../../include/features.php:25
+msgid "Provide managed web pages on your channel"
+msgstr "Stelle verwaltete Webseiten in Deinem Kanal zur Verfügung"
-#: ../../include/text.php:808
-msgid "relaxed"
-msgstr "entspannt"
+#: ../../include/features.php:26
+msgid "Private Notes"
+msgstr "private Notizen"
-#: ../../include/text.php:809
-msgid "surprised"
-msgstr "überrascht"
+#: ../../include/features.php:26
+msgid "Enables a tool to store notes and reminders"
+msgstr "Werkzeug zum Speichern von Notizen und Erinnerungen aktivieren"
-#: ../../include/text.php:973
-msgid "Monday"
-msgstr "Montag"
+#: ../../include/features.php:31
+msgid "Extended Identity Sharing"
+msgstr "Erweitertes Teilen von Identitäten"
-#: ../../include/text.php:973
-msgid "Tuesday"
-msgstr "Dienstag"
+#: ../../include/features.php:31
+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 Seiten der Matrix geteilt."
-#: ../../include/text.php:973
-msgid "Wednesday"
-msgstr "Mittwoch"
+#: ../../include/features.php:32
+msgid "Expert Mode"
+msgstr "Expertenmodus"
-#: ../../include/text.php:973
-msgid "Thursday"
-msgstr "Donnerstag"
+#: ../../include/features.php:32
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr "Aktiviere Expertenmodus, um fortgeschrittene Konfiguration zur Verfügung zu stellen"
-#: ../../include/text.php:973
-msgid "Friday"
-msgstr "Freitag"
+#: ../../include/features.php:33
+msgid "Premium Channel"
+msgstr "Premium-Kanal"
-#: ../../include/text.php:973
-msgid "Saturday"
-msgstr "Samstag"
+#: ../../include/features.php:33
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Erlaubt es dir Einschränkungen für Kontakte und bestimmte Bedingungen an Kontakte zu diesem Kanal zu stellen"
-#: ../../include/text.php:973
-msgid "Sunday"
-msgstr "Sonntag"
+#: ../../include/features.php:38
+msgid "Post Composition Features"
+msgstr "Nachbearbeitungsfunktionen"
-#: ../../include/text.php:977
-msgid "January"
-msgstr "Januar"
+#: ../../include/features.php:39
+msgid "Richtext Editor"
+msgstr "Formatierungseditor"
-#: ../../include/text.php:977
-msgid "February"
-msgstr "Februar"
+#: ../../include/features.php:39
+msgid "Enable richtext editor"
+msgstr "Aktiviere Formatierungseditor"
-#: ../../include/text.php:977
-msgid "March"
-msgstr "März"
+#: ../../include/features.php:40
+msgid "Post Preview"
+msgstr "Voransicht"
-#: ../../include/text.php:977
-msgid "April"
-msgstr "April"
+#: ../../include/features.php:40
+msgid "Allow previewing posts and comments before publishing them"
+msgstr "Erlaube Voransicht von Beiträgen und Kommentaren vor Veröffentlichung"
-#: ../../include/text.php:977
-msgid "May"
-msgstr "Mai"
+#: ../../include/features.php:41 ../../include/widgets.php:476
+#: ../../mod/sources.php:81
+msgid "Channel Sources"
+msgstr "Kanal Quellen"
-#: ../../include/text.php:977
-msgid "June"
-msgstr "Juni"
+#: ../../include/features.php:41
+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/text.php:977
-msgid "July"
-msgstr "Juli"
+#: ../../include/features.php:42
+msgid "Even More Encryption"
+msgstr "Noch mehr Verschlüsselung"
-#: ../../include/text.php:977
-msgid "August"
-msgstr "August"
+#: ../../include/features.php:42
+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/text.php:977
-msgid "September"
-msgstr "September"
+#: ../../include/features.php:47
+msgid "Network and Stream Filtering"
+msgstr "Netzwerk- und Stream-Filter"
-#: ../../include/text.php:977
-msgid "October"
-msgstr "Oktober"
+#: ../../include/features.php:48
+msgid "Search by Date"
+msgstr "Suche nach Datum"
-#: ../../include/text.php:977
-msgid "November"
-msgstr "November"
+#: ../../include/features.php:48
+msgid "Ability to select posts by date ranges"
+msgstr "Möglichkeit, Beiträge nach Zeiträumen auszuwählen"
-#: ../../include/text.php:977
-msgid "December"
-msgstr "Dezember"
+#: ../../include/features.php:49
+msgid "Collections Filter"
+msgstr "Filter für Sammlung"
-#: ../../include/text.php:1055 ../../mod/message.php:453
-msgid "unknown.???"
-msgstr "unbekannt.???"
+#: ../../include/features.php:49
+msgid "Enable widget to display Network posts only from selected collections"
+msgstr "Aktiviere nur Netzwerk-Beiträge von ausgewählten Sammlungen"
-#: ../../include/text.php:1056 ../../mod/message.php:454
-msgid "bytes"
-msgstr "Bytes"
+#: ../../include/features.php:50 ../../include/widgets.php:252
+msgid "Saved Searches"
+msgstr "Gesicherte Suchanfragen"
-#: ../../include/text.php:1091
-msgid "remove category"
-msgstr "Kategorie entfernen"
+#: ../../include/features.php:50
+msgid "Save search terms for re-use"
+msgstr "Gesicherte Suchbegriffe zur Wiederverwendung"
-#: ../../include/text.php:1113
-msgid "remove from file"
-msgstr "aus der Datei entfernen"
+#: ../../include/features.php:51
+msgid "Network Personal Tab"
+msgstr "Persönlicher Netzwerkreiter"
-#: ../../include/text.php:1167 ../../include/text.php:1179
-msgid "Click to open/close"
-msgstr "Klicke zum Öffnen/Schließen"
+#: ../../include/features.php:51
+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/text.php:1355 ../../mod/events.php:326
-msgid "link to source"
-msgstr "Link zum Originalbeitrag"
+#: ../../include/features.php:52
+msgid "Network New Tab"
+msgstr "Netzwerkreiter Neu"
-#: ../../include/text.php:1374
-msgid "Select a page layout: "
-msgstr "Ein Seiten-Layout auswählen"
+#: ../../include/features.php:52
+msgid "Enable tab to display all new Network activity"
+msgstr "Aktiviere Reiter, um alle neuen Netzwerkaktivitäten zu zeigen"
-#: ../../include/text.php:1377 ../../include/text.php:1442
-msgid "default"
-msgstr "Standard"
+#: ../../include/features.php:53
+msgid "Affinity Tool"
+msgstr "Beziehungs-Tool"
-#: ../../include/text.php:1413
-msgid "Page content type: "
-msgstr "Content-Typ der Seite"
+#: ../../include/features.php:53
+msgid "Filter stream activity by depth of relationships"
+msgstr "Filter Aktivitätenstream nach Tiefe der Beziehung"
-#: ../../include/text.php:1454
-msgid "Select an alternate language"
-msgstr "Wähle eine alternative Sprache"
+#: ../../include/features.php:54
+msgid "Suggest Channels"
+msgstr "Kanäle Vorschlagen"
-#: ../../include/text.php:1606 ../../include/conversation.php:117
-#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:45
-msgid "photo"
-msgstr "Foto"
+#: ../../include/features.php:54
+msgid "Show channel suggestions"
+msgstr "Kanal-Vorschläge anzeigen"
-#: ../../include/text.php:1609 ../../include/conversation.php:120
-#: ../../mod/tagger.php:49
-msgid "event"
-msgstr "Ereignis"
+#: ../../include/features.php:59
+msgid "Post/Comment Tools"
+msgstr "Beitrag-/Kommentar-Tools"
-#: ../../include/text.php:1612 ../../include/conversation.php:145
-#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:53
-msgid "status"
-msgstr "Status"
+#: ../../include/features.php:61
+msgid "Edit Sent Posts"
+msgstr "Bearbeite gesendete Beiträge"
-#: ../../include/text.php:1614 ../../include/conversation.php:147
-#: ../../mod/tagger.php:55
-msgid "comment"
-msgstr "Kommentar"
+#: ../../include/features.php:61
+msgid "Edit and correct posts and comments after sending"
+msgstr "Bearbeite und korrigiere Beiträge und Kommentare nach dem Senden"
-#: ../../include/text.php:1619
-msgid "activity"
-msgstr "Aktivität"
+#: ../../include/features.php:62
+msgid "Tagging"
+msgstr "Verschlagworten"
-#: ../../include/text.php:1881
-msgid "Design"
-msgstr "Design"
+#: ../../include/features.php:62
+msgid "Ability to tag existing posts"
+msgstr "Möglichkeit, um existierende Beiträge zu verschlagworten"
-#: ../../include/text.php:1883
-msgid "Blocks"
-msgstr "Blöcke"
+#: ../../include/features.php:63
+msgid "Post Categories"
+msgstr "Beitrags-Kategorien"
-#: ../../include/text.php:1884
-msgid "Menus"
-msgstr "Menüs"
+#: ../../include/features.php:63
+msgid "Add categories to your posts"
+msgstr "Kategorien für Beiträge"
-#: ../../include/text.php:1885
-msgid "Layouts"
-msgstr "Layouts"
+#: ../../include/features.php:64 ../../include/widgets.php:283
+#: ../../include/contact_widgets.php:53
+msgid "Saved Folders"
+msgstr "Gesicherte Ordner"
-#: ../../include/text.php:1886
-msgid "Pages"
-msgstr "Seiten"
+#: ../../include/features.php:64
+msgid "Ability to file posts under folders"
+msgstr "Möglichkeit, Beiträge in Verzeichnissen zu sammeln"
-#: ../../include/api.php:972
-msgid "Public Timeline"
-msgstr "Öffentliche Zeitleiste"
+#: ../../include/features.php:65
+msgid "Dislike Posts"
+msgstr "Gefällt-mir-nicht Beiträge"
-#: ../../include/identity.php:14 ../../mod/item.php:1148
-msgid "Unable to obtain identity information from database"
-msgstr "Kann keine Identitäts-Informationen aus Datenbank beziehen"
+#: ../../include/features.php:65
+msgid "Ability to dislike posts/comments"
+msgstr "Möglichkeit für Gefällt-mir-nicht für Beiträge/Kommentare"
-#: ../../include/identity.php:36
-msgid "Empty name"
-msgstr "Namensfeld leer"
+#: ../../include/features.php:66
+msgid "Star Posts"
+msgstr "Beiträge mit Sternchen versehen"
-#: ../../include/identity.php:38
-msgid "Name too long"
-msgstr "Name ist zu lang"
+#: ../../include/features.php:66
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Möglichkeit, spezielle Beiträge mit Sternchen-Symbol zu markieren"
-#: ../../include/identity.php:80
-msgid "No account identifier"
-msgstr "Keine Account-Kennung"
+#: ../../include/features.php:67
+msgid "Tag Cloud"
+msgstr "Tag Wolke"
-#: ../../include/identity.php:90
-msgid "Nickname is required."
-msgstr "Spitzname ist erforderlich."
+#: ../../include/features.php:67
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Persönliche Schlagwort-Wolke für deine Kanal-Seite anlegen"
-#: ../../include/identity.php:104
+#: ../../include/group.php:25
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:163
-msgid "Unable to retrieve created identity"
-msgstr "Kann die erstellte Identität nicht empfangen"
-
-#: ../../include/identity.php:220
-msgid "Default Profile"
-msgstr "Standard-Profil"
+"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 "Ein gelöschte Gruppe mit diesem Namen wurde gefunden. Existierende Zugangsregeln für Elemente <strong>könnten</strong> für diese Gruppe angewendet werden, sowie für alle zukünftigen Elemente."
-#: ../../include/identity.php:245 ../../include/profile_selectors.php:42
-#: ../../mod/network.php:387 ../../mod/connections.php:407
-msgid "Friends"
-msgstr "Freunde"
+#: ../../include/group.php:223
+msgid "Default privacy group for new contacts"
+msgstr "Standard-Privatsphärengruppe für neue Kontakte"
-#: ../../include/bbcode.php:94 ../../include/bbcode.php:494
-#: ../../include/bbcode.php:497
-msgid "Image/photo"
-msgstr "Bild/Foto"
+#: ../../include/group.php:242 ../../mod/admin.php:700
+msgid "All Channels"
+msgstr "Alle Kanäle"
-#: ../../include/bbcode.php:126 ../../include/bbcode.php:502
-msgid "Encrypted content"
-msgstr "Verschlüsselter Inhalt"
+#: ../../include/group.php:264
+msgid "edit"
+msgstr "Bearbeiten"
-#: ../../include/bbcode.php:173
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s schrieb den folgenden %2$s %3$s"
+#: ../../include/group.php:285
+msgid "Collections"
+msgstr "Sammlungen"
-#: ../../include/bbcode.php:175
-msgid "post"
-msgstr "Beitrag"
+#: ../../include/group.php:286
+msgid "Edit collection"
+msgstr "Bearbeite Sammlungen"
-#: ../../include/bbcode.php:454 ../../include/bbcode.php:474
-msgid "$1 wrote:"
-msgstr "$1 schrieb:"
+#: ../../include/group.php:287
+msgid "Create a new collection"
+msgstr "Neue Sammlung erzeugen"
-#: ../../include/oembed.php:149
-msgid "Embedded content"
-msgstr "Eingebetteter Inhalt"
+#: ../../include/group.php:288
+msgid "Channels not in any collection"
+msgstr "Kanäle, die nicht in einer Sammlung sind"
-#: ../../include/oembed.php:158
-msgid "Embedding disabled"
-msgstr "Einbetten ausgeschaltet"
+#: ../../include/group.php:290 ../../include/widgets.php:253
+msgid "add"
+msgstr "hinzufügen"
#: ../../include/notify.php:23
msgid "created a new post"
@@ -1591,60 +1521,65 @@ msgstr "Neuer Beitrag wurde erzeugt"
msgid "commented on %s's post"
msgstr "hat %s's Beitrag kommentiert"
-#: ../../include/photos.php:15 ../../include/attach.php:102
-#: ../../include/attach.php:133 ../../include/attach.php:189
-#: ../../include/attach.php:204 ../../include/attach.php:237
-#: ../../include/attach.php:251 ../../include/attach.php:272
-#: ../../include/attach.php:464 ../../include/attach.php:539
-#: ../../include/items.php:3608 ../../mod/common.php:43
-#: ../../mod/events.php:134 ../../mod/invite.php:13 ../../mod/invite.php:102
-#: ../../mod/allfriends.php:10 ../../mod/webpages.php:40 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/lastpost.php:93 ../../mod/page.php:30
-#: ../../mod/page.php:80 ../../mod/setup.php:200 ../../mod/settings.php:628
-#: ../../mod/viewconnections.php:33 ../../mod/viewconnections.php:38
-#: ../../mod/delegate.php:6 ../../mod/sources.php:48 ../../mod/mitem.php:92
-#: ../../mod/group.php:15 ../../mod/photos.php:74 ../../mod/photos.php:654
-#: ../../mod/viewsrc.php:12 ../../mod/menu.php:40 ../../mod/message.php:208
-#: ../../mod/layouts.php:27 ../../mod/layouts.php:42 ../../mod/network.php:7
-#: ../../mod/intro.php:50 ../../mod/connections.php:197
-#: ../../mod/profiles.php:163 ../../mod/profiles.php:476
+#: ../../include/photos.php:15 ../../include/attach.php:97
+#: ../../include/attach.php:128 ../../include/attach.php:184
+#: ../../include/attach.php:199 ../../include/attach.php:232
+#: ../../include/attach.php:246 ../../include/attach.php:267
+#: ../../include/attach.php:462 ../../include/attach.php:540
+#: ../../include/items.php:3454 ../../mod/common.php:35
+#: ../../mod/events.php:140 ../../mod/thing.php:241 ../../mod/thing.php:257
+#: ../../mod/thing.php:291 ../../mod/invite.php:13 ../../mod/invite.php:104
+#: ../../mod/connedit.php:179 ../../mod/webpages.php:40 ../../mod/api.php:26
+#: ../../mod/api.php:31 ../../mod/page.php:30 ../../mod/page.php:80
+#: ../../mod/setup.php:200 ../../mod/viewconnections.php:22
+#: ../../mod/viewconnections.php:27 ../../mod/delegate.php:6
+#: ../../mod/sources.php:62 ../../mod/mitem.php:73 ../../mod/group.php:9
+#: ../../mod/photos.php:68 ../../mod/photos.php:522 ../../mod/viewsrc.php:12
+#: ../../mod/menu.php:40 ../../mod/connections.php:167
+#: ../../mod/layouts.php:27 ../../mod/layouts.php:42 ../../mod/network.php:12
+#: ../../mod/profiles.php:152 ../../mod/profiles.php:465
#: ../../mod/new_channel.php:66 ../../mod/new_channel.php:97
-#: ../../mod/filestorage.php:26 ../../mod/manage.php:6
-#: ../../mod/crepair.php:115 ../../mod/editlayout.php:48
-#: ../../mod/nogroup.php:25 ../../mod/profile_photo.php:197
-#: ../../mod/profile_photo.php:210 ../../mod/editwebpage.php:42
-#: ../../mod/editwebpage.php:64 ../../mod/notifications.php:66
-#: ../../mod/blocks.php:29 ../../mod/blocks.php:44 ../../mod/editpost.php:13
-#: ../../mod/poke.php:128 ../../mod/channel.php:123 ../../mod/fsuggest.php:78
-#: ../../mod/editblock.php:48 ../../mod/item.php:181 ../../mod/item.php:189
-#: ../../mod/suggest.php:32 ../../mod/register.php:68 ../../mod/regmod.php:18
-#: ../../mod/mood.php:114 ../../index.php:178 ../../index.php:340
+#: ../../mod/achievements.php:27 ../../mod/filestorage.php:10
+#: ../../mod/filestorage.php:59 ../../mod/filestorage.php:76
+#: ../../mod/filestorage.php:99 ../../mod/manage.php:6
+#: ../../mod/settings.php:484 ../../mod/mail.php:108
+#: ../../mod/editlayout.php:48 ../../mod/profile_photo.php:187
+#: ../../mod/profile_photo.php:200 ../../mod/editpost.php:13
+#: ../../mod/notifications.php:66 ../../mod/blocks.php:29
+#: ../../mod/blocks.php:44 ../../mod/editwebpage.php:44
+#: ../../mod/editwebpage.php:83 ../../mod/poke.php:128
+#: ../../mod/channel.php:88 ../../mod/channel.php:188
+#: ../../mod/channel.php:231 ../../mod/fsuggest.php:78
+#: ../../mod/editblock.php:48 ../../mod/suggest.php:26
+#: ../../mod/message.php:16 ../../mod/register.php:68 ../../mod/regmod.php:18
+#: ../../mod/authtest.php:13 ../../mod/item.php:182 ../../mod/item.php:190
+#: ../../mod/mood.php:119 ../../index.php:176 ../../index.php:348
msgid "Permission denied."
msgstr "Zugang verweigert"
-#: ../../include/photos.php:88
+#: ../../include/photos.php:89
#, php-format
msgid "Image exceeds website size limit of %lu bytes"
msgstr "Bild überschreitet das Limit der Webseite von %lu bytes"
-#: ../../include/photos.php:95
+#: ../../include/photos.php:96
msgid "Image file is empty."
msgstr "Bilddatei ist leer."
-#: ../../include/photos.php:124 ../../mod/profile_photo.php:157
+#: ../../include/photos.php:123 ../../mod/profile_photo.php:147
msgid "Unable to process image"
msgstr "Kann Bild nicht verarbeiten"
-#: ../../include/photos.php:186
+#: ../../include/photos.php:185
msgid "Photo storage failed."
msgstr "Foto speichern schlug fehl"
-#: ../../include/photos.php:288 ../../boot.php:2242
+#: ../../include/photos.php:302 ../../include/conversation.php:1476
msgid "Photo Albums"
msgstr "Fotoalben"
-#: ../../include/photos.php:292 ../../mod/photos.php:802
-#: ../../mod/photos.php:1276
+#: ../../include/photos.php:306 ../../mod/photos.php:690
+#: ../../mod/photos.php:1165
msgid "Upload New Photos"
msgstr "Lade neue Fotos hoch"
@@ -1876,314 +1811,115 @@ msgstr "Interessiert mich nicht"
msgid "Ask me"
msgstr "Frag mich mal"
-#: ../../include/attach.php:184 ../../include/attach.php:232
+#: ../../include/attach.php:179 ../../include/attach.php:227
msgid "Item was not found."
msgstr "Beitrag wurde nicht gefunden."
-#: ../../include/attach.php:285
+#: ../../include/attach.php:280
msgid "No source file."
msgstr "Keine Quelldatei."
-#: ../../include/attach.php:302
+#: ../../include/attach.php:297
msgid "Cannot locate file to replace"
msgstr "Kann Datei zum Ersetzen nicht finden"
-#: ../../include/attach.php:320
+#: ../../include/attach.php:315
msgid "Cannot locate file to revise/update"
msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden"
-#: ../../include/attach.php:331
+#: ../../include/attach.php:326
#, php-format
msgid "File exceeds size limit of %d"
msgstr "Datei überschreitet das Größen-Limit von %d"
-#: ../../include/attach.php:342
+#: ../../include/attach.php:338
#, php-format
msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr "Die Größe deiner Datei-Anhänge haben das Maximum von %1$.0f MByte erreicht."
-#: ../../include/attach.php:424
+#: ../../include/attach.php:422
msgid "File upload failed. Possible system limit or action terminated."
msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess."
-#: ../../include/attach.php:436
+#: ../../include/attach.php:434
msgid "Stored file could not be verified. Upload failed."
msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen."
-#: ../../include/attach.php:480 ../../include/attach.php:497
+#: ../../include/attach.php:478 ../../include/attach.php:495
msgid "Path not available."
msgstr "Pfad nicht verfügbar."
-#: ../../include/attach.php:544
+#: ../../include/attach.php:545
msgid "Empty pathname"
msgstr "leere Pfadangabe"
-#: ../../include/attach.php:562
+#: ../../include/attach.php:563
msgid "duplicate filename or path"
msgstr "doppelter Dateiname oder Pfad"
-#: ../../include/attach.php:584
+#: ../../include/attach.php:588
msgid "Path not found."
msgstr "Pfad nicht gefunden."
-#: ../../include/attach.php:628
+#: ../../include/attach.php:633
msgid "mkdir failed."
msgstr "mkdir fehlgeschlagen."
-#: ../../include/attach.php:632
+#: ../../include/attach.php:637
msgid "database storage failed."
msgstr "Speichern in der Datenbank fehlgeschlagen."
-#: ../../include/zot.php:542
-msgid "Invalid data packet"
-msgstr "Ungültiges Datenpaket"
-
-#: ../../include/zot.php:552
-msgid "Unable to verify channel signature"
-msgstr "Konnte die Signatur des Kanals nicht verifizieren"
-
-#: ../../include/zot.php:697
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Kann die Signatur der Seite von %s nicht verifizieren"
-
-#: ../../include/nav.php:72 ../../include/nav.php:87 ../../boot.php:1458
-msgid "Logout"
-msgstr "Abmelden"
-
-#: ../../include/nav.php:72 ../../include/nav.php:87
-msgid "End this session"
-msgstr "Beende diese Sitzung"
-
-#: ../../include/nav.php:75 ../../include/nav.php:121
-msgid "Home"
-msgstr "Home"
-
-#: ../../include/nav.php:75
-msgid "Your posts and conversations"
-msgstr "Deine Beiträge und Unterhaltungen"
-
-#: ../../include/nav.php:76
-msgid "Your profile page"
-msgstr "Deine Profilseite"
-
-#: ../../include/nav.php:78
-msgid "Edit Profiles"
-msgstr "Profile bearbeiten"
-
-#: ../../include/nav.php:78
-msgid "Manage/Edit Profiles"
-msgstr "Verwalte/Bearbeite Profile"
-
-#: ../../include/nav.php:79 ../../mod/fbrowser.php:25 ../../boot.php:2239
-msgid "Photos"
-msgstr "Fotos"
-
-#: ../../include/nav.php:79
-msgid "Your photos"
-msgstr "Deine Bilder"
-
-#: ../../include/nav.php:85 ../../boot.php:1459
-msgid "Login"
-msgstr "Anmelden"
-
-#: ../../include/nav.php:85
-msgid "Sign in"
-msgstr "Anmelden"
-
-#: ../../include/nav.php:102
-#, php-format
-msgid "%s - click to logout"
-msgstr "%s - Klick zum Abmelden"
-
-#: ../../include/nav.php:107
-msgid "Click to authenticate to your home hub"
-msgstr "Klick zum Authentifizieren bei Deinem Heimat-Hub"
-
-#: ../../include/nav.php:121
-msgid "Home Page"
-msgstr "Homepage"
-
-#: ../../include/nav.php:125 ../../mod/register.php:195 ../../boot.php:1435
-msgid "Register"
-msgstr "Registrieren"
-
-#: ../../include/nav.php:125
-msgid "Create an account"
-msgstr "Erzeuge ein Konto"
-
-#: ../../include/nav.php:130 ../../mod/help.php:45 ../../mod/help.php:49
-msgid "Help"
-msgstr "Hilfe"
-
-#: ../../include/nav.php:130
-msgid "Help and documentation"
-msgstr "Hilfe und Dokumentation"
-
-#: ../../include/nav.php:133
-msgid "Apps"
-msgstr "Apps"
-
-#: ../../include/nav.php:133
-msgid "Addon applications, utilities, games"
-msgstr "Addon Programme, Helferlein, Spiele"
-
-#: ../../include/nav.php:135
-msgid "Search site content"
-msgstr "Durchsuche Seiten-Inhalt"
-
-#: ../../include/nav.php:138 ../../mod/directory.php:225
-msgid "Directory"
-msgstr "Verzeichnis"
-
-#: ../../include/nav.php:138
-msgid "Channel Locator"
-msgstr "Kanal-Anzeiger"
-
-#: ../../include/nav.php:149
-msgid "Matrix"
-msgstr "Matrix"
-
-#: ../../include/nav.php:149
-msgid "Your matrix"
-msgstr "Deine Matrix"
-
-#: ../../include/nav.php:150
-msgid "See all matrix notifications"
-msgstr "Alle Matrix-Benachrichtigungen ansehen"
-
-#: ../../include/nav.php:151
-msgid "Mark all matrix notifications seen"
-msgstr "Markiere alle Matrix-Benachrichtigungen als angesehen"
-
-#: ../../include/nav.php:153
-msgid "Channel Home"
-msgstr "Mein Kanal"
-
-#: ../../include/nav.php:153
-msgid "Channel home"
-msgstr "Mein Kanal"
-
-#: ../../include/nav.php:154
-msgid "See all channel notifications"
-msgstr "Alle Kanal-Benachrichtigungen ansehen"
-
-#: ../../include/nav.php:155
-msgid "Mark all channel notifications seen"
-msgstr "Markiere alle Kanal-Benachrichtigungen als angesehen"
-
-#: ../../include/nav.php:158
-msgid "Intros"
-msgstr "Vorstellungen"
-
-#: ../../include/nav.php:158 ../../mod/connections.php:585
-msgid "New Connections"
-msgstr "Neue Verbindungen"
-
-#: ../../include/nav.php:159
-msgid "See all channel introductions"
-msgstr "Alle Kanal-Einladungen ansehen"
-
-#: ../../include/nav.php:162
-msgid "Notices"
-msgstr "Benachrichtigungen"
-
-#: ../../include/nav.php:162 ../../mod/notifications.php:218
-msgid "Notifications"
-msgstr "Benachrichtigungen"
-
-#: ../../include/nav.php:163
-msgid "See all notifications"
-msgstr "Alle Benachrichtigungen ansehen"
-
-#: ../../include/nav.php:164
-msgid "Mark all system notifications seen"
-msgstr "Markiere alle System-Benachrichtigungen als gesehen"
-
-#: ../../include/nav.php:166
-msgid "Mail"
-msgstr "Mail"
-
-#: ../../include/nav.php:166
-msgid "Private mail"
-msgstr "Persönliche Mail"
-
-#: ../../include/nav.php:167
-msgid "See all private messages"
-msgstr "Alle persönlichen Nachrichten ansehen"
-
-#: ../../include/nav.php:168
-msgid "Mark all private messages seen"
-msgstr "Markiere alle persönlichen Nachrichten als gesehen"
-
-#: ../../include/nav.php:169
-msgid "Inbox"
-msgstr "Eingang"
-
-#: ../../include/nav.php:170
-msgid "Outbox"
-msgstr "Ausgang"
-
-#: ../../include/nav.php:171 ../../mod/message.php:24
-msgid "New Message"
-msgstr "Neue Nachricht"
-
-#: ../../include/nav.php:174 ../../mod/events.php:348 ../../boot.php:2250
-msgid "Events"
-msgstr "Veranstaltungen"
-
-#: ../../include/nav.php:174
-msgid "Event Calendar"
-msgstr "Veranstaltungskalender"
+#: ../../include/taxonomy.php:210
+msgid "Tags"
+msgstr "Tags"
-#: ../../include/nav.php:175
-msgid "See all events"
-msgstr "Alle Ereignisse ansehen"
+#: ../../include/taxonomy.php:227
+msgid "Keywords"
+msgstr "Schlüsselbegriffe"
-#: ../../include/nav.php:176
-msgid "Mark all events seen"
-msgstr "Markiere alle Ereignisse als gesehen"
+#: ../../include/taxonomy.php:252
+msgid "have"
+msgstr "habe"
-#: ../../include/nav.php:178
-msgid "Channel Select"
-msgstr "Kanal-Auswahl"
+#: ../../include/taxonomy.php:252
+msgid "has"
+msgstr "hat"
-#: ../../include/nav.php:178
-msgid "Manage Your Channels"
-msgstr "Verwalte Deine Kanäle"
+#: ../../include/taxonomy.php:253
+msgid "want"
+msgstr "will"
-#: ../../include/nav.php:180 ../../mod/settings.php:131
-#: ../../mod/admin.php:782 ../../mod/admin.php:987
-msgid "Settings"
-msgstr "Einstellungen"
+#: ../../include/taxonomy.php:253
+msgid "wants"
+msgstr "will"
-#: ../../include/nav.php:180
-msgid "Account/Channel Settings"
-msgstr "Konto-/Kanal-Einstellungen"
+#: ../../include/taxonomy.php:254 ../../include/ItemObject.php:175
+msgid "like"
+msgstr "Gefällt-mir"
-#: ../../include/nav.php:182 ../../mod/connections.php:691
-msgid "Connections"
-msgstr "Verbindungen"
+#: ../../include/taxonomy.php:254
+msgid "likes"
+msgstr "Gefällt-mir"
-#: ../../include/nav.php:182
-msgid "Manage/Edit Friends and Connections"
-msgstr "Verwalte/Bearbeite Freunde und Verbindungen"
+#: ../../include/taxonomy.php:255 ../../include/ItemObject.php:176
+msgid "dislike"
+msgstr "Gefällt-mir-nicht"
-#: ../../include/nav.php:189 ../../mod/admin.php:111
-msgid "Admin"
-msgstr "Admin"
+#: ../../include/taxonomy.php:255
+msgid "dislikes"
+msgstr "Gefällt-mir-nicht"
-#: ../../include/nav.php:189
-msgid "Site Setup and Configuration"
-msgstr "Seiten-Einrichtung und -Konfiguration"
+#: ../../include/auth.php:76
+msgid "Logged out."
+msgstr "Ausgeloggt."
-#: ../../include/nav.php:215
-msgid "Nothing new here"
-msgstr "Nichts Neues hier"
+#: ../../include/auth.php:188
+msgid "Failed authentication"
+msgstr "Authentifizierung fehlgeschlagen"
-#: ../../include/nav.php:220
-msgid "Please wait..."
-msgstr "Bitte warten..."
+#: ../../include/auth.php:203
+msgid "Login failed."
+msgstr "Login fehlgeschlagen."
#: ../../include/account.php:23
msgid "Not a valid email address"
@@ -2205,387 +1941,420 @@ msgstr "Eine Einladung wird benötigt"
msgid "Invitation could not be verified."
msgstr "Die Einladung konnte nicht bestätigt werden"
-#: ../../include/account.php:118
+#: ../../include/account.php:119
msgid "Please enter the required information."
msgstr "Bitte gib die benötigten Informationen ein."
-#: ../../include/account.php:186
+#: ../../include/account.php:187
msgid "Failed to store account information."
msgstr "Speichern der Account-Informationen fehlgeschlagen"
-#: ../../include/account.php:272
+#: ../../include/account.php:273
#, php-format
msgid "Registration request at %s"
msgstr "Registrierungsanfrage auf %s"
-#: ../../include/account.php:274 ../../include/account.php:301
-#: ../../include/account.php:358
+#: ../../include/account.php:275 ../../include/account.php:302
+#: ../../include/account.php:359
msgid "Administrator"
msgstr "Administrator"
-#: ../../include/account.php:296
+#: ../../include/account.php:297
msgid "your registration password"
msgstr "dein Registrierungspasswort"
-#: ../../include/account.php:299 ../../include/account.php:356
+#: ../../include/account.php:300 ../../include/account.php:357
#, php-format
msgid "Registration details for %s"
msgstr "Registrierungsdetails für %s"
-#: ../../include/account.php:365
+#: ../../include/account.php:366
msgid "Account approved."
msgstr "Account bestätigt."
-#: ../../include/account.php:399
+#: ../../include/account.php:400
#, php-format
msgid "Registration revoked for %s"
msgstr "Registrierung für %s widerrufen"
-#: ../../include/conversation.php:123
-msgid "channel"
-msgstr "Kanal"
+#: ../../include/dir_fns.php:15
+msgid "Sort Options"
+msgstr "Sortieroptionen"
-#: ../../include/conversation.php:161 ../../mod/like.php:134
+#: ../../include/dir_fns.php:16
+msgid "Alphabetic"
+msgstr "alphabetisch"
+
+#: ../../include/dir_fns.php:17
+msgid "Reverse Alphabetic"
+msgstr "Entgegengesetzt alphabetisch"
+
+#: ../../include/dir_fns.php:18
+msgid "Newest to Oldest"
+msgstr "Neueste zuerst"
+
+#: ../../include/dir_fns.php:30
+msgid "Enable Safe Search"
+msgstr "Sichere Suche einschalten"
+
+#: ../../include/dir_fns.php:32
+msgid "Disable Safe Search"
+msgstr "Sichere Suche ausschalten"
+
+#: ../../include/dir_fns.php:34
+msgid "Safe Mode"
+msgstr "Sicherer Modus"
+
+#: ../../include/enotify.php:40
+msgid "Red Matrix Notification"
+msgstr "Red Matrix Benachrichtigung"
+
+#: ../../include/enotify.php:41
+msgid "redmatrix"
+msgstr "redmatrix"
+
+#: ../../include/enotify.php:43
+msgid "Thank You,"
+msgstr "Danke."
+
+#: ../../include/enotify.php:45
#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s mag %2$s's %3$s"
+msgid "%s Administrator"
+msgstr "%s Administrator"
-#: ../../include/conversation.php:164 ../../mod/like.php:136
+#: ../../include/enotify.php:80
#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s mag %2$s's %3$s nicht"
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
-#: ../../include/conversation.php:201
+#: ../../include/enotify.php:84
#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s ist jetzt mit %2$s verbunden"
+msgid "[Red:Notify] New mail received at %s"
+msgstr "[Red Notify] Neue Mail auf %s empfangen"
-#: ../../include/conversation.php:232
+#: ../../include/enotify.php:86
#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s stupste %2$s"
+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/conversation.php:254 ../../mod/mood.php:63
+#: ../../include/enotify.php:87
#, php-format
-msgid "%1$s is currently %2$s"
-msgstr "%1$s ist momentan %2$s"
+msgid "%1$s sent you %2$s."
+msgstr "%1$s hat dir %2$s geschickt."
+
+#: ../../include/enotify.php:87
+msgid "a private message"
+msgstr "eine private Nachricht"
-#: ../../include/conversation.php:658
+#: ../../include/enotify.php:88
#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Schaue Dir %s's Profil auf %s an."
+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/conversation.php:672
-msgid "Categories:"
-msgstr "Kategorien:"
+#: ../../include/enotify.php:142
+#, 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]a %4$s[/zrl] kommentiert"
-#: ../../include/conversation.php:673
-msgid "Filed under:"
-msgstr "Gespeichert unter:"
+#: ../../include/enotify.php:150
+#, 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/conversation.php:700
-msgid "View in context"
-msgstr "Im Zusammenhang anschauen"
+#: ../../include/enotify.php:159
+#, 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/conversation.php:826
-msgid "remove"
-msgstr "lösche"
+#: ../../include/enotify.php:170
+#, 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/conversation.php:830
-msgid "Loading..."
-msgstr "Lädt ..."
+#: ../../include/enotify.php:171
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s hat ein Thema kommentiert, dem du folgst."
-#: ../../include/conversation.php:831
-msgid "Delete Selected Items"
-msgstr "Lösche die ausgewählten Elemente"
+#: ../../include/enotify.php:174 ../../include/enotify.php:189
+#: ../../include/enotify.php:215 ../../include/enotify.php:234
+#: ../../include/enotify.php:248
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Bitte besuche %s, um die Konversation anzusehen und/oder zu kommentieren."
-#: ../../include/conversation.php:922
-msgid "View Source"
-msgstr "Quelle anzeigen"
+#: ../../include/enotify.php:180
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
+msgstr "[Red:Hinweis] %s schrieb auf Deine Pinnwand"
-#: ../../include/conversation.php:923
-msgid "Follow Thread"
-msgstr "Unterhaltung folgen"
+#: ../../include/enotify.php:182
+#, 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/conversation.php:927
-msgid "Matrix Activity"
-msgstr "Matrix Aktivität"
+#: ../../include/enotify.php:184
+#, 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/conversation.php:992
+#: ../../include/enotify.php:208
#, php-format
-msgid "%s likes this."
-msgstr "%s gefällt das."
+msgid "[Red:Notify] %s tagged you"
+msgstr "[Red Notify] %s hat dich getaggt"
-#: ../../include/conversation.php:992
+#: ../../include/enotify.php:209
#, php-format
-msgid "%s doesn't like this."
-msgstr "%s gefällt das nicht."
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, %2$s hat dich auf %3$s getaggt"
-#: ../../include/conversation.php:996
+#: ../../include/enotify.php:210
#, 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 Personen</span> mögen dies."
+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/conversation.php:998
+#: ../../include/enotify.php:223
#, 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 Personen</span> mögen dies nicht."
+msgid "[Red:Notify] %1$s poked you"
+msgstr "[Red Notify] %1$s hat dich angestupst"
-#: ../../include/conversation.php:1004
-msgid "and"
-msgstr "und"
+#: ../../include/enotify.php:224
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s hat dich auf %3$s angestubst"
-#: ../../include/conversation.php:1007
+#: ../../include/enotify.php:225
#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] ", und %d andere"
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]hat dich angestupst[/zrl]."
-#: ../../include/conversation.php:1008
+#: ../../include/enotify.php:241
#, php-format
-msgid "%s like this."
-msgstr "%s gefällt das."
+msgid "[Red:Notify] %s tagged your post"
+msgstr "[Red:Hinweis] %s hat Dich getaggt"
-#: ../../include/conversation.php:1008
+#: ../../include/enotify.php:242
#, php-format
-msgid "%s don't like this."
-msgstr "%s gefällt das nicht."
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s hat deinen Beitrag auf %3$s getaggt"
-#: ../../include/conversation.php:1058
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Sichtbar für <strong>jeden</strong>"
+#: ../../include/enotify.php:243
+#, 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] getaggt"
-#: ../../include/conversation.php:1059 ../../mod/message.php:281
-#: ../../mod/message.php:417
-msgid "Please enter a link URL:"
-msgstr "Gib eine URL ein:"
+#: ../../include/enotify.php:255
+msgid "[Red:Notify] Introduction received"
+msgstr "[Red:Notify] Vorstellung erhalten"
-#: ../../include/conversation.php:1060
-msgid "Please enter a video link/URL:"
-msgstr "Gib einen Video-Link/URL ein:"
+#: ../../include/enotify.php:256
+#, php-format
+msgid "%1$s, you've received an introduction from '%2$s' at %3$s"
+msgstr "%1$s, du hast eine Vorstellung von „%2$s“ auf %3$s erhalten"
-#: ../../include/conversation.php:1061
-msgid "Please enter an audio link/URL:"
-msgstr "Gib einen Audio-Link/URL ein:"
+#: ../../include/enotify.php:257
+#, php-format
+msgid "%1$s, you've received [zrl=%2$s]an introduction[/zrl] from %3$s."
+msgstr "%1$s, du hast [zrl=%2$s]eine Vorstellung[/zrl] von %3$s erhalten."
-#: ../../include/conversation.php:1062
-msgid "Tag term:"
-msgstr "Schlagwort:"
+#: ../../include/enotify.php:261 ../../include/enotify.php:280
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Du kannst Dir das Profil unter %s ansehen"
-#: ../../include/conversation.php:1063 ../../mod/filer.php:35
-msgid "Save to Folder:"
-msgstr "Speichern in Ordner:"
+#: ../../include/enotify.php:263
+#, php-format
+msgid "Please visit %s to approve or reject the introduction."
+msgstr "Bitte besuche %s um sie anzunehmen oder abzulehnen."
-#: ../../include/conversation.php:1064
-msgid "Where are you right now?"
-msgstr "Wo bist du jetzt grade?"
+#: ../../include/enotify.php:270
+msgid "[Red:Notify] Friend suggestion received"
+msgstr "[Red:Benachrichtigung] Freundschaftsvorschlag erhalten"
-#: ../../include/conversation.php:1065 ../../mod/message.php:282
-#: ../../mod/message.php:418 ../../mod/editpost.php:52
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Verfällt YYYY-MM-DD HH;MM"
+#: ../../include/enotify.php:271
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, du hast einen Freundschaftsvorschlag von „%2$s“ auf %3$s erhalten"
-#: ../../include/conversation.php:1089 ../../mod/photos.php:1060
-msgid "Share"
-msgstr "Teilen"
+#: ../../include/enotify.php:272
+#, 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 Freundschaftvorschlag[/zrl] für %3$s von %4$s erhalten."
-#: ../../include/conversation.php:1091
-msgid "Page link title"
-msgstr "Seitentitel-Link"
+#: ../../include/enotify.php:278
+msgid "Name:"
+msgstr "Name:"
-#: ../../include/conversation.php:1093 ../../mod/message.php:329
-#: ../../mod/message.php:512 ../../mod/editlayout.php:101
-#: ../../mod/editwebpage.php:120 ../../mod/editpost.php:98
-#: ../../mod/editblock.php:115
-msgid "Upload photo"
-msgstr "Foto hochladen"
+#: ../../include/enotify.php:279
+msgid "Photo:"
+msgstr "Foto:"
-#: ../../include/conversation.php:1094
-msgid "upload photo"
-msgstr "Foto hochladen"
+#: ../../include/enotify.php:282
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen."
-#: ../../include/conversation.php:1095 ../../mod/message.php:330
-#: ../../mod/message.php:513 ../../mod/editlayout.php:102
-#: ../../mod/editwebpage.php:121 ../../mod/editpost.php:99
-#: ../../mod/editblock.php:116
-msgid "Attach file"
-msgstr "Datei anhängen"
+#: ../../include/widgets.php:29 ../../include/contact_widgets.php:87
+msgid "Categories"
+msgstr "Kategorien"
-#: ../../include/conversation.php:1096
-msgid "attach file"
-msgstr "Datei anfügen"
+#: ../../include/widgets.php:117 ../../mod/suggest.php:53
+msgid "Ignore/Hide"
+msgstr "Ignorieren/Verstecken"
-#: ../../include/conversation.php:1097 ../../mod/message.php:331
-#: ../../mod/message.php:514 ../../mod/editlayout.php:103
-#: ../../mod/editwebpage.php:122 ../../mod/editpost.php:100
-#: ../../mod/editblock.php:117
-msgid "Insert web link"
-msgstr "Link einfügen"
+#: ../../include/widgets.php:123 ../../mod/connections.php:236
+msgid "Suggestions"
+msgstr "Vorschläge"
-#: ../../include/conversation.php:1098
-msgid "web link"
-msgstr "Web-Link"
+#: ../../include/widgets.php:124
+msgid "See more..."
+msgstr "Mehr anzeigen..."
-#: ../../include/conversation.php:1099
-msgid "Insert video link"
-msgstr "Video-Link einfügen"
+#: ../../include/widgets.php:146
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Du bist %1$.0f von %2$.0f erlaubten Verbindungen eingegangen."
-#: ../../include/conversation.php:1100
-msgid "video link"
-msgstr "Video-Link"
+#: ../../include/widgets.php:152
+msgid "Add New Connection"
+msgstr "Neue Verbindung hinzufügen"
-#: ../../include/conversation.php:1101
-msgid "Insert audio link"
-msgstr "Audio-Link einfügen"
+#: ../../include/widgets.php:153
+msgid "Enter the channel address"
+msgstr "Adresse des Kanals eingeben"
-#: ../../include/conversation.php:1102
-msgid "audio link"
-msgstr "Audio-Link"
+#: ../../include/widgets.php:154
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Beispiel: bob@beispiel.com, http://beispiel.com/barbara"
-#: ../../include/conversation.php:1103 ../../mod/editlayout.php:107
-#: ../../mod/editwebpage.php:126 ../../mod/editpost.php:104
-#: ../../mod/editblock.php:121
-msgid "Set your location"
-msgstr "Standort"
+#: ../../include/widgets.php:171
+msgid "Notes"
+msgstr "Notizen"
-#: ../../include/conversation.php:1104
-msgid "set location"
-msgstr "Standort"
+#: ../../include/widgets.php:243
+msgid "Remove term"
+msgstr "Eintrag löschen"
-#: ../../include/conversation.php:1105 ../../mod/editlayout.php:108
-#: ../../mod/editwebpage.php:127 ../../mod/editpost.php:105
-#: ../../mod/editblock.php:122
-msgid "Clear browser location"
-msgstr "Browser-Standort löschen"
+#: ../../include/widgets.php:286 ../../include/contact_widgets.php:56
+#: ../../include/contact_widgets.php:90
+msgid "Everything"
+msgstr "Alles"
-#: ../../include/conversation.php:1106
-msgid "clear location"
-msgstr "Standort löschen"
+#: ../../include/widgets.php:318 ../../include/items.php:3575
+msgid "Archives"
+msgstr "Archive"
-#: ../../include/conversation.php:1108 ../../mod/editlayout.php:121
-#: ../../mod/editwebpage.php:142 ../../mod/editpost.php:118
-#: ../../mod/editblock.php:136
-msgid "Set title"
-msgstr "Titel"
+#: ../../include/widgets.php:370
+msgid "Refresh"
+msgstr "Aktualisieren"
-#: ../../include/conversation.php:1111 ../../mod/editlayout.php:123
-#: ../../mod/editwebpage.php:144 ../../mod/editpost.php:120
-#: ../../mod/editblock.php:138
-msgid "Categories (comma-separated list)"
-msgstr "Kategorien (Kommagetrennte Liste)"
+#: ../../include/widgets.php:371 ../../mod/connedit.php:386
+msgid "Me"
+msgstr "Ich"
-#: ../../include/conversation.php:1113 ../../mod/editlayout.php:110
-#: ../../mod/editwebpage.php:129 ../../mod/editpost.php:107
-#: ../../mod/editblock.php:124
-msgid "Permission settings"
-msgstr "Berechtigungs-Einstellungen"
+#: ../../include/widgets.php:372 ../../mod/connedit.php:388
+msgid "Best Friends"
+msgstr "Beste Freunde"
-#: ../../include/conversation.php:1114
-msgid "permissions"
-msgstr "Berechtigungen"
+#: ../../include/widgets.php:374
+msgid "Co-workers"
+msgstr "Kollegen"
-#: ../../include/conversation.php:1122 ../../mod/editlayout.php:118
-#: ../../mod/editwebpage.php:137 ../../mod/editpost.php:115
-#: ../../mod/editblock.php:133
-msgid "Public post"
-msgstr "Öffentlicher Beitrag"
+#: ../../include/widgets.php:375 ../../mod/connedit.php:390
+msgid "Former Friends"
+msgstr "ehem. Freunde"
-#: ../../include/conversation.php:1124 ../../mod/editlayout.php:124
-#: ../../mod/editwebpage.php:145 ../../mod/editpost.php:121
-#: ../../mod/editblock.php:139
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Beispiel: bob@example.com, mary@example.com"
+#: ../../include/widgets.php:376 ../../mod/connedit.php:391
+msgid "Acquaintances"
+msgstr "Bekanntschaften"
-#: ../../include/conversation.php:1137 ../../mod/message.php:336
-#: ../../mod/message.php:519 ../../mod/editlayout.php:134
-#: ../../mod/editwebpage.php:155 ../../mod/editpost.php:132
-#: ../../mod/editblock.php:149
-msgid "Set expiration date"
-msgstr "Verfallsdatum"
+#: ../../include/widgets.php:377
+msgid "Everybody"
+msgstr "Jeder"
-#: ../../include/auth.php:67
-msgid "Logged out."
-msgstr "Ausgeloggt."
+#: ../../include/widgets.php:409
+msgid "Account settings"
+msgstr "Konto-Einstellungen"
-#: ../../include/auth.php:179
-msgid "Failed authentication"
-msgstr "Authentifizierung fehlgeschlagen"
+#: ../../include/widgets.php:415
+msgid "Channel settings"
+msgstr "Kanal-Einstellungen"
-#: ../../include/auth.php:188
-msgid "Login failed."
-msgstr "Login fehlgeschlagen."
+#: ../../include/widgets.php:421
+msgid "Additional features"
+msgstr "Zusätzliche Funktionen"
-#: ../../include/contact_widgets.php:14
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Du bist %1$.0f von %2$.0f erlaubten Verbindungen eingegangen."
+#: ../../include/widgets.php:427
+msgid "Feature settings"
+msgstr "Funktions-Einstellungen"
-#: ../../include/contact_widgets.php:20
-msgid "Add New Connection"
-msgstr "Neue Verbindung hinzufügen"
+#: ../../include/widgets.php:433
+msgid "Display settings"
+msgstr "Anzeige-Einstellungen"
-#: ../../include/contact_widgets.php:21
-msgid "Enter the channel address"
-msgstr "Adresse des Kanals eingeben"
+#: ../../include/widgets.php:439
+msgid "Connected apps"
+msgstr "Verbundene Apps"
-#: ../../include/contact_widgets.php:22
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Beispiel: bob@beispiel.com, http://beispiel.com/barbara"
+#: ../../include/widgets.php:445
+msgid "Export channel"
+msgstr "Kanal exportieren"
+
+#: ../../include/widgets.php:457
+msgid "Automatic Permissions (Advanced)"
+msgstr "Automatische Berechtigungen (Erweitert)"
-#: ../../include/contact_widgets.php:38
+#: ../../include/widgets.php:467
+msgid "Premium Channel Settings"
+msgstr "Prämium-Kanal Einstellungen"
+
+#: ../../include/widgets.php:504
+msgid "Check Mail"
+msgstr "E-Mails abrufen"
+
+#: ../../include/contact_widgets.php:14
#, php-format
msgid "%d invitation available"
msgid_plural "%d invitations available"
msgstr[0] "%d Einladung verfügbar"
msgstr[1] "%d Einladungen verfügbar"
-#: ../../include/contact_widgets.php:44
+#: ../../include/contact_widgets.php:20
msgid "Find Channels"
msgstr "Finde Kanäle"
-#: ../../include/contact_widgets.php:45
+#: ../../include/contact_widgets.php:21
msgid "Enter name or interest"
msgstr "Name oder Interessen eingeben"
-#: ../../include/contact_widgets.php:46
+#: ../../include/contact_widgets.php:22
msgid "Connect/Follow"
msgstr "Verbinden/Folgen"
-#: ../../include/contact_widgets.php:47
+#: ../../include/contact_widgets.php:23
msgid "Examples: Robert Morgenstein, Fishing"
msgstr "Beispiele: Robert Morgenstein, Angeln"
-#: ../../include/contact_widgets.php:48 ../../mod/connections.php:697
-#: ../../mod/directory.php:221 ../../mod/directory.php:226
+#: ../../include/contact_widgets.php:24 ../../mod/directory.php:206
+#: ../../mod/directory.php:211 ../../mod/connections.php:355
msgid "Find"
msgstr "Finde"
-#: ../../include/contact_widgets.php:49 ../../mod/suggest.php:64
+#: ../../include/contact_widgets.php:25 ../../mod/suggest.php:59
msgid "Channel Suggestions"
msgstr "Kanal-Vorschläge"
-#: ../../include/contact_widgets.php:51
+#: ../../include/contact_widgets.php:27
msgid "Random Profile"
msgstr "Zufallsprofil"
-#: ../../include/contact_widgets.php:52
+#: ../../include/contact_widgets.php:28
msgid "Invite Friends"
msgstr "Lade Freunde ein"
-#: ../../include/contact_widgets.php:79 ../../include/contact_widgets.php:113
-msgid "Everything"
-msgstr "Alles"
-
-#: ../../include/contact_widgets.php:110 ../../include/widgets.php:26
-msgid "Categories"
-msgstr "Kategorien"
-
-#: ../../include/contact_widgets.php:143
+#: ../../include/contact_widgets.php:120
#, php-format
msgid "%d connection in common"
msgid_plural "%d connections in common"
@@ -2596,6 +2365,27 @@ msgstr[1] "%d gemeinsame Verbindungen"
msgid "New Page"
msgstr "Neue Seite"
+#: ../../include/page_widgets.php:8 ../../include/ItemObject.php:96
+#: ../../mod/thing.php:229 ../../mod/webpages.php:118 ../../mod/menu.php:55
+#: ../../mod/layouts.php:102 ../../mod/filestorage.php:171
+#: ../../mod/settings.php:569 ../../mod/editlayout.php:106
+#: ../../mod/editpost.php:98 ../../mod/blocks.php:93
+#: ../../mod/editwebpage.php:144 ../../mod/editblock.php:120
+msgid "Edit"
+msgstr "Bearbeiten"
+
+#: ../../include/plugin.php:475 ../../include/plugin.php:477
+msgid "Click here to upgrade."
+msgstr "Klicke hier, um das Upgrade durchzuführen."
+
+#: ../../include/plugin.php:483
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Diese Aktion überschreitet die Grenzen Ihres Abonnements."
+
+#: ../../include/plugin.php:488
+msgid "This action is not available under your subscription plan."
+msgstr "Diese Aktion ist in Ihrem Abonnement nicht verfügbar."
+
#: ../../include/follow.php:21
msgid "Channel is blocked on this site."
msgstr "Der Kanal ist auf dieser Seite blockiert "
@@ -2709,54 +2499,223 @@ msgid ""
"Extremely advanced. Leave this alone unless you know what you are doing"
msgstr "Sehr fortgeschritten. Bearbeite dies nur, wenn du genau weißt, was du machst"
-#: ../../include/taxonomy.php:210
-msgid "Tags"
-msgstr "Tags"
+#: ../../include/comanche.php:35 ../../view/theme/redbasic/php/config.php:62
+#: ../../view/theme/apw/php/config.php:176
+msgid "Default"
+msgstr "Standard"
-#: ../../include/taxonomy.php:224
-msgid "Keywords"
-msgstr "Schlüsselbegriffe"
+#: ../../include/items.php:208 ../../mod/like.php:55 ../../mod/group.php:68
+#: ../../mod/profperm.php:19 ../../index.php:347
+msgid "Permission denied"
+msgstr "Keine Berechtigung"
-#: ../../include/taxonomy.php:249
-msgid "have"
-msgstr "habe"
+#: ../../include/items.php:3392 ../../mod/thing.php:74 ../../mod/admin.php:150
+#: ../../mod/admin.php:732 ../../mod/admin.php:935 ../../mod/viewsrc.php:18
+#: ../../mod/home.php:63 ../../mod/filestorage.php:18 ../../mod/display.php:32
+msgid "Item not found."
+msgstr "Element nicht gefunden."
-#: ../../include/taxonomy.php:249
-msgid "has"
-msgstr "hat"
+#: ../../include/items.php:3743 ../../mod/group.php:38 ../../mod/group.php:140
+msgid "Collection not found."
+msgstr "Sammlung nicht gefunden"
-#: ../../include/taxonomy.php:250
-msgid "want"
-msgstr "will"
+#: ../../include/items.php:3758
+msgid "Collection is empty."
+msgstr "Sammlung ist leer."
-#: ../../include/taxonomy.php:250
-msgid "wants"
-msgstr "will"
+#: ../../include/items.php:3765
+#, php-format
+msgid "Collection: %s"
+msgstr "Sammlung: %s"
-#: ../../include/taxonomy.php:251
-msgid "likes"
-msgstr "Gefällt-mir"
+#: ../../include/items.php:3776
+#, php-format
+msgid "Connection: %s"
+msgstr "Verbindung: %s"
-#: ../../include/taxonomy.php:252
-msgid "dislikes"
-msgstr "Gefällt-mir-nicht"
+#: ../../include/items.php:3779
+msgid "Connection not found."
+msgstr "Die Verbindung wurde nicht gefunden."
-#: ../../include/plugin.php:473 ../../include/plugin.php:475
-msgid "Click here to upgrade."
-msgstr "Klicke hier, um das Upgrade durchzuführen."
+#: ../../include/ItemObject.php:89 ../../mod/photos.php:841
+msgid "Private Message"
+msgstr "Private Nachricht"
-#: ../../include/plugin.php:481
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Diese Aktion überschreitet die Grenzen Ihres Abonnements."
+#: ../../include/ItemObject.php:108 ../../include/conversation.php:632
+#: ../../mod/thing.php:230 ../../mod/connedit.php:356 ../../mod/admin.php:695
+#: ../../mod/group.php:176 ../../mod/photos.php:1019
+#: ../../mod/filestorage.php:172 ../../mod/settings.php:570
+msgid "Delete"
+msgstr "Löschen"
-#: ../../include/plugin.php:486
-msgid "This action is not available under your subscription plan."
-msgstr "Diese Aktion ist in Ihrem Abonnement nicht verfügbar."
+#: ../../include/ItemObject.php:114 ../../include/conversation.php:631
+msgid "Select"
+msgstr "Auswählen"
-#: ../../include/comanche.php:35 ../../view/theme/redbasic/php/config.php:62
-#: ../../view/theme/apw/php/config.php:176
-msgid "Default"
-msgstr "Standard"
+#: ../../include/ItemObject.php:118
+msgid "save to folder"
+msgstr "In Ordner speichern"
+
+#: ../../include/ItemObject.php:146
+msgid "add star"
+msgstr "markieren"
+
+#: ../../include/ItemObject.php:147
+msgid "remove star"
+msgstr "Markierung entfernen"
+
+#: ../../include/ItemObject.php:148
+msgid "toggle star status"
+msgstr "Stern-Status umschalten"
+
+#: ../../include/ItemObject.php:152
+msgid "starred"
+msgstr "markiert"
+
+#: ../../include/ItemObject.php:161 ../../include/conversation.php:642
+msgid "Message is verified"
+msgstr "Nachricht überprüft"
+
+#: ../../include/ItemObject.php:169
+msgid "add tag"
+msgstr "Schlagwort hinzufügen"
+
+#: ../../include/ItemObject.php:175 ../../mod/photos.php:947
+msgid "I like this (toggle)"
+msgstr "Ich mag das (Umschalter)"
+
+#: ../../include/ItemObject.php:176 ../../mod/photos.php:948
+msgid "I don't like this (toggle)"
+msgstr "Ich mag das nicht (Umschalter)"
+
+#: ../../include/ItemObject.php:178
+msgid "Share this"
+msgstr "Teile dies"
+
+#: ../../include/ItemObject.php:178
+msgid "share"
+msgstr "Teilen"
+
+#: ../../include/ItemObject.php:202 ../../include/ItemObject.php:203
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Schaue dir %s's Profil an - %s"
+
+#: ../../include/ItemObject.php:204
+msgid "to"
+msgstr "zu"
+
+#: ../../include/ItemObject.php:205
+msgid "via"
+msgstr "via"
+
+#: ../../include/ItemObject.php:206
+msgid "Wall-to-Wall"
+msgstr "Wall-to-Wall"
+
+#: ../../include/ItemObject.php:207
+msgid "via Wall-To-Wall:"
+msgstr "via Wall-To-Wall:"
+
+#: ../../include/ItemObject.php:217 ../../include/conversation.php:686
+#, php-format
+msgid " from %s"
+msgstr "von %s"
+
+#: ../../include/ItemObject.php:220 ../../include/conversation.php:689
+#, php-format
+msgid "last edited: %s"
+msgstr "zuletzt bearbeitet: %s"
+
+#: ../../include/ItemObject.php:221
+#, php-format
+msgid "Expires: %s"
+msgstr "Verfällt: %s"
+
+#: ../../include/ItemObject.php:248 ../../include/conversation.php:706
+#: ../../include/conversation.php:1119 ../../mod/photos.php:950
+#: ../../mod/mail.php:222 ../../mod/mail.php:336 ../../mod/editlayout.php:115
+#: ../../mod/editpost.php:107 ../../mod/editwebpage.php:153
+#: ../../mod/editblock.php:129
+msgid "Please wait"
+msgstr "Bitte warten"
+
+#: ../../include/ItemObject.php:269
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d Kommentar"
+msgstr[1] "%d Kommentare"
+
+#: ../../include/ItemObject.php:534 ../../mod/photos.php:966
+#: ../../mod/photos.php:1053
+msgid "This is you"
+msgstr "Das bist du"
+
+#: ../../include/ItemObject.php:537 ../../mod/events.php:469
+#: ../../mod/thing.php:276 ../../mod/thing.php:318 ../../mod/invite.php:156
+#: ../../mod/connedit.php:434 ../../mod/setup.php:304 ../../mod/setup.php:347
+#: ../../mod/connect.php:92 ../../mod/sources.php:97 ../../mod/sources.php:131
+#: ../../mod/admin.php:420 ../../mod/admin.php:688 ../../mod/admin.php:828
+#: ../../mod/admin.php:1027 ../../mod/admin.php:1114 ../../mod/group.php:81
+#: ../../mod/photos.php:562 ../../mod/photos.php:667 ../../mod/photos.php:929
+#: ../../mod/photos.php:969 ../../mod/photos.php:1056
+#: ../../mod/profiles.php:518 ../../mod/filestorage.php:132
+#: ../../mod/import.php:387 ../../mod/settings.php:507
+#: ../../mod/settings.php:619 ../../mod/settings.php:647
+#: ../../mod/settings.php:671 ../../mod/settings.php:742
+#: ../../mod/settings.php:903 ../../mod/mail.php:223 ../../mod/mail.php:335
+#: ../../mod/poke.php:166 ../../mod/fsuggest.php:108 ../../mod/mood.php:142
+#: ../../view/theme/redbasic/php/config.php:85
+#: ../../view/theme/apw/php/config.php:231
+#: ../../view/theme/blogga/view/theme/blog/config.php:67
+#: ../../view/theme/blogga/php/config.php:67
+msgid "Submit"
+msgstr "Bestätigen"
+
+#: ../../include/ItemObject.php:538
+msgid "Bold"
+msgstr "Fett"
+
+#: ../../include/ItemObject.php:539
+msgid "Italic"
+msgstr "Kursiv"
+
+#: ../../include/ItemObject.php:540
+msgid "Underline"
+msgstr "Unterstrichen"
+
+#: ../../include/ItemObject.php:541
+msgid "Quote"
+msgstr "Zitat"
+
+#: ../../include/ItemObject.php:542
+msgid "Code"
+msgstr "Code"
+
+#: ../../include/ItemObject.php:543
+msgid "Image"
+msgstr "Bild"
+
+#: ../../include/ItemObject.php:544
+msgid "Link"
+msgstr "Link"
+
+#: ../../include/ItemObject.php:545
+msgid "Video"
+msgstr "Video"
+
+#: ../../include/ItemObject.php:546 ../../include/conversation.php:1082
+#: ../../mod/webpages.php:122 ../../mod/photos.php:970
+#: ../../mod/editlayout.php:136 ../../mod/editpost.php:127
+#: ../../mod/editwebpage.php:177 ../../mod/editblock.php:151
+msgid "Preview"
+msgstr "Vorschau"
+
+#: ../../include/ItemObject.php:549 ../../include/conversation.php:1146
+#: ../../mod/mail.php:228 ../../mod/mail.php:341 ../../mod/editpost.php:135
+msgid "Encrypt text"
+msgstr "Text verschlüsseln"
#: ../../include/security.php:49
msgid "Welcome "
@@ -2770,283 +2729,948 @@ msgstr "Bitte lade ein Profilfoto hoch."
msgid "Welcome back "
msgstr "Willkommen zurück"
-#: ../../include/security.php:360
+#: ../../include/security.php:363
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/items.php:201 ../../mod/like.php:55 ../../mod/group.php:74
-#: ../../mod/profperm.php:28 ../../index.php:339
-msgid "Permission denied"
-msgstr "Keine Berechtigung"
+#: ../../include/conversation.php:123
+msgid "channel"
+msgstr "Kanal"
-#: ../../include/items.php:3546 ../../mod/admin.php:150
-#: ../../mod/admin.php:727 ../../mod/admin.php:930 ../../mod/viewsrc.php:18
-#: ../../mod/home.php:64 ../../mod/display.php:32
-msgid "Item not found."
-msgstr "Element nicht gefunden."
+#: ../../include/conversation.php:161 ../../mod/like.php:134
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s mag %2$s's %3$s"
-#: ../../include/items.php:3729
-msgid "Archives"
-msgstr "Archive"
+#: ../../include/conversation.php:164 ../../mod/like.php:136
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s mag %2$s's %3$s nicht"
-#: ../../include/items.php:3895 ../../mod/group.php:44 ../../mod/group.php:146
-msgid "Collection not found."
-msgstr "Sammlung nicht gefunden"
+#: ../../include/conversation.php:201
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s ist jetzt mit %2$s verbunden"
-#: ../../include/items.php:3911 ../../mod/network.php:469
-msgid "Group is empty"
-msgstr "Gruppe ist leer"
+#: ../../include/conversation.php:236
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s stupste %2$s"
-#: ../../include/items.php:3927
-msgid "Connection not found."
-msgstr "Die Verbindung wurde nicht gefunden."
+#: ../../include/conversation.php:258 ../../mod/mood.php:63
+#, php-format
+msgid "%1$s is currently %2$s"
+msgstr "%1$s ist momentan %2$s"
-#: ../../include/dir_fns.php:15
-msgid "Sort Options"
-msgstr "Sortieroptionen"
+#: ../../include/conversation.php:662
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Schaue Dir %s's Profil auf %s an."
-#: ../../include/dir_fns.php:16
-msgid "Alphabetic"
-msgstr "alphabetisch"
+#: ../../include/conversation.php:676
+msgid "Categories:"
+msgstr "Kategorien:"
-#: ../../include/dir_fns.php:17
-msgid "Reverse Alphabetic"
-msgstr "Entgegengesetzt alphabetisch"
+#: ../../include/conversation.php:677
+msgid "Filed under:"
+msgstr "Gespeichert unter:"
-#: ../../include/dir_fns.php:18
-msgid "Newest to Oldest"
-msgstr "Neueste zuerst"
+#: ../../include/conversation.php:704
+msgid "View in context"
+msgstr "Im Zusammenhang anschauen"
-#: ../../include/dir_fns.php:29
-msgid "Enable Safe Search"
-msgstr "Sichere Suche einschalten"
+#: ../../include/conversation.php:833
+msgid "remove"
+msgstr "lösche"
-#: ../../include/dir_fns.php:31
-msgid "Disable Safe Search"
-msgstr "Sichere Suche ausschalten"
+#: ../../include/conversation.php:837
+msgid "Loading..."
+msgstr "Lädt ..."
-#: ../../include/dir_fns.php:33
-msgid "Safe Mode"
-msgstr "Sicherer Modus"
+#: ../../include/conversation.php:838
+msgid "Delete Selected Items"
+msgstr "Lösche die ausgewählten Elemente"
+
+#: ../../include/conversation.php:929
+msgid "View Source"
+msgstr "Quelle anzeigen"
+
+#: ../../include/conversation.php:930
+msgid "Follow Thread"
+msgstr "Unterhaltung folgen"
+
+#: ../../include/conversation.php:931
+msgid "View Status"
+msgstr "Status ansehen"
+
+#: ../../include/conversation.php:933
+msgid "View Photos"
+msgstr "Fotos ansehen"
+
+#: ../../include/conversation.php:934
+msgid "Matrix Activity"
+msgstr "Matrix Aktivität"
+
+#: ../../include/conversation.php:935
+msgid "Edit Contact"
+msgstr "Kontakt bearbeiten"
+
+#: ../../include/conversation.php:936
+msgid "Send PM"
+msgstr "Sende PN"
+
+#: ../../include/conversation.php:937
+msgid "Poke"
+msgstr "Anstupsen"
+
+#: ../../include/conversation.php:999
+#, php-format
+msgid "%s likes this."
+msgstr "%s gefällt das."
+
+#: ../../include/conversation.php:999
+#, php-format
+msgid "%s doesn't like this."
+msgstr "%s gefällt das nicht."
+
+#: ../../include/conversation.php:1003
+#, 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:1005
+#, 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:1011
+msgid "and"
+msgstr "und"
+
+#: ../../include/conversation.php:1014
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ", und %d andere"
+
+#: ../../include/conversation.php:1015
+#, php-format
+msgid "%s like this."
+msgstr "%s gefällt das."
+
+#: ../../include/conversation.php:1015
+#, php-format
+msgid "%s don't like this."
+msgstr "%s gefällt das nicht."
+
+#: ../../include/conversation.php:1065
+msgid "Visible to <strong>everybody</strong>"
+msgstr "Sichtbar für <strong>jeden</strong>"
+
+#: ../../include/conversation.php:1066 ../../mod/mail.php:171
+#: ../../mod/mail.php:269
+msgid "Please enter a link URL:"
+msgstr "Gib eine URL ein:"
+
+#: ../../include/conversation.php:1067
+msgid "Please enter a video link/URL:"
+msgstr "Gib einen Video-Link/URL ein:"
+
+#: ../../include/conversation.php:1068
+msgid "Please enter an audio link/URL:"
+msgstr "Gib einen Audio-Link/URL ein:"
+
+#: ../../include/conversation.php:1069
+msgid "Tag term:"
+msgstr "Schlagwort:"
+
+#: ../../include/conversation.php:1070 ../../mod/filer.php:35
+msgid "Save to Folder:"
+msgstr "Speichern in Ordner:"
+
+#: ../../include/conversation.php:1071
+msgid "Where are you right now?"
+msgstr "Wo bist du jetzt grade?"
+
+#: ../../include/conversation.php:1072 ../../mod/mail.php:172
+#: ../../mod/mail.php:270 ../../mod/editpost.php:52
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Verfällt YYYY-MM-DD HH;MM"
+
+#: ../../include/conversation.php:1096 ../../mod/photos.php:949
+msgid "Share"
+msgstr "Teilen"
+
+#: ../../include/conversation.php:1098 ../../mod/editwebpage.php:140
+msgid "Page link title"
+msgstr "Seitentitel-Link"
+
+#: ../../include/conversation.php:1100 ../../mod/mail.php:219
+#: ../../mod/mail.php:332 ../../mod/editlayout.php:107
+#: ../../mod/editpost.php:99 ../../mod/editwebpage.php:145
+#: ../../mod/editblock.php:121
+msgid "Upload photo"
+msgstr "Foto hochladen"
+
+#: ../../include/conversation.php:1101
+msgid "upload photo"
+msgstr "Foto hochladen"
+
+#: ../../include/conversation.php:1102 ../../mod/mail.php:220
+#: ../../mod/mail.php:333 ../../mod/editlayout.php:108
+#: ../../mod/editpost.php:100 ../../mod/editwebpage.php:146
+#: ../../mod/editblock.php:122
+msgid "Attach file"
+msgstr "Datei anhängen"
+
+#: ../../include/conversation.php:1103
+msgid "attach file"
+msgstr "Datei anfügen"
+
+#: ../../include/conversation.php:1104 ../../mod/mail.php:221
+#: ../../mod/mail.php:334 ../../mod/editlayout.php:109
+#: ../../mod/editpost.php:101 ../../mod/editwebpage.php:147
+#: ../../mod/editblock.php:123
+msgid "Insert web link"
+msgstr "Link einfügen"
+
+#: ../../include/conversation.php:1105
+msgid "web link"
+msgstr "Web-Link"
+
+#: ../../include/conversation.php:1106
+msgid "Insert video link"
+msgstr "Video-Link einfügen"
+
+#: ../../include/conversation.php:1107
+msgid "video link"
+msgstr "Video-Link"
+
+#: ../../include/conversation.php:1108
+msgid "Insert audio link"
+msgstr "Audio-Link einfügen"
+
+#: ../../include/conversation.php:1109
+msgid "audio link"
+msgstr "Audio-Link"
+
+#: ../../include/conversation.php:1110 ../../mod/editlayout.php:113
+#: ../../mod/editpost.php:105 ../../mod/editwebpage.php:151
+#: ../../mod/editblock.php:127
+msgid "Set your location"
+msgstr "Standort"
+
+#: ../../include/conversation.php:1111
+msgid "set location"
+msgstr "Standort"
+
+#: ../../include/conversation.php:1112 ../../mod/editlayout.php:114
+#: ../../mod/editpost.php:106 ../../mod/editwebpage.php:152
+#: ../../mod/editblock.php:128
+msgid "Clear browser location"
+msgstr "Browser-Standort löschen"
+
+#: ../../include/conversation.php:1113
+msgid "clear location"
+msgstr "Standort löschen"
+
+#: ../../include/conversation.php:1115 ../../mod/editlayout.php:127
+#: ../../mod/editpost.php:119 ../../mod/editwebpage.php:169
+#: ../../mod/editblock.php:142
+msgid "Set title"
+msgstr "Titel"
+
+#: ../../include/conversation.php:1118 ../../mod/editlayout.php:130
+#: ../../mod/editpost.php:121 ../../mod/editwebpage.php:171
+#: ../../mod/editblock.php:145
+msgid "Categories (comma-separated list)"
+msgstr "Kategorien (Kommagetrennte Liste)"
+
+#: ../../include/conversation.php:1120 ../../mod/editlayout.php:116
+#: ../../mod/editpost.php:108 ../../mod/editwebpage.php:154
+#: ../../mod/editblock.php:130
+msgid "Permission settings"
+msgstr "Berechtigungs-Einstellungen"
+
+#: ../../include/conversation.php:1121
+msgid "permissions"
+msgstr "Berechtigungen"
+
+#: ../../include/conversation.php:1129 ../../mod/editlayout.php:124
+#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:164
+#: ../../mod/editblock.php:139
+msgid "Public post"
+msgstr "Öffentlicher Beitrag"
+
+#: ../../include/conversation.php:1131 ../../mod/editlayout.php:131
+#: ../../mod/editpost.php:122 ../../mod/editwebpage.php:172
+#: ../../mod/editblock.php:146
+msgid "Example: bob@example.com, mary@example.com"
+msgstr "Beispiel: bob@example.com, mary@example.com"
+
+#: ../../include/conversation.php:1144 ../../mod/mail.php:226
+#: ../../mod/mail.php:339 ../../mod/editlayout.php:141
+#: ../../mod/editpost.php:133 ../../mod/editwebpage.php:182
+#: ../../mod/editblock.php:156
+msgid "Set expiration date"
+msgstr "Verfallsdatum"
+
+#: ../../include/conversation.php:1148 ../../mod/editpost.php:136
+msgid "OK"
+msgstr "OK"
+
+#: ../../include/conversation.php:1149 ../../mod/tagrm.php:11
+#: ../../mod/tagrm.php:94 ../../mod/settings.php:508
+#: ../../mod/settings.php:534 ../../mod/editpost.php:137
+#: ../../mod/fbrowser.php:82 ../../mod/fbrowser.php:117
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: ../../include/conversation.php:1379
+msgid "Commented Order"
+msgstr "Neueste Kommentare"
+
+#: ../../include/conversation.php:1382
+msgid "Sort by Comment Date"
+msgstr "Nach Kommentardatum sortiert"
+
+#: ../../include/conversation.php:1385
+msgid "Posted Order"
+msgstr "Neueste Beiträge"
+
+#: ../../include/conversation.php:1388
+msgid "Sort by Post Date"
+msgstr "Nach Beitragsdatum sortiert"
+
+#: ../../include/conversation.php:1392
+msgid "Personal"
+msgstr "Persönlich"
+
+#: ../../include/conversation.php:1395
+msgid "Posts that mention or involve you"
+msgstr "Beiträge mit Beteiligung deinerseits"
+
+#: ../../include/conversation.php:1398 ../../mod/menu.php:57
+#: ../../mod/connections.php:209
+msgid "New"
+msgstr "Neu"
+
+#: ../../include/conversation.php:1401
+msgid "Activity Stream - by date"
+msgstr "Activity Stream - nach Datum sortiert"
+
+#: ../../include/conversation.php:1408
+msgid "Starred"
+msgstr "Markiert"
+
+#: ../../include/conversation.php:1411
+msgid "Favourite Posts"
+msgstr "Beiträge mit Sternchen"
+
+#: ../../include/conversation.php:1418
+msgid "Spam"
+msgstr "Spam"
+
+#: ../../include/conversation.php:1421
+msgid "Posts flagged as SPAM"
+msgstr "Nachrichten die als SPAM markiert wurden"
+
+#: ../../include/conversation.php:1452
+msgid "Channel"
+msgstr "Kanal"
+
+#: ../../include/conversation.php:1455
+msgid "Status Messages and Posts"
+msgstr "Statusnachrichten und Beiträge"
+
+#: ../../include/conversation.php:1464
+msgid "About"
+msgstr "Ãœber"
+
+#: ../../include/conversation.php:1467
+msgid "Profile Details"
+msgstr "Profil-Details"
+
+#: ../../include/conversation.php:1482 ../../mod/fbrowser.php:114
+msgid "Files"
+msgstr "Dateien"
+
+#: ../../include/conversation.php:1485
+msgid "Files and Storage"
+msgstr "Dateien und Speicher"
+
+#: ../../include/conversation.php:1494
+msgid "Events and Calendar"
+msgstr "Veranstaltungen und Kalender"
+
+#: ../../include/conversation.php:1501
+msgid "Webpages"
+msgstr "Webseiten"
+
+#: ../../include/conversation.php:1504
+msgid "Manage Webpages"
+msgstr "Webseiten verwalten"
+
+#: ../../include/zot.php:545
+msgid "Invalid data packet"
+msgstr "Ungültiges Datenpaket"
+
+#: ../../include/zot.php:555
+msgid "Unable to verify channel signature"
+msgstr "Konnte die Signatur des Kanals nicht verifizieren"
+
+#: ../../include/zot.php:732
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Kann die Signatur der Seite von %s nicht verifizieren"
#: ../../mod/common.php:10
msgid "No channel."
-msgstr "Kein Channel."
+msgstr "Kein Kanal."
-#: ../../mod/common.php:47
+#: ../../mod/common.php:39
msgid "Common connections"
msgstr "Gemeinsame Verbindungen"
-#: ../../mod/common.php:52
+#: ../../mod/common.php:44
msgid "No connections in common."
msgstr "Keine gemeinsamen Verbindungen."
-#: ../../mod/events.php:66
+#: ../../mod/events.php:72
msgid "Event title and start time are required."
msgstr "Veranstaltungs- Titel und Startzeit sind erforderlich."
-#: ../../mod/events.php:281
+#: ../../mod/events.php:287
msgid "l, F j"
msgstr "l, F j"
-#: ../../mod/events.php:303
+#: ../../mod/events.php:309
msgid "Edit event"
msgstr "Veranstaltung bearbeiten"
-#: ../../mod/events.php:349
+#: ../../mod/events.php:355
msgid "Create New Event"
msgstr "Neue Veranstaltung erstellen"
-#: ../../mod/events.php:350
+#: ../../mod/events.php:356
msgid "Previous"
msgstr "Voriges"
-#: ../../mod/events.php:351 ../../mod/setup.php:256
+#: ../../mod/events.php:357 ../../mod/setup.php:258
msgid "Next"
msgstr "Nächste"
-#: ../../mod/events.php:425
+#: ../../mod/events.php:428
msgid "hour:minute"
msgstr "Stunde:Minute"
-#: ../../mod/events.php:435
+#: ../../mod/events.php:447
msgid "Event details"
msgstr "Veranstaltungs-Details"
-#: ../../mod/events.php:436
+#: ../../mod/events.php:448
#, php-format
msgid "Format is %s %s. Starting date and Title are required."
msgstr "Format ist %s %s. Startzeit und Titel sind erforderlich."
-#: ../../mod/events.php:438
+#: ../../mod/events.php:450
msgid "Event Starts:"
msgstr "Veranstaltung startet:"
-#: ../../mod/events.php:438 ../../mod/events.php:452
+#: ../../mod/events.php:450 ../../mod/events.php:464
msgid "Required"
msgstr "Benötigt"
-#: ../../mod/events.php:441
+#: ../../mod/events.php:453
msgid "Finish date/time is not known or not relevant"
msgstr "Ende Datum/Zeit sind unbekannt oder unwichtig"
-#: ../../mod/events.php:443
+#: ../../mod/events.php:455
msgid "Event Finishes:"
msgstr "Veranstaltung endet:"
-#: ../../mod/events.php:446
+#: ../../mod/events.php:458
msgid "Adjust for viewer timezone"
msgstr "An die Zeitzone des Betrachters anpassen"
-#: ../../mod/events.php:448
+#: ../../mod/events.php:460
msgid "Description:"
msgstr "Beschreibung:"
-#: ../../mod/events.php:452
+#: ../../mod/events.php:464
msgid "Title:"
msgstr "Titel:"
-#: ../../mod/events.php:454
+#: ../../mod/events.php:466
msgid "Share this event"
msgstr "Die Veranstaltung teilen"
-#: ../../mod/thing.php:109
+#: ../../mod/thing.php:94
+msgid "Thing updated"
+msgstr "Ding aktualisiert"
+
+#: ../../mod/thing.php:153
msgid "Object store: failed"
msgstr "Speichern des Objekts fehlgeschlagen"
-#: ../../mod/thing.php:113
-msgid "thing/stuff added"
-msgstr "Ding/Zeugs hinzugefügt"
+#: ../../mod/thing.php:157
+msgid "Thing added"
+msgstr "Ding hinzugefügt"
-#: ../../mod/thing.php:129
+#: ../../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:175
-msgid "not yet implemented."
-msgstr "noch nicht eingebaut."
+#: ../../mod/thing.php:228
+msgid "Show Thing"
+msgstr "Ding anzeigen"
+
+#: ../../mod/thing.php:235
+msgid "item not found."
+msgstr "Eintrag nicht gefunden"
-#: ../../mod/thing.php:181
-msgid "Add Stuff to your Profile"
-msgstr "Füge Sachen zu deinem Profil hinzu"
+#: ../../mod/thing.php:263
+msgid "Edit Thing"
+msgstr "Ding bearbeiten"
-#: ../../mod/thing.php:183
+#: ../../mod/thing.php:265 ../../mod/thing.php:311
msgid "Select a profile"
msgstr "Wähle ein Profil"
-#: ../../mod/thing.php:185
+#: ../../mod/thing.php:267 ../../mod/thing.php:313
msgid "Select a category of stuff. e.g. I ______ something"
msgstr "Wähle eine Kategorie für das Zeugs, z.B. Ich ______ etwas"
-#: ../../mod/thing.php:187
-msgid "Name of thing or stuff e.g. something"
-msgstr "Name des Dings/Zeugs, z.B. etwas"
+#: ../../mod/thing.php:270 ../../mod/thing.php:315
+msgid "Name of thing e.g. something"
+msgstr "Name des Dings, z.B. Etwas"
-#: ../../mod/thing.php:188
-msgid "URL of thing or stuff (optional)"
-msgstr "URL des Dings oder Zeugs (optional)"
+#: ../../mod/thing.php:272 ../../mod/thing.php:316
+msgid "URL of thing (optional)"
+msgstr "URL des Dings (optional)"
-#: ../../mod/thing.php:189
-msgid "URL for photo of thing or stuff (optional)"
-msgstr "URL eines Fotos von dem Ding oder Zeugs (optional)"
+#: ../../mod/thing.php:274 ../../mod/thing.php:317
+msgid "URL for photo of thing (optional)"
+msgstr "URL eines Fotos von dem Ding (optional)"
+
+#: ../../mod/thing.php:309
+msgid "Add Thing to your Profile"
+msgstr "Das Ding deinem Profil hinzufügen"
#: ../../mod/invite.php:25
msgid "Total invitation limit exceeded."
msgstr "Limit der maximalen Einladungen überschritten."
-#: ../../mod/invite.php:47
+#: ../../mod/invite.php:49
#, php-format
msgid "%s : Not a valid email address."
msgstr "%s : Keine gültige Email Adresse."
-#: ../../mod/invite.php:74
+#: ../../mod/invite.php:76
msgid "Please join us on Red"
-msgstr "Bitte schließe Dich uns an und werde Teil der Red Matrix"
+msgstr "Schließe Dich uns an und werde Teil der Red-Matrix"
-#: ../../mod/invite.php:85
+#: ../../mod/invite.php:87
msgid "Invitation limit exceeded. Please contact your site administrator."
msgstr "Einladungslimit überschritten. Bitte kontaktiere den Administrator deiner Seite."
-#: ../../mod/invite.php:90
+#: ../../mod/invite.php:92
#, php-format
msgid "%s : Message delivery failed."
msgstr "%s : Nachricht konnte nicht zugestellt werden."
-#: ../../mod/invite.php:94
+#: ../../mod/invite.php:96
#, php-format
msgid "%d message sent."
msgid_plural "%d messages sent."
msgstr[0] "%d Nachricht gesendet."
msgstr[1] "%d Nachrichten gesendet."
-#: ../../mod/invite.php:113
+#: ../../mod/invite.php:115
msgid "You have no more invitations available"
msgstr "Du hast keine weiteren verfügbare Einladungen"
-#: ../../mod/invite.php:139
+#: ../../mod/invite.php:141
msgid "Send invitations"
msgstr "Einladungen senden"
-#: ../../mod/invite.php:140
+#: ../../mod/invite.php:142
msgid "Enter email addresses, one per line:"
msgstr "Email-Adressen eintragen, eine pro Zeile:"
-#: ../../mod/invite.php:141 ../../mod/message.php:326
-#: ../../mod/message.php:508
+#: ../../mod/invite.php:143 ../../mod/mail.php:216 ../../mod/mail.php:328
msgid "Your message:"
msgstr "Deine Nachricht:"
-#: ../../mod/invite.php:142
+#: ../../mod/invite.php:144
msgid ""
"You are cordially invited to join me and some other close friends on the Red"
" Matrix - a revolutionary new decentralised communication and information "
"tool."
msgstr "Du bist herzlich eingeladen, mir und einigen anderen guten Freunden in die Red-Matrix zu folgen – einem revolutionär neuen, dezentralisierten Kommunikations- und Informationsnetzwerk."
-#: ../../mod/invite.php:144
+#: ../../mod/invite.php:146
msgid "You will need to supply this invitation code: $invite_code"
msgstr "Du musst dann den folgenden Einladungs-Code angeben: $invite_code"
-#: ../../mod/invite.php:145
+#: ../../mod/invite.php:147
msgid "Please visit my channel at"
msgstr "Bitte besuche meinen Kanal auf"
-#: ../../mod/invite.php:149
+#: ../../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:"
msgstr "Wenn du dich registriert hast (egal auf welcher Seite in der Red Matrix, sie sind alle miteinander verbunden) verbinde dich bitte mit meinem Kanal in der Matrix. Adresse:"
-#: ../../mod/invite.php:151
+#: ../../mod/invite.php:153
msgid "Click the [Register] link on the following page to join."
msgstr "Klicke den [Registrieren]-Link auf der nächsten Seite, um dich anzumelden."
-#: ../../mod/invite.php:153
+#: ../../mod/invite.php:155
msgid ""
"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"
msgstr "Für weitere Informationen über das Red Matrix Projekt und warum es das Potential hat das Internet wie wir es kennen grundlegend zu verändern schau dir bitte http://getzot.com an"
-#: ../../mod/allfriends.php:35
+#: ../../mod/cloud.php:88
+msgid "Red Matrix - Guests: Username: {your email address}, Password: +++"
+msgstr "Red Matrix Gäste: Nutzername: {deine Email Adresse}; Passwort: +++"
+
+#: ../../mod/connedit.php:49 ../../mod/connections.php:37
+msgid "Could not access contact record."
+msgstr "Konnte auf den Kontakteintrag nicht zugreifen."
+
+#: ../../mod/connedit.php:63 ../../mod/connections.php:51
+msgid "Could not locate selected profile."
+msgstr "Konnte das gewählte Profil nicht finden."
+
+#: ../../mod/connedit.php:104 ../../mod/connections.php:92
+msgid "Connection updated."
+msgstr "Verbindung aktualisiert."
+
+#: ../../mod/connedit.php:106 ../../mod/connections.php:94
+msgid "Failed to update connection record."
+msgstr "Konnte den Verbindungseintrag nicht aktualisieren."
+
+#: ../../mod/connedit.php:201
+msgid "Could not access address book record."
+msgstr "Konnte nicht auf den Eintrag im Adressbuch zugreifen."
+
+#: ../../mod/connedit.php:215
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar."
+
+#: ../../mod/connedit.php:222
+msgid "Channel has been unblocked"
+msgstr "Kanal nicht mehr blockiert"
+
+#: ../../mod/connedit.php:223
+msgid "Channel has been blocked"
+msgstr "Kanal blockiert"
+
+#: ../../mod/connedit.php:227 ../../mod/connedit.php:239
+#: ../../mod/connedit.php:251 ../../mod/connedit.php:263
+#: ../../mod/connedit.php:278
+msgid "Unable to set address book parameters."
+msgstr "Konnte die Adressbuch Parameter nicht setzen."
+
+#: ../../mod/connedit.php:234
+msgid "Channel has been unignored"
+msgstr "Kanal wird nicht mehr ignoriert"
+
+#: ../../mod/connedit.php:235
+msgid "Channel has been ignored"
+msgstr "Kanal wird ignoriert"
+
+#: ../../mod/connedit.php:246
+msgid "Channel has been unarchived"
+msgstr "Kanal wurde aus dem Archiv zurück geholt"
+
+#: ../../mod/connedit.php:247
+msgid "Channel has been archived"
+msgstr "Kanal wurde archiviert"
+
+#: ../../mod/connedit.php:258
+msgid "Channel has been unhidden"
+msgstr "Kanal wird nicht mehr versteckt"
+
+#: ../../mod/connedit.php:259
+msgid "Channel has been hidden"
+msgstr "Kanal wurde versteckt"
+
+#: ../../mod/connedit.php:273
+msgid "Channel has been approved"
+msgstr "Kanal wurde zugelassen"
+
+#: ../../mod/connedit.php:274
+msgid "Channel has been unapproved"
+msgstr "Zulassung des Kanals entfernt"
+
+#: ../../mod/connedit.php:292
+msgid "Contact has been removed."
+msgstr "Kontakt wurde entfernt."
+
+#: ../../mod/connedit.php:312
#, php-format
-msgid "Friends of %s"
-msgstr "Freunde von %s"
+msgid "View %s's profile"
+msgstr "%s's Profil ansehen"
-#: ../../mod/allfriends.php:41
-msgid "No friends to display."
-msgstr "Keine Freunde zum Anzeigen."
+#: ../../mod/connedit.php:316
+msgid "Refresh Permissions"
+msgstr "Zugriffsrechte auffrischen"
-#: ../../mod/webpages.php:8 ../../mod/connect.php:13 ../../mod/layouts.php:8
-#: ../../mod/filestorage.php:8 ../../mod/blocks.php:10 ../../mod/profile.php:8
-#: ../../boot.php:1640
-msgid "Requested profile is not available."
-msgstr "Erwünschte Profil ist nicht verfügbar."
+#: ../../mod/connedit.php:319
+msgid "Fetch updated permissions"
+msgstr "Aktualisierte Zugriffsrechte abfragen"
+
+#: ../../mod/connedit.php:323
+msgid "Recent Activity"
+msgstr "Kürzliche Aktivitäten"
+
+#: ../../mod/connedit.php:326
+msgid "View recent posts and comments"
+msgstr "Betrachte die neuesten Beiträge und Kommentare"
+
+#: ../../mod/connedit.php:330 ../../mod/connedit.php:472
+#: ../../mod/admin.php:697
+msgid "Unblock"
+msgstr "Freigeben"
+
+#: ../../mod/connedit.php:330 ../../mod/connedit.php:472
+#: ../../mod/admin.php:696
+msgid "Block"
+msgstr "Blockieren"
+
+#: ../../mod/connedit.php:333
+msgid "Block or Unblock this connection"
+msgstr "Verbindung blockieren oder frei geben"
+
+#: ../../mod/connedit.php:337 ../../mod/connedit.php:473
+msgid "Unignore"
+msgstr "Nicht ignorieren"
+
+#: ../../mod/connedit.php:337 ../../mod/connedit.php:473
+#: ../../mod/notifications.php:51
+msgid "Ignore"
+msgstr "Ignorieren"
+
+#: ../../mod/connedit.php:340
+msgid "Ignore or Unignore this connection"
+msgstr "Verbindung ignorieren oder wieder beachten"
+
+#: ../../mod/connedit.php:343
+msgid "Unarchive"
+msgstr "Aus Archiv zurückholen"
+
+#: ../../mod/connedit.php:343
+msgid "Archive"
+msgstr "Archivieren"
+
+#: ../../mod/connedit.php:346
+msgid "Archive or Unarchive this connection"
+msgstr "Archiviere diese Verbindung oder hole sie aus dem Archiv zurück"
+
+#: ../../mod/connedit.php:349
+msgid "Unhide"
+msgstr "aufdecken"
+
+#: ../../mod/connedit.php:349
+msgid "Hide"
+msgstr "Verbergen"
+
+#: ../../mod/connedit.php:352
+msgid "Hide or Unhide this connection"
+msgstr "Diese Verbindung verstecken oder aufdecken"
+
+#: ../../mod/connedit.php:359
+msgid "Delete this connection"
+msgstr "Verbindung löschen"
+
+#: ../../mod/connedit.php:392
+msgid "Unknown"
+msgstr "Unbekannt"
+
+#: ../../mod/connedit.php:402 ../../mod/connedit.php:431
+msgid "Approve this connection"
+msgstr "Verbindung genehmigen"
+
+#: ../../mod/connedit.php:402
+msgid "Accept connection to allow communication"
+msgstr "Aktzeptiere die Verbindung um Kommunikation zu ermöglichen"
+
+#: ../../mod/connedit.php:418
+msgid "Automatic Permissions Settings"
+msgstr "Automatische Berechtigungs-Einstellungen"
+
+#: ../../mod/connedit.php:418
+#, php-format
+msgid "Connections: settings for %s"
+msgstr "Verbindungseinstellungen für %s"
+
+#: ../../mod/connedit.php:422
+msgid ""
+"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 "Wenn eine Kanal-Vorstellung empfangen wird, werden die hier getroffenen Einstellungen automatisch angewandt und der Anfrage wird stattgegeben. Verlasse diese Seite, wenn du dieses Feature nicht verwanden möchtest."
+
+#: ../../mod/connedit.php:424
+msgid "Slide to adjust your degree of friendship"
+msgstr "Schieben um den Grad der Freundschaft zu wählen"
+
+#: ../../mod/connedit.php:430
+msgid "inherited"
+msgstr "Geerbt"
+
+#: ../../mod/connedit.php:432
+msgid "Connection has no individual permissions!"
+msgstr "Diese Verbindung hat keine individuellen Zugriffseinstellungen."
+
+#: ../../mod/connedit.php:433
+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ären Einstellungen</a> könnte dies angebracht sein, eventuell solltest du aber die \"Erweiterte Zugriffsrechte\" überprüfen."
+
+#: ../../mod/connedit.php:435
+msgid "Profile Visibility"
+msgstr "Sichtbarkeit des Profils"
-#: ../../mod/webpages.php:104 ../../mod/layouts.php:105
+#: ../../mod/connedit.php:436
+#, 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:437
+msgid "Contact Information / Notes"
+msgstr "Kontaktinformationen / Notizen"
+
+#: ../../mod/connedit.php:438
+msgid "Edit contact notes"
+msgstr "Kontaktnotizen editieren"
+
+#: ../../mod/connedit.php:440
+msgid "Their Settings"
+msgstr "Deren Einstellungen"
+
+#: ../../mod/connedit.php:441
+msgid "My Settings"
+msgstr "Meine Einstellungen"
+
+#: ../../mod/connedit.php:443
+msgid "Forum Members"
+msgstr "Forum Mitglieder"
+
+#: ../../mod/connedit.php:444
+msgid "Soapbox"
+msgstr "Marktschreier"
+
+#: ../../mod/connedit.php:445
+msgid "Full Sharing"
+msgstr "Volles Teilen"
+
+#: ../../mod/connedit.php:446
+msgid "Cautious Sharing"
+msgstr "Vorsichtiges Teilen"
+
+#: ../../mod/connedit.php:447
+msgid "Follow Only"
+msgstr "Nur Folgen"
+
+#: ../../mod/connedit.php:448
+msgid "Individual Permissions"
+msgstr "Individuelle Zugriffseinstellungen"
+
+#: ../../mod/connedit.php:449
+msgid ""
+"Some permissions may be inherited from your channel <a "
+"href=\"settings\">privacy settings</a>, which have higher priority. Changing"
+" those inherited settings on this page will have no effect."
+msgstr "Einige Genehmigungen können von deinen <a href=\"settings\">Sicherheits- und Datenschutz-Einstellungen</a> geerbt sein (siehe Kennzeichnung), da diese eine höhere Priorität haben. Wenn du solche Genehmigungen hier änderst, hat das keine Auswirkungen."
+
+#: ../../mod/connedit.php:450
+msgid "Advanced Permissions"
+msgstr "Erweiterte Zugriffsrechte"
+
+#: ../../mod/connedit.php:451
+msgid "Quick Links"
+msgstr "Quick Links"
+
+#: ../../mod/connedit.php:455
+#, php-format
+msgid "Visit %s's profile - %s"
+msgstr "%s's Profil besuchen - %s"
+
+#: ../../mod/connedit.php:456
+msgid "Block/Unblock contact"
+msgstr "Geblockt Status ein- / ausschalten"
+
+#: ../../mod/connedit.php:457
+msgid "Ignore contact"
+msgstr "Kontakt ignorieren"
+
+#: ../../mod/connedit.php:458
+msgid "Repair URL settings"
+msgstr "URL Einstellungen reparieren"
+
+#: ../../mod/connedit.php:459
+msgid "View conversations"
+msgstr "Unterhaltungen anzeigen"
+
+#: ../../mod/connedit.php:461
+msgid "Delete contact"
+msgstr "Kontakt löschen"
+
+#: ../../mod/connedit.php:464
+msgid "Last update:"
+msgstr "Letzte Aktualisierung:"
+
+#: ../../mod/connedit.php:466
+msgid "Update public posts"
+msgstr "Öffentliche Beiträge aktualisieren"
+
+#: ../../mod/connedit.php:468
+msgid "Update now"
+msgstr "Jetzt aktualisieren"
+
+#: ../../mod/connedit.php:474
+msgid "Currently blocked"
+msgstr "Derzeit blockiert"
+
+#: ../../mod/connedit.php:475
+msgid "Currently ignored"
+msgstr "Derzeit ignoriert"
+
+#: ../../mod/connedit.php:476
+msgid "Currently archived"
+msgstr "Derzeit archiviert"
+
+#: ../../mod/connedit.php:477
+msgid "Currently pending"
+msgstr "Derzeit anstehend"
+
+#: ../../mod/connedit.php:478
+msgid "Hide this contact from others"
+msgstr "Diese Verbindung vor den anderen verbergen."
+
+#: ../../mod/connedit.php:478
+msgid ""
+"Replies/likes to your public posts <strong>may</strong> still be visible"
+msgstr "Antworten/Likes auf deine öffentlichen Beiträge <strong>können</strong> immer noch sichtbar sein"
+
+#: ../../mod/webpages.php:121 ../../mod/layouts.php:105
#: ../../mod/blocks.php:96
msgid "View"
msgstr "Ansicht"
@@ -3067,26 +3691,18 @@ msgstr "Zum Weitermachen, bitte einloggen."
msgid ""
"Do you want to authorize this application to access your posts and contacts,"
" and/or create new posts for you?"
-msgstr "Möchtest du der Anwendung erlauben deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für dich zu erstellen?"
+msgstr "Möchtest du der Anwendung erlauben, deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für dich zu erstellen?"
-#: ../../mod/api.php:105 ../../mod/settings.php:1009
-#: ../../mod/settings.php:1014 ../../mod/settings.php:1037
-#: ../../mod/settings.php:1039 ../../mod/settings.php:1040
-#: ../../mod/settings.php:1041 ../../mod/profiles.php:506
+#: ../../mod/api.php:105 ../../mod/profiles.php:495 ../../mod/settings.php:865
+#: ../../mod/settings.php:870
msgid "Yes"
msgstr "Ja"
-#: ../../mod/api.php:106 ../../mod/settings.php:1009
-#: ../../mod/settings.php:1014 ../../mod/settings.php:1037
-#: ../../mod/settings.php:1039 ../../mod/settings.php:1040
-#: ../../mod/settings.php:1041 ../../mod/profiles.php:507
+#: ../../mod/api.php:106 ../../mod/profiles.php:496 ../../mod/settings.php:865
+#: ../../mod/settings.php:870
msgid "No"
msgstr "Nein"
-#: ../../mod/lastpost.php:16 ../../mod/channel.php:16
-msgid "You must be logged in to see this page."
-msgstr "Du musst angemeldet sein um diese Seite betrachten zu können."
-
#: ../../mod/apps.php:8
msgid "No installed applications."
msgstr "Keine installierten Applikationen"
@@ -3099,13 +3715,13 @@ msgstr "Anwendungen"
msgid "Invalid item."
msgstr "Ungültiges Element."
-#: ../../mod/page.php:47 ../../mod/chanview.php:78 ../../mod/home.php:51
-#: ../../mod/magic.php:95 ../../mod/wall_upload.php:35
+#: ../../mod/page.php:47 ../../mod/chanview.php:77 ../../mod/home.php:50
+#: ../../mod/wall_upload.php:35
msgid "Channel not found."
msgstr "Kanal nicht gefunden."
-#: ../../mod/page.php:83 ../../mod/help.php:56 ../../mod/display.php:92
-#: ../../index.php:229
+#: ../../mod/page.php:83 ../../mod/help.php:71 ../../mod/display.php:100
+#: ../../index.php:227
msgid "Page not found."
msgstr "Seite nicht gefunden."
@@ -3141,308 +3757,318 @@ msgid ""
"phpmyadmin or mysql."
msgstr "Eventuell musst du die Datei \"install/database.sql\" händisch mit phpmyadmin oder mysql importieren."
-#: ../../mod/setup.php:188 ../../mod/setup.php:255 ../../mod/setup.php:584
+#: ../../mod/setup.php:188 ../../mod/setup.php:257 ../../mod/setup.php:606
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "Lies die Datei \"install/INSTALL.txt\"."
-#: ../../mod/setup.php:252
+#: ../../mod/setup.php:254
msgid "System check"
msgstr "Systemprüfung"
-#: ../../mod/setup.php:257
+#: ../../mod/setup.php:259
msgid "Check again"
msgstr "Bitte nochmal prüfen"
-#: ../../mod/setup.php:279
+#: ../../mod/setup.php:281
msgid "Database connection"
msgstr "Datenbank Verbindung"
-#: ../../mod/setup.php:280
+#: ../../mod/setup.php:282
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 deine Datenbank kontaktieren können."
-#: ../../mod/setup.php:281
+#: ../../mod/setup.php:283
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Bitte kontaktiere deinen Hosting Provider oder den Administrator der Seite wenn du Fragen zu diesen Einstellungen haben solltest."
-#: ../../mod/setup.php:282
+#: ../../mod/setup.php:284
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:286
+#: ../../mod/setup.php:288
msgid "Database Server Name"
msgstr "Datenbank-Servername"
-#: ../../mod/setup.php:286
+#: ../../mod/setup.php:288
msgid "Default is localhost"
msgstr "Standard ist localhost"
-#: ../../mod/setup.php:287
+#: ../../mod/setup.php:289
msgid "Database Port"
msgstr "Datenbank-Port"
-#: ../../mod/setup.php:287
+#: ../../mod/setup.php:289
msgid "Communication port number - use 0 for default"
msgstr "Port Nummer zur Kommunikation - verwende 0 für die Standardeinstellung:"
-#: ../../mod/setup.php:288
+#: ../../mod/setup.php:290
msgid "Database Login Name"
msgstr "Datenbank-Benutzername"
-#: ../../mod/setup.php:289
+#: ../../mod/setup.php:291
msgid "Database Login Password"
msgstr "Datenbank-Kennwort"
-#: ../../mod/setup.php:290
+#: ../../mod/setup.php:292
msgid "Database Name"
msgstr "Datenbank-Name"
-#: ../../mod/setup.php:292 ../../mod/setup.php:334
+#: ../../mod/setup.php:294 ../../mod/setup.php:336
msgid "Site administrator email address"
msgstr "E-Mail Adresse des Seiten-Administrators"
-#: ../../mod/setup.php:292 ../../mod/setup.php:334
+#: ../../mod/setup.php:294 ../../mod/setup.php:336
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "Die Email-Adresse deines Accounts muss dieser Adresse entsprechen, damit du Zugriff zum Admin Panel erhältst."
-#: ../../mod/setup.php:293 ../../mod/setup.php:336
+#: ../../mod/setup.php:295 ../../mod/setup.php:338
msgid "Website URL"
msgstr "Webseiten URL"
-#: ../../mod/setup.php:293 ../../mod/setup.php:336
+#: ../../mod/setup.php:295 ../../mod/setup.php:338
msgid "Please use SSL (https) URL if available."
msgstr "Nutze wenn möglich eine SSL-URL (https)."
-#: ../../mod/setup.php:296 ../../mod/setup.php:339
+#: ../../mod/setup.php:298 ../../mod/setup.php:341
msgid "Please select a default timezone for your website"
msgstr "Standard-Zeitzone für deine Website"
-#: ../../mod/setup.php:323
+#: ../../mod/setup.php:325
msgid "Site settings"
msgstr "Seiteneinstellungen"
-#: ../../mod/setup.php:379
+#: ../../mod/setup.php:381
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 Servers finden."
-#: ../../mod/setup.php:380
+#: ../../mod/setup.php:382
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 "Solltest du keine Kommandozeilen Version von PHP auf dem Server installiert haben wirst du nicht in der Lage sein Hintergrundprozesse via cron auszuführen."
-#: ../../mod/setup.php:384
+#: ../../mod/setup.php:386
msgid "PHP executable path"
msgstr "PHP Pfad zu ausführbarer Datei"
-#: ../../mod/setup.php:384
+#: ../../mod/setup.php:386
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 Felds frei lassen und mit der Installation fortfahren."
-#: ../../mod/setup.php:389
+#: ../../mod/setup.php:391
msgid "Command line PHP"
msgstr "PHP Befehlszeile"
-#: ../../mod/setup.php:398
+#: ../../mod/setup.php:400
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "Die Kommandozeilen Version von PHP auf deinem System hat \"register_argc_argv\" nicht aktiviert."
-#: ../../mod/setup.php:399
+#: ../../mod/setup.php:401
msgid "This is required for message delivery to work."
msgstr "Dies wird benötigt, damit die Auslieferung von Nachrichten funktioniert."
-#: ../../mod/setup.php:401
+#: ../../mod/setup.php:403
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../mod/setup.php:422
+#: ../../mod/setup.php:424
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:423
+#: ../../mod/setup.php:425
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "Wenn du Windows verwendest, siehe http://www.php.net/manual/en/openssl.installation.php für eine Installationsanleitung."
-#: ../../mod/setup.php:425
+#: ../../mod/setup.php:427
msgid "Generate encryption keys"
msgstr "Verschlüsselungsschlüssel generieren"
-#: ../../mod/setup.php:432
+#: ../../mod/setup.php:434
msgid "libCurl PHP module"
msgstr "libCurl PHP Modul"
-#: ../../mod/setup.php:433
+#: ../../mod/setup.php:435
msgid "GD graphics PHP module"
msgstr "GD Graphik PHP Modul"
-#: ../../mod/setup.php:434
+#: ../../mod/setup.php:436
msgid "OpenSSL PHP module"
msgstr "OpenSSL PHP Modul"
-#: ../../mod/setup.php:435
+#: ../../mod/setup.php:437
msgid "mysqli PHP module"
msgstr "mysqli PHP Modul"
-#: ../../mod/setup.php:436
+#: ../../mod/setup.php:438
msgid "mb_string PHP module"
msgstr "mb_string PHP Modul"
-#: ../../mod/setup.php:437
+#: ../../mod/setup.php:439
msgid "mcrypt PHP module"
msgstr "mcrypt PHP Modul"
-#: ../../mod/setup.php:442 ../../mod/setup.php:444
+#: ../../mod/setup.php:444 ../../mod/setup.php:446
msgid "Apache mod_rewrite module"
msgstr "Apache mod_rewrite Modul"
-#: ../../mod/setup.php:442
+#: ../../mod/setup.php:444
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:448 ../../mod/setup.php:451
+#: ../../mod/setup.php:450 ../../mod/setup.php:453
msgid "proc_open"
msgstr "proc_open"
-#: ../../mod/setup.php:448
+#: ../../mod/setup.php:450
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:456
+#: ../../mod/setup.php:458
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:460
+#: ../../mod/setup.php:462
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:464
+#: ../../mod/setup.php:466
msgid "Error: openssl PHP module required but not installed."
msgstr "Fehler: das OpenSSL PHP Modul wird benötigt ist aber nicht installiert."
-#: ../../mod/setup.php:468
+#: ../../mod/setup.php:470
msgid "Error: mysqli PHP module required but not installed."
msgstr "Fehler: das PHP Modul mysqli wird benötigt ist aber nicht installiert."
-#: ../../mod/setup.php:472
+#: ../../mod/setup.php:474
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:476
+#: ../../mod/setup.php:478
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:492
+#: ../../mod/setup.php:494
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 es aber nicht."
-#: ../../mod/setup.php:493
+#: ../../mod/setup.php:495
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 dies daran, dass der Nutzer unter dem der Web-Server läuft keine Rechte zum Schreiben in dem Verzeichnis hat - selbst wenn du das kannst."
-#: ../../mod/setup.php:494
+#: ../../mod/setup.php:496
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 des Vorgangs wird ein Text generiert, den du unter dem Dateinamen .htconfig.php im Stammverzeichnis deiner Red Installation speichern."
-#: ../../mod/setup.php:495
+#: ../../mod/setup.php:497
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:498
+#: ../../mod/setup.php:500
msgid ".htconfig.php is writable"
msgstr ".htconfig.php ist beschreibbar"
-#: ../../mod/setup.php:508
+#: ../../mod/setup.php:510
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:509
+#: ../../mod/setup.php:511
msgid ""
"In order to store these compiled templates, the web server needs to have "
"write access to the directory view/tpl/smarty3/ under the Red top level "
"folder."
msgstr "Um die übersetzten Vorlagen speichern zu können muss der Webserver schreib Zugriff auf das Verzeichnis view/tpl/smarty3/ unterhalb des Red Stammverzeichnisses haben."
-#: ../../mod/setup.php:510
+#: ../../mod/setup.php:512 ../../mod/setup.php:530
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 Webserver läuft (z.B. www-data) Zugriff zum Schreiben auf dieses Verzeichnis hat."
-#: ../../mod/setup.php:511
+#: ../../mod/setup.php:513
msgid ""
"Note: as a security measure, you should give the web server write access to "
"view/tpl/smarty3/ only--not the template files (.tpl) that it contains."
msgstr "Hinweis: Als Sicherheitsvorkehrung solltest du dem Webserver nur Schreib-Zugriff auf das Verzeichnis view/tpl/smarty3 geben, nicht dem Vorlagen (.tpl) die in diesem Verzeichnis liegen."
-#: ../../mod/setup.php:514
+#: ../../mod/setup.php:516
msgid "view/tpl/smarty3 is writable"
msgstr "view/tpl/smarty3 ist beschreibbar"
-#: ../../mod/setup.php:528
+#: ../../mod/setup.php:529
+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 store Verzeichnis um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Red Stammverzeichnis."
+
+#: ../../mod/setup.php:533
+msgid "store is writable"
+msgstr "store ist schreibbar"
+
+#: ../../mod/setup.php:548
msgid "SSL certificate validation"
msgstr "SSL Zertifikatverifizierung"
-#: ../../mod/setup.php:528
+#: ../../mod/setup.php:548
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 schalte HTTPS ab um auf diese Seite zuzugreifen."
-#: ../../mod/setup.php:535
+#: ../../mod/setup.php:555
msgid ""
"Url rewrite in .htaccess is not working. Check your server configuration."
msgstr "URL rewrite funktioniert in der .htaccess nicht. Überprüfe deine Server-Konfiguration."
-#: ../../mod/setup.php:537
+#: ../../mod/setup.php:557
msgid "Url rewrite is working"
msgstr "Url rewrite funktioniert"
-#: ../../mod/setup.php:547
+#: ../../mod/setup.php:567
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:571
+#: ../../mod/setup.php:591
msgid "Errors encountered creating database tables."
msgstr "Fehler während des Anlegens der Datenbank Tabellen aufgetreten."
-#: ../../mod/setup.php:582
+#: ../../mod/setup.php:604
msgid "<h1>What next</h1>"
msgstr "<h1>Was als Nächstes</h1>"
-#: ../../mod/setup.php:583
+#: ../../mod/setup.php:605
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
@@ -3463,7 +4089,7 @@ msgstr "%1$s folgt nun %2$s's %3$s"
msgid "[Embedded content - reload page to view]"
msgstr "[Eingebetteter Inhalte - bitte lade die Seite zur Anzeige neu]"
-#: ../../mod/chanview.php:98
+#: ../../mod/chanview.php:93
msgid "toggle full screen mode"
msgstr "auf Vollbildmodus umschalten"
@@ -3472,476 +4098,22 @@ msgstr "auf Vollbildmodus umschalten"
msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr "%1$s hat %2$s's %3$s mit %4$s getaggt"
-#: ../../mod/settings.php:53
-msgid "Account settings"
-msgstr "Konto-Einstellungen"
-
-#: ../../mod/settings.php:59
-msgid "Channel settings"
-msgstr "Kanal-Einstellungen"
-
-#: ../../mod/settings.php:65
-msgid "Additional features"
-msgstr "Zusätzliche Funktionen"
-
-#: ../../mod/settings.php:71
-msgid "Feature settings"
-msgstr "Funktions-Einstellungen"
-
-#: ../../mod/settings.php:77
-msgid "Display settings"
-msgstr "Anzeige-Einstellungen"
-
-#: ../../mod/settings.php:83
-msgid "Connected apps"
-msgstr "Verbundene Apps"
-
-#: ../../mod/settings.php:89
-msgid "Export channel"
-msgstr "Kanal exportieren"
-
-#: ../../mod/settings.php:101
-msgid "Automatic Permissions (Advanced)"
-msgstr "Automatische Berechtigungen (Erweitert)"
-
-#: ../../mod/settings.php:111
-msgid "Premium Channel Settings"
-msgstr "Prämium-Kanal Einstellungen"
-
-#: ../../mod/settings.php:171
-msgid "Name is required"
-msgstr "Name wird benötigt"
-
-#: ../../mod/settings.php:175
-msgid "Key and Secret are required"
-msgstr "Schlüssel und Geheimnis werden benötigt"
-
-#: ../../mod/settings.php:179 ../../mod/settings.php:677
-msgid "Update"
-msgstr "Update"
-
-#: ../../mod/settings.php:292
-msgid "Passwords do not match. Password unchanged."
-msgstr "Kennwörter stimmen nicht überein. Kennwort nicht verändert."
-
-#: ../../mod/settings.php:296
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Leere Kennwörter sind nicht erlaubt. Kennwort nicht verändert."
-
-#: ../../mod/settings.php:309
-msgid "Password changed."
-msgstr "Kennwort geändert."
-
-#: ../../mod/settings.php:311
-msgid "Password update failed. Please try again."
-msgstr "Kennwortänderung fehlgeschlagen. Bitte versuche es noch einmal."
-
-#: ../../mod/settings.php:325
-msgid "Not valid email."
-msgstr "Keine gültige E-Mail Adresse."
-
-#: ../../mod/settings.php:328
-msgid "Protected email address. Cannot change to that email."
-msgstr "Geschützte E-Mail Adresse. Diese kann nicht verändert werden."
-
-#: ../../mod/settings.php:337
-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:579
-msgid "Settings updated."
-msgstr "Einstellungen aktualisiert."
-
-#: ../../mod/settings.php:650 ../../mod/settings.php:676
-#: ../../mod/settings.php:712
-msgid "Add application"
-msgstr "Anwendung hinzufügen"
-
-#: ../../mod/settings.php:652 ../../mod/settings.php:678
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117
-msgid "Cancel"
-msgstr "Abbrechen"
-
-#: ../../mod/settings.php:653 ../../mod/settings.php:679
-#: ../../mod/admin.php:686 ../../mod/crepair.php:148
-msgid "Name"
-msgstr "Name"
-
-#: ../../mod/settings.php:653
-msgid "Name of application"
-msgstr "Name der Anwendung"
-
-#: ../../mod/settings.php:654 ../../mod/settings.php:680
-msgid "Consumer Key"
-msgstr "Consumer Key"
-
-#: ../../mod/settings.php:654 ../../mod/settings.php:655
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Automatisch erzeugt - ändern falls erwünscht. Maximale Länge 20"
-
-#: ../../mod/settings.php:655 ../../mod/settings.php:681
-msgid "Consumer Secret"
-msgstr "Consumer Secret"
-
-#: ../../mod/settings.php:656 ../../mod/settings.php:682
-msgid "Redirect"
-msgstr "Umleitung"
-
-#: ../../mod/settings.php:656
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "Umleitungs-URl - lasse dies frei außer deine Anwendung erfordert dies explizit"
-
-#: ../../mod/settings.php:657 ../../mod/settings.php:683
-msgid "Icon url"
-msgstr "Symbol-URL"
-
-#: ../../mod/settings.php:657
-msgid "Optional"
-msgstr "Optional"
-
-#: ../../mod/settings.php:668
-msgid "You can't edit this application."
-msgstr "Diese Anwendung kann nicht bearbeitet werden."
-
-#: ../../mod/settings.php:711
-msgid "Connected Apps"
-msgstr "Verbundene Apps"
-
-#: ../../mod/settings.php:715
-msgid "Client key starts with"
-msgstr "Client key beginnt mit"
-
-#: ../../mod/settings.php:716
-msgid "No name"
-msgstr "Kein Name"
-
-#: ../../mod/settings.php:717
-msgid "Remove authorization"
-msgstr "Authorisierung aufheben"
-
-#: ../../mod/settings.php:728
-msgid "No feature settings configured"
-msgstr "Keine Funktions-Einstellungen konfiguriert"
-
-#: ../../mod/settings.php:736
-msgid "Feature Settings"
-msgstr "Funktions-Einstellungen"
-
-#: ../../mod/settings.php:759
-msgid "Account Settings"
-msgstr "Konto-Einstellungen"
-
-#: ../../mod/settings.php:760
-msgid "Password Settings"
-msgstr "Kennwort-Einstellungen"
-
-#: ../../mod/settings.php:761
-msgid "New Password:"
-msgstr "Neues Passwort:"
-
-#: ../../mod/settings.php:762
-msgid "Confirm:"
-msgstr "Bestätigen:"
-
-#: ../../mod/settings.php:762
-msgid "Leave password fields blank unless changing"
-msgstr "Lasse die Passwort -Felder leer außer du möchtest das Passwort ändern"
-
-#: ../../mod/settings.php:764 ../../mod/settings.php:1063
-msgid "Email Address:"
-msgstr "Email Adresse:"
-
-#: ../../mod/settings.php:765
-msgid "Remove Account"
-msgstr "Konto entfernen"
-
-#: ../../mod/settings.php:766
-msgid "Warning: This action is permanent and cannot be reversed."
-msgstr "Achtung: Diese Aktion ist permanent und kann nicht rückgänging gemacht werden."
-
-#: ../../mod/settings.php:782
-msgid "Off"
-msgstr "Aus"
-
-#: ../../mod/settings.php:782
-msgid "On"
-msgstr "An"
-
-#: ../../mod/settings.php:789
-msgid "Additional Features"
-msgstr "Zusätzliche Funktionen"
-
-#: ../../mod/settings.php:814
-msgid "Connector Settings"
-msgstr "Connector-Einstellungen"
-
-#: ../../mod/settings.php:844 ../../mod/admin.php:369
-msgid "No special theme for mobile devices"
-msgstr "Keine spezielle Theme für mobile Geräte"
-
-#: ../../mod/settings.php:884
-msgid "Display Settings"
-msgstr "Anzeige-Einstellungen"
-
-#: ../../mod/settings.php:890
-msgid "Display Theme:"
-msgstr "Anzeige Theme:"
-
-#: ../../mod/settings.php:891
-msgid "Mobile Theme:"
-msgstr "Mobile Theme:"
-
-#: ../../mod/settings.php:892
-msgid "Update browser every xx seconds"
-msgstr "Browser alle xx Sekunden aktualisieren"
-
-#: ../../mod/settings.php:892
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimum von 10 Sekunden, kein Maximum"
-
-#: ../../mod/settings.php:893
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Maximale Anzahl von Unterhaltungen die gleichzeitig geladen werden sollen:"
-
-#: ../../mod/settings.php:893
-msgid "Maximum of 100 items"
-msgstr "Maximum von 100 Beiträgen"
-
-#: ../../mod/settings.php:894
-msgid "Don't show emoticons"
-msgstr "Emoticons nicht zeigen"
-
-#: ../../mod/settings.php:930
-msgid "Nobody except yourself"
-msgstr "Niemand außer du selbst"
-
-#: ../../mod/settings.php:931
-msgid "Only those you specifically allow"
-msgstr "Nur die, denen du es explizit erlaubst"
-
-#: ../../mod/settings.php:932
-msgid "Anybody in your address book"
-msgstr "Jeder aus Ihrem Adressbuch"
-
-#: ../../mod/settings.php:933
-msgid "Anybody on this website"
-msgstr "Jeder auf dieser Website"
-
-#: ../../mod/settings.php:934
-msgid "Anybody in this network"
-msgstr "Jeder in diesem Netzwerk"
-
-#: ../../mod/settings.php:935
-msgid "Anybody on the internet"
-msgstr "Jeder im Internet"
-
-#: ../../mod/settings.php:1009
-msgid "Publish your default profile in the network directory"
-msgstr "Veröffentliche dein Standard-Profil im Netzwerk-Verzeichnis"
-
-#: ../../mod/settings.php:1014
-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:1018 ../../mod/profile_photo.php:298
-msgid "or"
-msgstr "oder"
-
-#: ../../mod/settings.php:1023
-msgid "Your channel address is"
-msgstr "Deine Kanal-Adresse lautet"
-
-#: ../../mod/settings.php:1034
-msgid "Automatically expire posts after this many days:"
-msgstr "Lösche Beiträge automatisch nach dieser Anzahl von Tagen:"
-
-#: ../../mod/settings.php:1034
-msgid "If empty, posts will not expire. Expired posts will be deleted"
-msgstr "Falls leer werden Beiträge nie verfallen. Verfallene Beiträge werden gelöscht"
-
-#: ../../mod/settings.php:1035
-msgid "Advanced expiration settings"
-msgstr "Erweitere Verfalls-Einstellungen"
-
-#: ../../mod/settings.php:1036
-msgid "Advanced Expiration"
-msgstr "Erweitertes Verfallen"
-
-#: ../../mod/settings.php:1037
-msgid "Expire posts:"
-msgstr "Beiträge verfallen lassen:"
-
-#: ../../mod/settings.php:1039
-msgid "Expire starred posts:"
-msgstr "Markierte Beiträge verfallen lassen:"
-
-#: ../../mod/settings.php:1040
-msgid "Expire photos:"
-msgstr "Fotos verfallen lassen:"
-
-#: ../../mod/settings.php:1041
-msgid "Only expire posts by others:"
-msgstr "Nur Beiträge anderer verfallen lassen:"
-
-#: ../../mod/settings.php:1052
-msgid "Channel Settings"
-msgstr "Channel-Einstellungen"
-
-#: ../../mod/settings.php:1061
-msgid "Basic Settings"
-msgstr "Grundeinstellungen"
-
-#: ../../mod/settings.php:1064
-msgid "Your Timezone:"
-msgstr "Ihre Zeitzone:"
-
-#: ../../mod/settings.php:1065
-msgid "Default Post Location:"
-msgstr "Standardstandort:"
-
-#: ../../mod/settings.php:1066
-msgid "Use Browser Location:"
-msgstr "Standort des Browsers verwenden:"
-
-#: ../../mod/settings.php:1068
-msgid "Adult Content"
-msgstr "Nicht Jugendfreie-Inhalte"
-
-#: ../../mod/settings.php:1068
-msgid "This channel publishes adult content."
-msgstr "Dieser Kanal veröffentlicht nicht Jugendfreie-Inhalte"
-
-#: ../../mod/settings.php:1070
-msgid "Security and Privacy Settings"
-msgstr "Sicherheits- und Datenschutz-Einstellungen"
-
-#: ../../mod/settings.php:1072
-msgid "Quick Privacy Settings:"
-msgstr "Schnelle Datenschutz-Einstellungen:"
-
-#: ../../mod/settings.php:1073
-msgid "Very Public - extremely permissive"
-msgstr "Sehr offen - extrem freizügig"
-
-#: ../../mod/settings.php:1074
-msgid "Typical - default public, privacy when desired"
-msgstr "Typisch - Standard öffentlich, Privatheit wenn gewünscht"
-
-#: ../../mod/settings.php:1075
-msgid "Private - default private, rarely open or public"
-msgstr "Privat - Standard privat, selten offen oder öffentlich"
-
-#: ../../mod/settings.php:1076
-msgid "Blocked - default blocked to/from everybody"
-msgstr "Geschlossen - Standard zu und von jedem geblockt"
-
-#: ../../mod/settings.php:1079
-msgid "Maximum Friend Requests/Day:"
-msgstr "Maximale Kontaktanfragen pro Tag:"
-
-#: ../../mod/settings.php:1079
-msgid "May reduce spam activity"
-msgstr "Kann die Spam-Aktivität verringern"
-
-#: ../../mod/settings.php:1080
-msgid "Default Post Permissions"
-msgstr "Beitragszugriffrechte Standardeinstellungen"
-
-#: ../../mod/settings.php:1081
-msgid "(click to open/close)"
-msgstr "(zum öffnen/schließen anklicken)"
-
-#: ../../mod/settings.php:1094
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:"
-
-#: ../../mod/settings.php:1094
-msgid "Useful to reduce spamming"
-msgstr "Nützlich um Spam zu verringern"
-
-#: ../../mod/settings.php:1097
-msgid "Notification Settings"
-msgstr "Benachrichtigungs-Einstellungen"
-
-#: ../../mod/settings.php:1098
-msgid "By default post a status message when:"
-msgstr "Sende standardmäßig Status-Nachrichten wenn:"
-
-#: ../../mod/settings.php:1099
-msgid "accepting a friend request"
-msgstr "einer Kontaktanfrage stattgegeben wurde"
-
-#: ../../mod/settings.php:1100
-msgid "joining a forum/community"
-msgstr "ein Forum beigetreten wurde"
-
-#: ../../mod/settings.php:1101
-msgid "making an <em>interesting</em> profile change"
-msgstr "eine <em>interessante</em> Änderung am Profil vorgenommen wurde"
-
-#: ../../mod/settings.php:1102
-msgid "Send a notification email when:"
-msgstr "Eine Email Benachrichtigung senden wenn:"
-
-#: ../../mod/settings.php:1103
-msgid "You receive an introduction"
-msgstr "Du eine Vorstellung erhältst"
-
-#: ../../mod/settings.php:1104
-msgid "Your introductions are confirmed"
-msgstr "Deine Vorstellung bestätigt wurde."
-
-#: ../../mod/settings.php:1105
-msgid "Someone writes on your profile wall"
-msgstr "Jemand auf deine Pinnwand schreibt"
-
-#: ../../mod/settings.php:1106
-msgid "Someone writes a followup comment"
-msgstr "Jemand einen Beitrag kommentiert"
-
-#: ../../mod/settings.php:1107
-msgid "You receive a private message"
-msgstr "Du eine private Nachricht erhältst"
-
-#: ../../mod/settings.php:1108
-msgid "You receive a friend suggestion"
-msgstr "Du einen Kontaktvorschlag erhältst"
-
-#: ../../mod/settings.php:1109
-msgid "You are tagged in a post"
-msgstr "Du wurdest in einem Beitrag getaggt"
-
-#: ../../mod/settings.php:1110
-msgid "You are poked/prodded/etc. in a post"
-msgstr "Du in einer Nachricht angestupst/geknufft/o.ä. wirst"
-
-#: ../../mod/settings.php:1113
-msgid "Advanced Account/Page Type Settings"
-msgstr "Erweiterte Account / Seiten Arten Einstellungen"
-
-#: ../../mod/settings.php:1114
-msgid "Change the behaviour of this account for special situations"
-msgstr "Ändere das Verhalten dieses Accounts unter speziellen Umständen"
-
-#: ../../mod/viewconnections.php:28 ../../mod/search.php:80
-#: ../../mod/photos.php:576 ../../mod/display.php:9 ../../mod/community.php:18
-#: ../../mod/directory.php:32
+#: ../../mod/viewconnections.php:17 ../../mod/search.php:13
+#: ../../mod/photos.php:442 ../../mod/directory.php:15 ../../mod/display.php:9
+#: ../../mod/community.php:18 ../../mod/dirprofile.php:9
msgid "Public access denied."
msgstr "Öffentlicher Zugang verweigert."
-#: ../../mod/viewconnections.php:57
+#: ../../mod/viewconnections.php:43
msgid "No connections."
msgstr "Keine Verbindungen."
-#: ../../mod/viewconnections.php:69 ../../mod/nogroup.php:40
+#: ../../mod/viewconnections.php:55
#, php-format
msgid "Visit %s's profile [%s]"
msgstr "Besuche %s's Profil [%s]"
-#: ../../mod/viewconnections.php:84
+#: ../../mod/viewconnections.php:70
msgid "View Connnections"
msgstr "Zeige Verbindungen"
@@ -3961,46 +4133,46 @@ msgstr "Schlagwort zum entfernen auswählen:"
msgid "Remove"
msgstr "Entferne"
-#: ../../mod/connect.php:59 ../../mod/connect.php:107
+#: ../../mod/connect.php:55 ../../mod/connect.php:103
msgid "Continue"
msgstr "Fortfahren"
-#: ../../mod/connect.php:88
+#: ../../mod/connect.php:84
msgid "Premium Channel Setup"
msgstr "Prämium-Kanal Einrichtung"
-#: ../../mod/connect.php:90
+#: ../../mod/connect.php:86
msgid "Enable premium channel connection restrictions"
msgstr "Einschränkungen für den Prämium-Kanal aktivieren"
-#: ../../mod/connect.php:91
+#: ../../mod/connect.php:87
msgid ""
"Please enter your restrictions or conditions, such as paypal receipt, usage "
"guidelines, etc."
msgstr "Bitte gib deine Nutzungseinschränkungen ein, z.B. Paypal Quittung, Nutzungsbestimmungen etc."
-#: ../../mod/connect.php:93 ../../mod/connect.php:113
+#: ../../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 "Unter Umständen sind weitere Schritte oder die Bestätigung der folgenden Bedingungen, vor dem Verbinden mit diesem Kanal nötig."
-#: ../../mod/connect.php:94
+#: ../../mod/connect.php:90
msgid ""
"Potential connections will then see the following text before proceeding:"
msgstr "Potentielle Verbindungen werden den folgenden Text sehen bevor fortgefahren wird:"
-#: ../../mod/connect.php:95 ../../mod/connect.php:116
+#: ../../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 "Mit dem fortfahren bestätige ich die Erfüllung aller Anweisungen die vom Seitenbetreiber erteilt wurden."
-#: ../../mod/connect.php:104
+#: ../../mod/connect.php:100
msgid "(No specific instructions have been provided by the channel owner.)"
msgstr "(Der Seitenbetreiber hat keine speziellen Anweisungen für Kanal-Betreiber hinterlegt.)"
-#: ../../mod/connect.php:112
+#: ../../mod/connect.php:108
msgid "Restricted or Premium Channel"
msgstr "Eingeschränkter oder Prämium-Kanal"
@@ -4039,58 +4211,62 @@ msgstr "Hinzufügen"
msgid "No entries."
msgstr "Keine Einträge."
-#: ../../mod/sources.php:27
+#: ../../mod/sources.php:28
+msgid "Failed to create source. No channel selected."
+msgstr "Konnte die Quelle nicht anlegen. Kein Kanal ausgewählt."
+
+#: ../../mod/sources.php:41
msgid "Source created."
msgstr "Quelle erstellt."
-#: ../../mod/sources.php:39
+#: ../../mod/sources.php:53
msgid "Source updated."
msgstr "Quelle aktualisiert."
-#: ../../mod/sources.php:68
+#: ../../mod/sources.php:82
msgid "Manage remote sources of content for your channel."
msgstr "Entfernte Quellen von Inhalten deines Kanals verwalten."
-#: ../../mod/sources.php:69 ../../mod/sources.php:79
+#: ../../mod/sources.php:83 ../../mod/sources.php:93
msgid "New Source"
msgstr "Neue Quelle"
-#: ../../mod/sources.php:80 ../../mod/sources.php:106
+#: ../../mod/sources.php:94 ../../mod/sources.php:126
msgid ""
"Import all or selected content from the following channel into this channel "
"and distribute it according to your channel settings."
msgstr "Importiere alle oder ausgewählte Inhalte des folgenden Kanals in diesen Kanal und verteile sie gemäß der Einstellungen dieses Kanals."
-#: ../../mod/sources.php:81 ../../mod/sources.php:107
+#: ../../mod/sources.php:95 ../../mod/sources.php:127
msgid "Only import content with these words (one per line)"
msgstr "Importiere ausschließlich Beiträge, die folgende Wörter (eines pro Zeile) enthalten"
-#: ../../mod/sources.php:81 ../../mod/sources.php:107
+#: ../../mod/sources.php:95 ../../mod/sources.php:127
msgid "Leave blank to import all public content"
msgstr "Leer lassen um alle öffentlichen Beiträge zu importieren"
-#: ../../mod/sources.php:82 ../../mod/sources.php:109
+#: ../../mod/sources.php:96 ../../mod/sources.php:130
#: ../../mod/new_channel.php:110
msgid "Channel Name"
-msgstr "Channel-Name"
+msgstr "Name des Kanals"
-#: ../../mod/sources.php:96 ../../mod/sources.php:122
+#: ../../mod/sources.php:116 ../../mod/sources.php:143
msgid "Source not found."
msgstr "Quelle nicht gefunden."
-#: ../../mod/sources.php:103
+#: ../../mod/sources.php:123
msgid "Edit Source"
msgstr "Quelle bearbeiten"
-#: ../../mod/sources.php:104
+#: ../../mod/sources.php:124
msgid "Delete Source"
msgstr "Quelle löschen"
-#: ../../mod/sources.php:130
+#: ../../mod/sources.php:151
msgid "Source removed"
msgstr "Quelle gelöscht"
-#: ../../mod/sources.php:132
+#: ../../mod/sources.php:153
msgid "Unable to remove source."
msgstr "Konnte die Quelle nicht löschen."
@@ -4098,23 +4274,23 @@ msgstr "Konnte die Quelle nicht löschen."
msgid "Theme settings updated."
msgstr "Theme-Einstellungen aktualisiert."
-#: ../../mod/admin.php:87 ../../mod/admin.php:417
+#: ../../mod/admin.php:87 ../../mod/admin.php:419
msgid "Site"
msgstr "Seite"
-#: ../../mod/admin.php:88 ../../mod/admin.php:682 ../../mod/admin.php:694
+#: ../../mod/admin.php:88 ../../mod/admin.php:687 ../../mod/admin.php:699
msgid "Users"
msgstr "Benutzer"
-#: ../../mod/admin.php:89 ../../mod/admin.php:780 ../../mod/admin.php:822
+#: ../../mod/admin.php:89 ../../mod/admin.php:785 ../../mod/admin.php:827
msgid "Plugins"
msgstr "Plug-Ins"
-#: ../../mod/admin.php:90 ../../mod/admin.php:985 ../../mod/admin.php:1021
+#: ../../mod/admin.php:90 ../../mod/admin.php:990 ../../mod/admin.php:1026
msgid "Themes"
msgstr "Themes"
-#: ../../mod/admin.php:91 ../../mod/admin.php:475
+#: ../../mod/admin.php:91 ../../mod/admin.php:479
msgid "Server"
msgstr "Server"
@@ -4122,7 +4298,7 @@ msgstr "Server"
msgid "DB updates"
msgstr "DB-Aktualisierungen"
-#: ../../mod/admin.php:106 ../../mod/admin.php:113 ../../mod/admin.php:1108
+#: ../../mod/admin.php:106 ../../mod/admin.php:113 ../../mod/admin.php:1113
msgid "Logs"
msgstr "Protokolle"
@@ -4138,9 +4314,9 @@ msgstr "Nutzer Anmeldungen die auf Bestätigung warten"
msgid "Message queues"
msgstr "Nachrichten Warteschlange"
-#: ../../mod/admin.php:193 ../../mod/admin.php:416 ../../mod/admin.php:474
-#: ../../mod/admin.php:681 ../../mod/admin.php:779 ../../mod/admin.php:821
-#: ../../mod/admin.php:984 ../../mod/admin.php:1020 ../../mod/admin.php:1107
+#: ../../mod/admin.php:193 ../../mod/admin.php:418 ../../mod/admin.php:478
+#: ../../mod/admin.php:686 ../../mod/admin.php:784 ../../mod/admin.php:826
+#: ../../mod/admin.php:989 ../../mod/admin.php:1025 ../../mod/admin.php:1112
msgid "Administration"
msgstr "Administration"
@@ -4152,7 +4328,7 @@ msgstr "Zusammenfassung"
msgid "Registered users"
msgstr "Registrierte Benutzer"
-#: ../../mod/admin.php:198 ../../mod/admin.php:478
+#: ../../mod/admin.php:198 ../../mod/admin.php:482
msgid "Pending registrations"
msgstr "Ausstehende Registrierungen"
@@ -4160,779 +4336,760 @@ msgstr "Ausstehende Registrierungen"
msgid "Version"
msgstr "Version"
-#: ../../mod/admin.php:201 ../../mod/admin.php:479
+#: ../../mod/admin.php:201 ../../mod/admin.php:483
msgid "Active plugins"
msgstr "Aktive Plug-Ins"
-#: ../../mod/admin.php:340
+#: ../../mod/admin.php:342
msgid "Site settings updated."
msgstr "Site-Einstellungen aktualisiert."
-#: ../../mod/admin.php:371
+#: ../../mod/admin.php:371 ../../mod/settings.php:700
+msgid "No special theme for mobile devices"
+msgstr "Keine spezielle Theme für mobile Geräte"
+
+#: ../../mod/admin.php:373
msgid "No special theme for accessibility"
msgstr "Kein spezielles Accessibility Theme vorhanden"
-#: ../../mod/admin.php:396
+#: ../../mod/admin.php:398
msgid "Closed"
msgstr "Geschlossen"
-#: ../../mod/admin.php:397
+#: ../../mod/admin.php:399
msgid "Requires approval"
msgstr "Genehmigung erforderlich"
-#: ../../mod/admin.php:398
+#: ../../mod/admin.php:400
msgid "Open"
msgstr "Offen"
-#: ../../mod/admin.php:403
+#: ../../mod/admin.php:405
msgid "Private"
msgstr "Privat"
-#: ../../mod/admin.php:404
+#: ../../mod/admin.php:406
msgid "Paid Access"
msgstr "Kostenpflichtiger Zugang"
-#: ../../mod/admin.php:405
+#: ../../mod/admin.php:407
msgid "Free Access"
msgstr "Kostenloser Zugang"
-#: ../../mod/admin.php:406
+#: ../../mod/admin.php:408
msgid "Tiered Access"
msgstr "Abgestufter Zugang"
-#: ../../mod/admin.php:419 ../../mod/register.php:180
+#: ../../mod/admin.php:421 ../../mod/register.php:189
msgid "Registration"
msgstr "Registrierung"
-#: ../../mod/admin.php:420
+#: ../../mod/admin.php:422
msgid "File upload"
msgstr "Dateiupload"
-#: ../../mod/admin.php:421
+#: ../../mod/admin.php:423
msgid "Policies"
msgstr "Richtlinien"
-#: ../../mod/admin.php:422
+#: ../../mod/admin.php:424
msgid "Advanced"
msgstr "Fortgeschritten"
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:428
msgid "Site name"
msgstr "Seitenname"
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:429
msgid "Banner/Logo"
msgstr "Banner/Logo"
-#: ../../mod/admin.php:428
+#: ../../mod/admin.php:430
msgid "System language"
msgstr "System-Sprache"
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:431
msgid "System theme"
msgstr "System-Theme"
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:431
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:430
+#: ../../mod/admin.php:432
msgid "Mobile system theme"
msgstr "Mobile System-Theme:"
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:432
msgid "Theme for mobile devices"
msgstr "Theme für mobile Geräte"
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:433
msgid "Accessibility system theme"
msgstr "Accessibility System-Theme"
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:433
msgid "Accessibility theme"
msgstr "Accessibility Theme"
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:434
msgid "Channel to use for this website's static pages"
msgstr "Kanal für die statischen Seiten dieser Webseite verwenden"
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:434
msgid "Site Channel"
msgstr "Seiten Kanal"
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:436
msgid "Maximum image size"
msgstr "Maximale Bildgröße"
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:436
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Maximale Größe in Bytes von hochgeladenen Bildern. Standard ist 0, was keine Einschränkung bedeutet."
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:437
msgid "Register policy"
msgstr "Registrierungsmethode"
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:438
msgid "Access policy"
msgstr "Zugangsrichtlinien"
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:439
msgid "Register text"
msgstr "Registrierungstext"
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:439
msgid "Will be displayed prominently on the registration page."
msgstr "Wird gut sichtbar auf der Registrierungsseite angezeigt."
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:440
msgid "Accounts abandoned after x days"
msgstr "Accounts gelten nach X Tagen als unbenutzt"
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:440
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Verschwende keine Systemressourchen auf das Pollen von externen Seiten wenn das Konto nicht mehr benutzt wird. Trage hier 0 für kein zeitliches Limit."
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:441
msgid "Allowed friend domains"
msgstr "Erlaubte Domains für Kontakte"
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:441
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:440
+#: ../../mod/admin.php:442
msgid "Allowed email domains"
msgstr "Erlaubte Domains für E-Mails"
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:442
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:441
+#: ../../mod/admin.php:443
msgid "Block public"
msgstr "Öffentlichen Zugriff blockieren"
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:443
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr "Klicken, um öffentlichen Zugriff auf sonst öffentliche Profile zu blockieren, wenn man nicht eingeloggt ist."
-#: ../../mod/admin.php:442
+#: ../../mod/admin.php:444
msgid "Force publish"
msgstr "Veröffentlichung erzwingen"
-#: ../../mod/admin.php:442
+#: ../../mod/admin.php:444
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Klicken, um Anzeige aller Profile dieses Servers im Verzeichnis zu erzwingen."
-#: ../../mod/admin.php:444
+#: ../../mod/admin.php:445
+msgid "No login on Homepage"
+msgstr "Kein Login auf der Homepage"
+
+#: ../../mod/admin.php:445
+msgid ""
+"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 "Wählen 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:447
msgid "Proxy user"
msgstr "Proxy Benutzer"
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:448
msgid "Proxy URL"
msgstr "Proxy URL"
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:449
msgid "Network timeout"
msgstr "Netzwerk-Timeout"
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:449
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Der Wert ist in Sekunden. Setze 0 für unbegrenzt (nicht empfohlen)."
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:450
msgid "Delivery interval"
msgstr "Auslieferung Intervall"
-#: ../../mod/admin.php:447
+#: ../../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 an 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:448
+#: ../../mod/admin.php:451
msgid "Poll interval"
msgstr "Abfrageintervall"
-#: ../../mod/admin.php:448
+#: ../../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 an Sekunden um die Systemlast zu reduzieren. Bei 0 Sekunden wird das Auslieferungsintervall verwendet."
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:452
msgid "Maximum Load Average"
msgstr "Maximum Load Average"
-#: ../../mod/admin.php:449
+#: ../../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:466
+#: ../../mod/admin.php:470
msgid "No server found"
msgstr "Kein Server gefunden"
-#: ../../mod/admin.php:473 ../../mod/admin.php:695
+#: ../../mod/admin.php:477 ../../mod/admin.php:700
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:477
msgid "for channel"
msgstr "für Kanal"
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:477
msgid "on server"
msgstr "auf Server"
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:477
msgid "Status"
msgstr "Status"
-#: ../../mod/admin.php:493
+#: ../../mod/admin.php:498
msgid "Update has been marked successful"
msgstr "Update wurde als erfolgreich markiert"
-#: ../../mod/admin.php:503
+#: ../../mod/admin.php:508
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Aufrufen von %s fehlgeschlagen. Überprüfe die Systemlogs."
-#: ../../mod/admin.php:506
+#: ../../mod/admin.php:511
#, php-format
msgid "Update %s was successfully applied."
msgstr "Update %s wurde erfolgreich angewandt."
-#: ../../mod/admin.php:510
+#: ../../mod/admin.php:515
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "Update %s liefert keinen Rückgabewert. Unbekannt ob es erfolgreich war."
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:518
#, php-format
msgid "Update function %s could not be found."
msgstr "Update Funktion %s konnte nicht gefunden werden."
-#: ../../mod/admin.php:528
+#: ../../mod/admin.php:533
msgid "No failed updates."
msgstr "Keine fehlgeschlagenen Aktualisierungen."
-#: ../../mod/admin.php:532
+#: ../../mod/admin.php:537
msgid "Failed Updates"
msgstr "Fehlgeschlagene Aktualisierungen"
-#: ../../mod/admin.php:534
+#: ../../mod/admin.php:539
msgid "Mark success (if update was manually applied)"
msgstr "Als erfolgreich markieren (wenn das Update manuell angewandt wurde)"
-#: ../../mod/admin.php:535
+#: ../../mod/admin.php:540
msgid "Attempt to execute this update step automatically"
msgstr "Versuche diesen Updateschritt automatisch anzuwenden"
-#: ../../mod/admin.php:561
+#: ../../mod/admin.php:566
#, 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:568
+#: ../../mod/admin.php:573
#, 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:599
+#: ../../mod/admin.php:604
msgid "Account not found"
msgstr "Konto nicht gefunden"
-#: ../../mod/admin.php:610
+#: ../../mod/admin.php:615
#, php-format
msgid "User '%s' deleted"
msgstr "Benutzer '%s' gelöscht"
-#: ../../mod/admin.php:619
+#: ../../mod/admin.php:624
#, php-format
msgid "User '%s' unblocked"
msgstr "Benutzer '%s' freigegeben"
-#: ../../mod/admin.php:619
+#: ../../mod/admin.php:624
#, php-format
msgid "User '%s' blocked"
msgstr "Benutzer '%s' blockiert"
-#: ../../mod/admin.php:684
+#: ../../mod/admin.php:689
msgid "select all"
msgstr "Alle auswählen"
-#: ../../mod/admin.php:685
+#: ../../mod/admin.php:690
msgid "User registrations waiting for confirm"
msgstr "Neuanmeldungen, die auf deine Bestätigung warten"
-#: ../../mod/admin.php:686
+#: ../../mod/admin.php:691
msgid "Request date"
msgstr "Antragsdatum"
-#: ../../mod/admin.php:687
+#: ../../mod/admin.php:692
msgid "No registrations."
msgstr "Keine Registrierungen."
-#: ../../mod/admin.php:688 ../../mod/intro.php:11 ../../mod/intro.php:98
-#: ../../mod/notifications.php:159 ../../mod/notifications.php:206
+#: ../../mod/admin.php:693
msgid "Approve"
msgstr "Genehmigen"
-#: ../../mod/admin.php:689
+#: ../../mod/admin.php:694
msgid "Deny"
msgstr "Verweigern"
-#: ../../mod/admin.php:691 ../../mod/intro.php:14 ../../mod/intro.php:99
-#: ../../mod/connections.php:348 ../../mod/connections.php:490
-msgid "Block"
-msgstr "Blockieren"
-
-#: ../../mod/admin.php:692 ../../mod/connections.php:348
-#: ../../mod/connections.php:490
-msgid "Unblock"
-msgstr "Freigeben"
-
-#: ../../mod/admin.php:695
+#: ../../mod/admin.php:700
msgid "Register date"
msgstr "Registrierungs-Datum"
-#: ../../mod/admin.php:695
+#: ../../mod/admin.php:700
msgid "Last login"
msgstr "Letzte Anmeldung"
-#: ../../mod/admin.php:695
+#: ../../mod/admin.php:700
msgid "Expires"
msgstr "Verfällt"
-#: ../../mod/admin.php:695
+#: ../../mod/admin.php:700
msgid "Service Class"
msgstr "Service-Klasse"
-#: ../../mod/admin.php:697
+#: ../../mod/admin.php:702
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Markierte Nutzer werden gelöscht\\n\\nAlles was diese Nutzer auf dieser Seite veröffentlicht haben wird permanent gelöscht\\n\\nBist du sicher?"
-#: ../../mod/admin.php:698
+#: ../../mod/admin.php:703
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 permanent gelöscht werden\\n\\nBist du sicher?"
-#: ../../mod/admin.php:739
+#: ../../mod/admin.php:744
#, php-format
msgid "Plugin %s disabled."
msgstr "Plug-In %s deaktiviert."
-#: ../../mod/admin.php:743
+#: ../../mod/admin.php:748
#, php-format
msgid "Plugin %s enabled."
msgstr "Plug-In %s aktiviert."
-#: ../../mod/admin.php:753 ../../mod/admin.php:955
+#: ../../mod/admin.php:758 ../../mod/admin.php:960
msgid "Disable"
msgstr "Deaktivieren"
-#: ../../mod/admin.php:755 ../../mod/admin.php:957
+#: ../../mod/admin.php:760 ../../mod/admin.php:962
msgid "Enable"
msgstr "Aktivieren"
-#: ../../mod/admin.php:781 ../../mod/admin.php:986
+#: ../../mod/admin.php:786 ../../mod/admin.php:991
msgid "Toggle"
msgstr "Umschalten"
-#: ../../mod/admin.php:789 ../../mod/admin.php:996
+#: ../../mod/admin.php:794 ../../mod/admin.php:1001
msgid "Author: "
msgstr "Autor: "
-#: ../../mod/admin.php:790 ../../mod/admin.php:997
+#: ../../mod/admin.php:795 ../../mod/admin.php:1002
msgid "Maintainer: "
msgstr "Betreuer:"
-#: ../../mod/admin.php:919
+#: ../../mod/admin.php:924
msgid "No themes found."
msgstr "Keine Theme gefunden."
-#: ../../mod/admin.php:978
+#: ../../mod/admin.php:983
msgid "Screenshot"
msgstr "Bildschirmfoto"
-#: ../../mod/admin.php:1026
+#: ../../mod/admin.php:1031
msgid "[Experimental]"
msgstr "[Experimentell]"
-#: ../../mod/admin.php:1027
+#: ../../mod/admin.php:1032
msgid "[Unsupported]"
msgstr "[Nicht unterstützt]"
-#: ../../mod/admin.php:1054
+#: ../../mod/admin.php:1059
msgid "Log settings updated."
msgstr "Protokoll-Einstellungen aktualisiert."
-#: ../../mod/admin.php:1110
+#: ../../mod/admin.php:1115
msgid "Clear"
msgstr "Leeren"
-#: ../../mod/admin.php:1116
+#: ../../mod/admin.php:1121
msgid "Debugging"
msgstr "Debugging"
-#: ../../mod/admin.php:1117
+#: ../../mod/admin.php:1122
msgid "Log file"
msgstr "Protokolldatei"
-#: ../../mod/admin.php:1117
+#: ../../mod/admin.php:1122
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:1118
+#: ../../mod/admin.php:1123
msgid "Log level"
msgstr "Protokollstufe"
-#: ../../mod/mitem.php:13 ../../mod/menu.php:87
+#: ../../mod/mitem.php:14 ../../mod/menu.php:87
msgid "Menu not found."
msgstr "Menü nicht gefunden"
-#: ../../mod/mitem.php:66
+#: ../../mod/mitem.php:47
msgid "Menu element updated."
msgstr "Menü-Element aktualisiert."
-#: ../../mod/mitem.php:70
+#: ../../mod/mitem.php:51
msgid "Unable to update menu element."
msgstr "Kann Menü-Element nicht aktualisieren."
-#: ../../mod/mitem.php:76
+#: ../../mod/mitem.php:57
msgid "Menu element added."
msgstr "Menü-Bestandteil hinzugefügt."
-#: ../../mod/mitem.php:80
+#: ../../mod/mitem.php:61
msgid "Unable to add menu element."
msgstr "Kann Menü-Bestandteil nicht hinzufügen."
-#: ../../mod/mitem.php:97 ../../mod/xchan.php:25 ../../mod/menu.php:113
+#: ../../mod/mitem.php:78 ../../mod/xchan.php:25 ../../mod/menu.php:113
+#: ../../mod/dirprofile.php:177
msgid "Not found."
msgstr "Nicht gefunden."
-#: ../../mod/mitem.php:116
+#: ../../mod/mitem.php:96
msgid "Manage Menu Elements"
msgstr "Menü-Bestandteile verwalten"
-#: ../../mod/mitem.php:119
+#: ../../mod/mitem.php:99
msgid "Edit menu"
msgstr "Menü bearbeiten"
-#: ../../mod/mitem.php:122
+#: ../../mod/mitem.php:102
msgid "Edit element"
msgstr "Bestandteil bearbeiten"
-#: ../../mod/mitem.php:123
+#: ../../mod/mitem.php:103
msgid "Drop element"
msgstr "Bestandteil löschen"
-#: ../../mod/mitem.php:124
+#: ../../mod/mitem.php:104
msgid "New element"
msgstr "Neues Bestandteil"
-#: ../../mod/mitem.php:125
+#: ../../mod/mitem.php:105
msgid "Edit this menu container"
msgstr "Diesen Menü-Container bearbeiten"
-#: ../../mod/mitem.php:126
+#: ../../mod/mitem.php:106
msgid "Add menu element"
msgstr "Menüelement hinzufügen"
-#: ../../mod/mitem.php:127
+#: ../../mod/mitem.php:107
msgid "Delete this menu item"
msgstr "Lösche dieses Menü-Bestandteil"
-#: ../../mod/mitem.php:128
+#: ../../mod/mitem.php:108
msgid "Edit this menu item"
msgstr "Bearbeite dieses Menü-Bestandteil"
-#: ../../mod/mitem.php:141
+#: ../../mod/mitem.php:131
msgid "New Menu Element"
msgstr "Neues Menü-Bestandteil"
-#: ../../mod/mitem.php:143 ../../mod/mitem.php:184
+#: ../../mod/mitem.php:133 ../../mod/mitem.php:176
+msgid "Menu Item Permissions"
+msgstr "Menü-Element Zugriffsrechte"
+
+#: ../../mod/mitem.php:134 ../../mod/mitem.php:177 ../../mod/settings.php:930
+msgid "(click to open/close)"
+msgstr "(zum öffnen/schließen anklicken)"
+
+#: ../../mod/mitem.php:136 ../../mod/mitem.php:180
msgid "Link text"
msgstr "Link Text"
-#: ../../mod/mitem.php:144 ../../mod/mitem.php:185
+#: ../../mod/mitem.php:137 ../../mod/mitem.php:181
msgid "URL of link"
msgstr "URL des Links"
-#: ../../mod/mitem.php:145 ../../mod/mitem.php:186
+#: ../../mod/mitem.php:138 ../../mod/mitem.php:182
msgid "Use Red magic-auth if available"
msgstr "Verwende Red Magic-Auth wenn verfügbar"
-#: ../../mod/mitem.php:146 ../../mod/mitem.php:187
+#: ../../mod/mitem.php:139 ../../mod/mitem.php:183
msgid "Open link in new window"
msgstr "Öffne Link in neuem Fenster"
-#: ../../mod/mitem.php:148 ../../mod/mitem.php:189
+#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
msgid "Order in list"
msgstr "Reihenfolge in der Liste"
-#: ../../mod/mitem.php:148 ../../mod/mitem.php:189
+#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
msgid "Higher numbers will sink to bottom of listing"
msgstr "Größere Nummern werden weiter unten in der Auflistung einsortiert"
-#: ../../mod/mitem.php:149 ../../mod/menu.php:79 ../../mod/new_channel.php:117
+#: ../../mod/mitem.php:142 ../../mod/menu.php:79 ../../mod/new_channel.php:117
msgid "Create"
msgstr "Erstelle"
-#: ../../mod/mitem.php:161
+#: ../../mod/mitem.php:154
msgid "Menu item not found."
msgstr "Menü-Bestandteil nicht gefunden."
-#: ../../mod/mitem.php:170
+#: ../../mod/mitem.php:163
msgid "Menu item deleted."
msgstr "Menü-Bestandteil gelöscht."
-#: ../../mod/mitem.php:172
+#: ../../mod/mitem.php:165
msgid "Menu item could not be deleted."
msgstr "Menü-Bestandteil kann nicht gelöscht werden."
-#: ../../mod/mitem.php:181
+#: ../../mod/mitem.php:174
msgid "Edit Menu Element"
msgstr "Bearbeite Menü-Bestandteil"
-#: ../../mod/mitem.php:190 ../../mod/menu.php:107
+#: ../../mod/mitem.php:186 ../../mod/menu.php:107
msgid "Modify"
msgstr "Ändern"
-#: ../../mod/group.php:26
+#: ../../mod/group.php:20
msgid "Collection created."
msgstr "Sammlung erstellt."
-#: ../../mod/group.php:32
+#: ../../mod/group.php:26
msgid "Could not create collection."
msgstr "Sammlung kann nicht erstellt werden."
-#: ../../mod/group.php:60
-msgid "Collection name changed."
-msgstr "Name der Sammlung geändert."
+#: ../../mod/group.php:54
+msgid "Collection updated."
+msgstr "Sammlung aktualisiert."
-#: ../../mod/group.php:92
+#: ../../mod/group.php:86
msgid "Create a collection of channels."
msgstr "Erstelle eine Sammlung von Kanälen."
-#: ../../mod/group.php:93 ../../mod/group.php:189
+#: ../../mod/group.php:87 ../../mod/group.php:183
msgid "Collection Name: "
msgstr "Name der Sammlung:"
-#: ../../mod/group.php:95 ../../mod/group.php:192
+#: ../../mod/group.php:89 ../../mod/group.php:186
msgid "Members are visible to other channels"
msgstr "Mitglieder sind sichtbar für andere Kanäle"
-#: ../../mod/group.php:113
+#: ../../mod/group.php:107
msgid "Collection removed."
msgstr "Sammlung gelöscht."
-#: ../../mod/group.php:115
+#: ../../mod/group.php:109
msgid "Unable to remove collection."
msgstr "Löschen der Sammlung nicht möglich."
-#: ../../mod/group.php:188
+#: ../../mod/group.php:182
msgid "Collection Editor"
msgstr "Sammlung-Editor"
-#: ../../mod/group.php:202
+#: ../../mod/group.php:196
msgid "Members"
msgstr "Mitglieder"
-#: ../../mod/group.php:204
+#: ../../mod/group.php:198
msgid "All Connected Channels"
-msgstr "Alle verbundene Channels"
+msgstr "Alle verbundenen Kanäle"
-#: ../../mod/group.php:237
+#: ../../mod/group.php:231
msgid "Click on a channel to add or remove."
msgstr "Wähle einen Kanal zum hinzufügen oder entfernen aus."
-#: ../../mod/search.php:20 ../../mod/network.php:164
-msgid "Remove term"
-msgstr "Eintrag löschen"
-
-#: ../../mod/photos.php:83
+#: ../../mod/photos.php:77
msgid "Page owner information could not be retrieved."
msgstr "Informationen über den Betreiber der Seite konnten nicht gefunden werden."
-#: ../../mod/photos.php:103
+#: ../../mod/photos.php:97
msgid "Album not found."
msgstr "Album nicht gefunden."
-#: ../../mod/photos.php:125 ../../mod/photos.php:780
+#: ../../mod/photos.php:119 ../../mod/photos.php:668
msgid "Delete Album"
msgstr "Album löschen"
-#: ../../mod/photos.php:165 ../../mod/photos.php:1041
+#: ../../mod/photos.php:159 ../../mod/photos.php:930
msgid "Delete Photo"
msgstr "Foto löschen"
-#: ../../mod/photos.php:510
-#, php-format
-msgid "%1$s was tagged in %2$s by %3$s"
-msgstr "%1$s wurde auf %2$s von %3$s getaggt"
-
-#: ../../mod/photos.php:510
-msgid "a photo"
-msgstr "Foto"
-
-#: ../../mod/photos.php:586
+#: ../../mod/photos.php:452
msgid "No photos selected"
msgstr "Keine Fotos ausgewählt"
-#: ../../mod/photos.php:631
+#: ../../mod/photos.php:499
msgid "Access to this item is restricted."
msgstr "Zugriff auf dieses Foto wurde eingeschränkt."
-#: ../../mod/photos.php:696
+#: ../../mod/photos.php:573
#, php-format
msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
msgstr "Du benutzt %1$.2f MBytes deines %2$.2f MBytes großen Bilder-Speichers."
-#: ../../mod/photos.php:699
+#: ../../mod/photos.php:576
#, php-format
msgid "You have used %1$.2f Mbytes of photo storage."
msgstr "Du verwendets %1$.2f MBytes deines Foto-Speichers."
-#: ../../mod/photos.php:707
+#: ../../mod/photos.php:595
msgid "Upload Photos"
msgstr "Fotos hochladen"
-#: ../../mod/photos.php:711 ../../mod/photos.php:775
+#: ../../mod/photos.php:599 ../../mod/photos.php:663
msgid "New album name: "
msgstr "Name des neuen Albums:"
-#: ../../mod/photos.php:712
+#: ../../mod/photos.php:600
msgid "or existing album name: "
msgstr "oder bestehenden Album Namen:"
-#: ../../mod/photos.php:713
+#: ../../mod/photos.php:601
msgid "Do not show a status post for this upload"
msgstr "Keine Statusnachricht für diesen Upload senden"
-#: ../../mod/photos.php:715 ../../mod/photos.php:1036
+#: ../../mod/photos.php:603 ../../mod/photos.php:925
+#: ../../mod/filestorage.php:125
msgid "Permissions"
msgstr "Berechtigungen"
-#: ../../mod/photos.php:764 ../../mod/photos.php:786 ../../mod/photos.php:1212
-#: ../../mod/photos.php:1227
+#: ../../mod/photos.php:652 ../../mod/photos.php:674 ../../mod/photos.php:1101
+#: ../../mod/photos.php:1116
msgid "Contact Photos"
msgstr "Kontakt Bilder"
-#: ../../mod/photos.php:790
+#: ../../mod/photos.php:678
msgid "Edit Album"
msgstr "Album bearbeiten"
-#: ../../mod/photos.php:796
+#: ../../mod/photos.php:684
msgid "Show Newest First"
msgstr "Zeige neueste zuerst"
-#: ../../mod/photos.php:798
+#: ../../mod/photos.php:686
msgid "Show Oldest First"
msgstr "Zeige älteste zuerst"
-#: ../../mod/photos.php:842 ../../mod/photos.php:1259
+#: ../../mod/photos.php:729 ../../mod/photos.php:1148
msgid "View Photo"
msgstr "Foto ansehen"
-#: ../../mod/photos.php:886
+#: ../../mod/photos.php:775
msgid "Permission denied. Access to this item may be restricted."
msgstr "Berechtigung verweigert. Der Zugriff ist wahrscheinlich eingeschränkt worden."
-#: ../../mod/photos.php:888
+#: ../../mod/photos.php:777
msgid "Photo not available"
msgstr "Foto nicht verfügbar"
-#: ../../mod/photos.php:946
+#: ../../mod/photos.php:835
msgid "Use as profile photo"
msgstr "Als Profilfoto verwenden"
-#: ../../mod/photos.php:970
+#: ../../mod/photos.php:859
msgid "View Full Size"
msgstr "In voller Größe anzeigen"
-#: ../../mod/photos.php:1024
+#: ../../mod/photos.php:913
msgid "Edit photo"
msgstr "Foto bearbeiten"
-#: ../../mod/photos.php:1026
+#: ../../mod/photos.php:915
msgid "Rotate CW (right)"
msgstr "Drehen US (rechts)"
-#: ../../mod/photos.php:1027
+#: ../../mod/photos.php:916
msgid "Rotate CCW (left)"
msgstr "Drehen EUS (links)"
-#: ../../mod/photos.php:1029
+#: ../../mod/photos.php:918
msgid "New album name"
msgstr "Name des neuen Albums:"
-#: ../../mod/photos.php:1032
+#: ../../mod/photos.php:921
msgid "Caption"
msgstr "Bildunterschrift"
-#: ../../mod/photos.php:1034
+#: ../../mod/photos.php:923
msgid "Add a Tag"
msgstr "Schlagwort hinzufügen"
-#: ../../mod/photos.php:1038
+#: ../../mod/photos.php:927
msgid ""
"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
msgstr "Beispiel: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-#: ../../mod/photos.php:1265
+#: ../../mod/photos.php:1154
msgid "View Album"
msgstr "Album ansehen"
-#: ../../mod/photos.php:1274
+#: ../../mod/photos.php:1163
msgid "Recent Photos"
msgstr "Neueste Fotos"
-#: ../../mod/ping.php:160
-msgid "sent you a private message"
-msgstr "eine private Nachricht schicken"
-
-#: ../../mod/ping.php:218
-msgid "added your channel"
-msgstr "hat deinen Kanal hinzugefügt"
-
-#: ../../mod/ping.php:230 ../../boot.php:1858 ../../boot.php:1938
-msgid "g A l F d"
-msgstr "l, d. F G \\\\U\\\\h\\\\r"
-
-#: ../../mod/ping.php:252 ../../boot.php:1904 ../../boot.php:1979
-msgid "[today]"
-msgstr "[Heute]"
-
-#: ../../mod/ping.php:262
-msgid "posted an event"
-msgstr "hat eine Veranstaltung veröffentlicht"
-
#: ../../mod/filer.php:35
msgid "- select -"
msgstr "-auswählen-"
@@ -4961,11 +5118,6 @@ msgstr "Menüs verwalten"
msgid "Drop"
msgstr "Löschen"
-#: ../../mod/menu.php:57 ../../mod/network.php:321
-#: ../../mod/connections.php:552
-msgid "New"
-msgstr "Neu"
-
#: ../../mod/menu.php:58
msgid "Create a new menu"
msgstr "Neues Menü erstellen"
@@ -5018,104 +5170,112 @@ msgstr "Menü bearbeiten"
msgid "Add or remove entries to this menu"
msgstr "Einträge zu diesem Menü hinzufügen oder entfernen"
-#: ../../mod/home.php:76
+#: ../../mod/home.php:89
#, php-format
msgid "Welcome to %s"
msgstr "Willkommen auf %s"
-#: ../../mod/message.php:19
-msgid "Check Mail"
-msgstr "E-Mails abrufen"
+#: ../../mod/directory.php:143 ../../mod/profiles.php:573
+#: ../../mod/dirprofile.php:95
+msgid "Age: "
+msgstr "Alter:"
-#: ../../mod/message.php:56
-msgid "Unable to lookup recipient."
-msgstr "Konnte den Empfänger nicht finden."
+#: ../../mod/directory.php:146 ../../mod/dirprofile.php:98
+msgid "Gender: "
+msgstr "Geschlecht:"
-#: ../../mod/message.php:64
-msgid "Unable to communicate with requested channel."
-msgstr "Die Kommunikation mit dem ausgewählten Kanal ist fehlgeschlagen."
+#: ../../mod/directory.php:207
+msgid "Finding:"
+msgstr "Ergebnisse:"
-#: ../../mod/message.php:71
-msgid "Cannot verify requested channel."
-msgstr "Verifizierung des angeforderten Kanals fehlgeschlagen."
+#: ../../mod/directory.php:215
+msgid "next page"
+msgstr "nächste Seite"
-#: ../../mod/message.php:97
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "Der ausgewählte Kanal hat Einschränkungen bzgl. privater Nachrichten. Senden fehlgeschlagen."
+#: ../../mod/directory.php:215
+msgid "previous page"
+msgstr "vorige Seite"
-#: ../../mod/message.php:223 ../../mod/notifications.php:101
-msgid "Messages"
-msgstr "Nachrichten"
+#: ../../mod/directory.php:222
+msgid "No entries (some entries may be hidden)."
+msgstr "Keine Einträge gefunden (einige könnten versteckt sein)."
-#: ../../mod/message.php:234
-msgid "Message deleted."
-msgstr "Nachricht gelöscht."
+#: ../../mod/connections.php:189 ../../mod/connections.php:261
+msgid "Blocked"
+msgstr "Blockiert"
-#: ../../mod/message.php:241
-msgid "Conversation removed."
-msgstr "Unterhaltung gelöscht."
+#: ../../mod/connections.php:194 ../../mod/connections.php:268
+msgid "Ignored"
+msgstr "Ignoriert"
-#: ../../mod/message.php:258
-msgid "Message recalled."
-msgstr "Nachricht widerrufen."
+#: ../../mod/connections.php:199 ../../mod/connections.php:282
+msgid "Hidden"
+msgstr "Versteckt"
-#: ../../mod/message.php:316
-msgid "Send Private Message"
-msgstr "Private Nachricht senden"
+#: ../../mod/connections.php:204 ../../mod/connections.php:275
+msgid "Archived"
+msgstr "Archiviert"
-#: ../../mod/message.php:317 ../../mod/message.php:503
-msgid "To:"
-msgstr "An:"
+#: ../../mod/connections.php:215
+msgid "All"
+msgstr "Alle"
-#: ../../mod/message.php:322 ../../mod/message.php:505
-msgid "Subject:"
-msgstr "Betreff:"
+#: ../../mod/connections.php:239
+msgid "Suggest new connections"
+msgstr "Neue Verbindungen vorschlagen"
-#: ../../mod/message.php:359
-msgid "No messages."
-msgstr "Keine Nachrichten."
+#: ../../mod/connections.php:245
+msgid "Show pending (new) connections"
+msgstr "Zeige schwebende (neue) Verbindungen"
-#: ../../mod/message.php:375 ../../mod/message.php:472
-msgid "Delete message"
-msgstr "Nachricht löschen"
+#: ../../mod/connections.php:248
+msgid "All Connections"
+msgstr "Alle Verbindungen"
-#: ../../mod/message.php:377
-msgid "D, d M Y - g:i A"
-msgstr "D, d. M Y - g:i A"
+#: ../../mod/connections.php:251
+msgid "Show all connections"
+msgstr "Zeige alle Verbindungen"
-#: ../../mod/message.php:396
-msgid "Message not found."
-msgstr "Nachricht nicht gefunden."
+#: ../../mod/connections.php:254
+msgid "Unblocked"
+msgstr "Freigegeben"
-#: ../../mod/message.php:473
-msgid "Recall message"
-msgstr "Widerrufe die Nachricht"
+#: ../../mod/connections.php:257
+msgid "Only show unblocked connections"
+msgstr "Zeige nur freigegebene Verbindungen"
-#: ../../mod/message.php:475
-msgid "Message has been recalled."
-msgstr "Die Nachricht wurde widerrufen."
+#: ../../mod/connections.php:264
+msgid "Only show blocked connections"
+msgstr "Zeige nur blockierte Verbindungen"
-#: ../../mod/message.php:492
-msgid "Private Conversation"
-msgstr "Private Unterhaltung"
+#: ../../mod/connections.php:271
+msgid "Only show ignored connections"
+msgstr "Zeige nur ignorierte Verbindungen"
-#: ../../mod/message.php:496
-msgid "Delete conversation"
-msgstr "Unterhaltung löschen"
+#: ../../mod/connections.php:278
+msgid "Only show archived connections"
+msgstr "Zeige nur archivierte Verbindungen"
-#: ../../mod/message.php:498
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Keine sichere Kommunikation verfügbar. <strong>Eventuell</strong> kannst du von der Profilseite des Absenders antworten."
+#: ../../mod/connections.php:285
+msgid "Only show hidden connections"
+msgstr "Zeige nur versteckte Verbindungen"
-#: ../../mod/message.php:502
-msgid "Send Reply"
-msgstr "Antwort senden"
+#: ../../mod/connections.php:329
+#, php-format
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
+
+#: ../../mod/connections.php:330
+msgid "Edit contact"
+msgstr "Kontakt bearbeiten"
-#: ../../mod/hcard.php:10
-msgid "No profile"
-msgstr "Kein Profil"
+#: ../../mod/connections.php:353
+msgid "Search your connections"
+msgstr "Verbindungen durchsuchen"
+
+#: ../../mod/connections.php:354
+msgid "Finding: "
+msgstr "Ergebnisse:"
#: ../../mod/layouts.php:52
msgid "Layout Help"
@@ -5129,11 +5289,11 @@ msgstr "Hilfe zu diesem Feature"
msgid "Layout Name"
msgstr "Layout Name"
-#: ../../mod/help.php:41
+#: ../../mod/help.php:43 ../../mod/help.php:49 ../../mod/help.php:55
msgid "Help:"
msgstr "Hilfe:"
-#: ../../mod/help.php:53 ../../index.php:226
+#: ../../mod/help.php:68 ../../index.php:224
msgid "Not Found"
msgstr "Nicht gefunden"
@@ -5143,528 +5303,50 @@ msgstr "Entfernte Authentifizierung"
#: ../../mod/rmagic.php:57
msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Deine Kanal-Adresse (z.B. channel@example.com)"
+msgstr "Deine Kanal-Adresse (z. B. channel@example.com)"
#: ../../mod/rmagic.php:58
msgid "Authenticate"
msgstr "Authentifizieren"
-#: ../../mod/network.php:302
-msgid "Commented Order"
-msgstr "Neueste Kommentare"
-
-#: ../../mod/network.php:305
-msgid "Sort by Comment Date"
-msgstr "Nach Kommentardatum sortiert"
-
-#: ../../mod/network.php:308
-msgid "Posted Order"
-msgstr "Neueste Beiträge"
-
-#: ../../mod/network.php:311
-msgid "Sort by Post Date"
-msgstr "Nach Beitragsdatum sortiert"
-
-#: ../../mod/network.php:315 ../../mod/notifications.php:86
-msgid "Personal"
-msgstr "Persönlich"
-
-#: ../../mod/network.php:318
-msgid "Posts that mention or involve you"
-msgstr "Beiträge, in denen es um dich geht"
-
-#: ../../mod/network.php:324
-msgid "Activity Stream - by date"
-msgstr "Activity Stream - nach Datum sortiert"
-
-#: ../../mod/network.php:331
-msgid "Starred"
-msgstr "Markiert"
-
-#: ../../mod/network.php:334
-msgid "Favourite Posts"
-msgstr "Beiträge mit Sternchen"
-
-#: ../../mod/network.php:341
-msgid "Spam"
-msgstr "Spam"
-
-#: ../../mod/network.php:344
-msgid "Posts flagged as SPAM"
-msgstr "Nachrichten die als SPAM markiert wurden"
-
-#: ../../mod/network.php:384
-msgid "Refresh"
-msgstr "Aktualisieren"
-
-#: ../../mod/network.php:385 ../../mod/connections.php:404
-msgid "Me"
-msgstr "Ich"
-
-#: ../../mod/network.php:386 ../../mod/connections.php:406
-msgid "Best Friends"
-msgstr "Beste Freunde"
-
-#: ../../mod/network.php:388
-msgid "Co-workers"
-msgstr "Kollegen"
-
-#: ../../mod/network.php:389 ../../mod/connections.php:408
-msgid "Former Friends"
-msgstr "ehem. Freunde"
-
-#: ../../mod/network.php:390 ../../mod/connections.php:409
-msgid "Acquaintances"
-msgstr "Bekanntschaften"
-
-#: ../../mod/network.php:391
-msgid "Everybody"
-msgstr "Jeder"
+#: ../../mod/network.php:79
+msgid "No such group"
+msgstr "Gruppe existiert nicht"
-#: ../../mod/network.php:408
+#: ../../mod/network.php:118
msgid "Search Results For:"
msgstr "Suchergebnisse für:"
-#: ../../mod/network.php:453
-msgid "No such group"
-msgstr "Gruppe existiert nicht"
+#: ../../mod/network.php:172
+msgid "Collection is empty"
+msgstr "Sammlung ist leer"
-#: ../../mod/network.php:484
+#: ../../mod/network.php:180
+msgid "Collection: "
+msgstr "Sammlung:"
+
+#: ../../mod/network.php:193
msgid "Connection: "
msgstr "Verbindung:"
-#: ../../mod/network.php:487
+#: ../../mod/network.php:196
msgid "Invalid connection."
msgstr "Ungültige Verbindung."
-#: ../../mod/intro.php:17 ../../mod/intro.php:100
-#: ../../mod/connections.php:355 ../../mod/connections.php:491
-#: ../../mod/notifications.php:51 ../../mod/notifications.php:162
-#: ../../mod/notifications.php:208
-msgid "Ignore"
-msgstr "Ignorieren"
-
-#: ../../mod/intro.php:29 ../../mod/connections.php:122
-msgid "Connection updated."
-msgstr "Verbindung aktualisiert."
-
-#: ../../mod/intro.php:31
-msgid "Connection update failed."
-msgstr "Aktualisierung der Verbindung fehlgeschlagen."
-
-#: ../../mod/intro.php:56
-msgid "Introductions and Connection Requests"
-msgstr "Vorstellungen und Kontaktanfragen"
-
-#: ../../mod/intro.php:67
-msgid "No pending introductions."
-msgstr "Keine wartenden Vorstellungen."
-
-#: ../../mod/intro.php:72
-msgid "System error. Please try again later."
-msgstr "Systemfehler. Bitte später erneut versuchen."
-
-#: ../../mod/intro.php:95 ../../mod/connections.php:496
-#: ../../mod/notifications.php:155 ../../mod/notifications.php:202
-msgid "Hide this contact from others"
-msgstr "Diese Verbindung vor den anderen verbergen."
-
-#: ../../mod/intro.php:96 ../../mod/notifications.php:156
-#: ../../mod/notifications.php:203
-msgid "Post a new friend activity"
-msgstr "Neue-Kontakt Nachricht senden"
-
-#: ../../mod/intro.php:96 ../../mod/notifications.php:156
-#: ../../mod/notifications.php:203
-msgid "if applicable"
-msgstr "falls anwendbar"
-
-#: ../../mod/intro.php:101 ../../mod/notifications.php:35
-#: ../../mod/notifications.php:163 ../../mod/notifications.php:209
-msgid "Discard"
-msgstr "Verwerfen"
-
-#: ../../mod/connections.php:67
-msgid "Could not access contact record."
-msgstr "Konnte auf den Kontakteintrag nicht zugreifen."
-
-#: ../../mod/connections.php:81
-msgid "Could not locate selected profile."
-msgstr "Konnte das gewählte Profil nicht finden."
-
-#: ../../mod/connections.php:124
-msgid "Failed to update connection record."
-msgstr "Konnte den Verbindungseintrag nicht aktualisieren."
-
-#: ../../mod/connections.php:219
-msgid "Could not access address book record."
-msgstr "Konnte nicht auf den Eintrag im Adressbuch zugreifen."
-
-#: ../../mod/connections.php:233
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar."
-
-#: ../../mod/connections.php:240
-msgid "Channel has been unblocked"
-msgstr "Kanal nicht mehr blockiert"
-
-#: ../../mod/connections.php:241
-msgid "Channel has been blocked"
-msgstr "Kanal blockiert"
-
-#: ../../mod/connections.php:245 ../../mod/connections.php:257
-#: ../../mod/connections.php:269 ../../mod/connections.php:281
-#: ../../mod/connections.php:296
-msgid "Unable to set address book parameters."
-msgstr "Konnte die Adressbuch Parameter nicht setzen."
-
-#: ../../mod/connections.php:252
-msgid "Channel has been unignored"
-msgstr "Kanal wird nicht mehr ignoriert"
-
-#: ../../mod/connections.php:253
-msgid "Channel has been ignored"
-msgstr "Kanal wird ignoriert"
-
-#: ../../mod/connections.php:264
-msgid "Channel has been unarchived"
-msgstr "Kanal wurde aus dem Archiv zurück geholt"
-
-#: ../../mod/connections.php:265
-msgid "Channel has been archived"
-msgstr "Kanal wurde archiviert"
-
-#: ../../mod/connections.php:276
-msgid "Channel has been unhidden"
-msgstr "Kanal wird nicht mehr versteckt"
-
-#: ../../mod/connections.php:277
-msgid "Channel has been hidden"
-msgstr "Kanal wurde versteckt"
-
-#: ../../mod/connections.php:291
-msgid "Channel has been approved"
-msgstr "Kanal wurde zugelassen"
-
-#: ../../mod/connections.php:292
-msgid "Channel has been unapproved"
-msgstr "Zulassung des Kanals entfernt"
-
-#: ../../mod/connections.php:310
-msgid "Contact has been removed."
-msgstr "Kontakt wurde entfernt."
-
-#: ../../mod/connections.php:330
-#, php-format
-msgid "View %s's profile"
-msgstr "%s's Profil ansehen"
-
-#: ../../mod/connections.php:334
-msgid "Refresh Permissions"
-msgstr "Zugriffsrechte auffrischen"
-
-#: ../../mod/connections.php:337
-msgid "Fetch updated permissions"
-msgstr "Aktualisierte Zugriffsrechte abfragen"
-
-#: ../../mod/connections.php:341
-msgid "Recent Activity"
-msgstr "Kürzliche Aktivitäten"
-
-#: ../../mod/connections.php:344
-msgid "View recent posts and comments"
-msgstr "Betrachte die neuesten Beiträge und Kommentare"
-
-#: ../../mod/connections.php:351
-msgid "Block or Unblock this connection"
-msgstr "Verbindung blockieren oder frei geben"
-
-#: ../../mod/connections.php:355 ../../mod/connections.php:491
-msgid "Unignore"
-msgstr "Nicht ignorieren"
-
-#: ../../mod/connections.php:358
-msgid "Ignore or Unignore this connection"
-msgstr "Verbindung ignorieren oder wieder beachten"
-
-#: ../../mod/connections.php:361
-msgid "Unarchive"
-msgstr "Aus Archiv zurückholen"
-
-#: ../../mod/connections.php:361
-msgid "Archive"
-msgstr "Archivieren"
-
-#: ../../mod/connections.php:364
-msgid "Archive or Unarchive this connection"
-msgstr "Archiviere diese Verbindung oder hole sie aus dem Archiv zurück"
-
-#: ../../mod/connections.php:367
-msgid "Unhide"
-msgstr "aufdecken"
-
-#: ../../mod/connections.php:367
-msgid "Hide"
-msgstr "Verbergen"
-
-#: ../../mod/connections.php:370
-msgid "Hide or Unhide this connection"
-msgstr "Diese Verbindung verstecken oder aufdecken"
-
-#: ../../mod/connections.php:377
-msgid "Delete this connection"
-msgstr "Verbindung löschen"
-
-#: ../../mod/connections.php:410
-msgid "Unknown"
-msgstr "Unbekannt"
-
-#: ../../mod/connections.php:420 ../../mod/connections.php:449
-msgid "Approve this connection"
-msgstr "Verbindung genehmigen"
-
-#: ../../mod/connections.php:420
-msgid "Accept connection to allow communication"
-msgstr "Aktzeptiere die Verbindung um Kommunikation zu ermöglichen"
-
-#: ../../mod/connections.php:436
-msgid "Automatic Permissions Settings"
-msgstr "Automatische Berechtigungs-Einstellungen"
-
-#: ../../mod/connections.php:436
-#, php-format
-msgid "Connections: settings for %s"
-msgstr "Verbindungseinstellungen für %s"
-
-#: ../../mod/connections.php:440
-msgid ""
-"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 "Wenn eine Kanal-Vorstellung empfangen wird, werden die hier getroffenen Einstellungen automatisch angewandt und der Anfrage wird stattgegeben. Verlasse diese Seite, wenn du dieses Feature nicht verwanden möchtest."
-
-#: ../../mod/connections.php:442
-msgid "Slide to adjust your degree of friendship"
-msgstr "Schieben um den Grad der Freundschaft zu wählen"
-
-#: ../../mod/connections.php:448
-msgid "inherited"
-msgstr "Geerbt"
-
-#: ../../mod/connections.php:450
-msgid "Connection has no individual permissions!"
-msgstr "Diese Verbindung hat keine individuellen Zugriffseinstellungen."
-
-#: ../../mod/connections.php:451
-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ären Einstellungen</a> könnte dies angebracht sein, eventuell solltest du aber die \"Erweiterte Zugriffsrechte\" überprüfen."
-
-#: ../../mod/connections.php:453
-msgid "Profile Visibility"
-msgstr "Sichtbarkeit des Profils"
-
-#: ../../mod/connections.php:454
-#, 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/connections.php:455
-msgid "Contact Information / Notes"
-msgstr "Kontaktinformationen / Notizen"
-
-#: ../../mod/connections.php:456
-msgid "Edit contact notes"
-msgstr "Kontaktnotizen editieren"
-
-#: ../../mod/connections.php:458
-msgid "Their Settings"
-msgstr "Deren Einstellungen"
-
-#: ../../mod/connections.php:459
-msgid "My Settings"
-msgstr "Meine Einstellungen"
-
-#: ../../mod/connections.php:461
-msgid "Forum Members"
-msgstr "Forum Mitglieder"
-
-#: ../../mod/connections.php:462
-msgid "Soapbox"
-msgstr "Marktschreier"
-
-#: ../../mod/connections.php:463
-msgid "Full Sharing"
-msgstr "Volles Teilen"
-
-#: ../../mod/connections.php:464
-msgid "Cautious Sharing"
-msgstr "Vorsichtiges Teilen"
-
-#: ../../mod/connections.php:465
-msgid "Follow Only"
-msgstr "Nur Folgen"
-
-#: ../../mod/connections.php:466
-msgid "Individual Permissions"
-msgstr "Individuelle Zugriffseinstellungen"
-
-#: ../../mod/connections.php:467
-msgid ""
-"Some permissions may be inherited from your channel <a "
-"href=\"settings\">privacy settings</a>, which have higher priority. Changing"
-" those inherited settings on this page will have no effect."
-msgstr "Einige Genehmigungen können von deinen <a href=\"settings\">Sicherheits- und Datenschutz-Einstellungen</a> geerbt sein (siehe Kennzeichnung), da diese eine höhere Priorität haben. Wenn du solche Genehmigungen hier änderst, hat das keine Auswirkungen."
-
-#: ../../mod/connections.php:468
-msgid "Advanced Permissions"
-msgstr "Erweiterte Zugriffsrechte"
-
-#: ../../mod/connections.php:469
-msgid "Quick Links"
-msgstr "Quick Links"
-
-#: ../../mod/connections.php:473
-#, php-format
-msgid "Visit %s's profile - %s"
-msgstr "%s's Profil besuchen - %s"
-
-#: ../../mod/connections.php:474
-msgid "Block/Unblock contact"
-msgstr "Geblockt Status ein- / ausschalten"
-
-#: ../../mod/connections.php:475
-msgid "Ignore contact"
-msgstr "Kontakt ignorieren"
-
-#: ../../mod/connections.php:476
-msgid "Repair URL settings"
-msgstr "URL Einstellungen reparieren"
-
-#: ../../mod/connections.php:477
-msgid "View conversations"
-msgstr "Unterhaltungen anzeigen"
-
-#: ../../mod/connections.php:479
-msgid "Delete contact"
-msgstr "Kontakt löschen"
-
-#: ../../mod/connections.php:482
-msgid "Last update:"
-msgstr "Letzte Aktualisierung:"
-
-#: ../../mod/connections.php:484
-msgid "Update public posts"
-msgstr "Öffentliche Beiträge aktualisieren"
-
-#: ../../mod/connections.php:486
-msgid "Update now"
-msgstr "Jetzt aktualisieren"
-
-#: ../../mod/connections.php:492
-msgid "Currently blocked"
-msgstr "Derzeit blockiert"
-
-#: ../../mod/connections.php:493
-msgid "Currently ignored"
-msgstr "Derzeit ignoriert"
-
-#: ../../mod/connections.php:494
-msgid "Currently archived"
-msgstr "Derzeit archiviert"
-
-#: ../../mod/connections.php:495
-msgid "Currently pending"
-msgstr "Derzeit anstehend"
+#: ../../mod/follow.php:25
+msgid "Channel added."
+msgstr "Kanal hinzugefügt."
-#: ../../mod/connections.php:496
+#: ../../mod/post.php:226
msgid ""
-"Replies/likes to your public posts <strong>may</strong> still be visible"
-msgstr "Antworten/Likes auf deine öffentlichen Beiträge <strong>können</strong> immer noch sichtbar sein"
-
-#: ../../mod/connections.php:532 ../../mod/connections.php:604
-msgid "Blocked"
-msgstr "Blockiert"
-
-#: ../../mod/connections.php:537 ../../mod/connections.php:611
-msgid "Ignored"
-msgstr "Ignoriert"
-
-#: ../../mod/connections.php:542 ../../mod/connections.php:625
-msgid "Hidden"
-msgstr "Versteckt"
-
-#: ../../mod/connections.php:547 ../../mod/connections.php:618
-msgid "Archived"
-msgstr "Archiviert"
-
-#: ../../mod/connections.php:558
-msgid "All"
-msgstr "Alle"
-
-#: ../../mod/connections.php:579
-msgid "Suggestions"
-msgstr "Vorschläge"
-
-#: ../../mod/connections.php:582
-msgid "Suggest new connections"
-msgstr "Neue Verbindungen vorschlagen"
-
-#: ../../mod/connections.php:588
-msgid "Show pending (new) connections"
-msgstr "Zeige schwebende (neue) Verbindungen"
-
-#: ../../mod/connections.php:591
-msgid "All Connections"
-msgstr "Alle Verbindungen"
-
-#: ../../mod/connections.php:594
-msgid "Show all connections"
-msgstr "Zeige alle Verbindungen"
-
-#: ../../mod/connections.php:597
-msgid "Unblocked"
-msgstr "Freigegeben"
-
-#: ../../mod/connections.php:600
-msgid "Only show unblocked connections"
-msgstr "Zeige nur freigegebene Verbindungen"
-
-#: ../../mod/connections.php:607
-msgid "Only show blocked connections"
-msgstr "Zeige nur blockierte Verbindungen"
-
-#: ../../mod/connections.php:614
-msgid "Only show ignored connections"
-msgstr "Zeige nur ignorierte Verbindungen"
-
-#: ../../mod/connections.php:621
-msgid "Only show archived connections"
-msgstr "Zeige nur archivierte Verbindungen"
-
-#: ../../mod/connections.php:628
-msgid "Only show hidden connections"
-msgstr "Zeige nur versteckte Verbindungen"
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "Entfernte Authentifizierung blockiert. Du bist lokal auf dieser Seite angemeldet. Bitte melde dich ab und versuche es erneut."
-#: ../../mod/connections.php:670
+#: ../../mod/post.php:256
#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
-
-#: ../../mod/connections.php:671 ../../mod/nogroup.php:41
-msgid "Edit contact"
-msgstr "Kontakt bearbeiten"
-
-#: ../../mod/connections.php:695
-msgid "Search your connections"
-msgstr "Verbindungen durchsuchen"
-
-#: ../../mod/connections.php:696
-msgid "Finding: "
-msgstr "Ergebnisse:"
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Willkommen %s. Entfernte Authentifizierung erfolgreich."
#: ../../mod/dirsearch.php:21
msgid "This site is not a directory server"
@@ -5678,8 +5360,12 @@ msgstr "Entfernte Privatsphären Einstellungen sind nicht verfügbar."
msgid "Visible to:"
msgstr "Sichtbar für:"
+#: ../../mod/magic.php:70
+msgid "Hub not found."
+msgstr "Server nicht gefunden."
+
#: ../../mod/profiles.php:18 ../../mod/profiles.php:138
-#: ../../mod/profiles.php:179 ../../mod/profiles.php:486
+#: ../../mod/profiles.php:168 ../../mod/profiles.php:475
msgid "Profile not found."
msgstr "Profil nicht gefunden."
@@ -5699,252 +5385,236 @@ msgstr "Neues Profil erstellt."
msgid "Profile unavailable to clone."
msgstr "Profil kann nicht geklont werden."
-#: ../../mod/profiles.php:189
+#: ../../mod/profiles.php:178
msgid "Profile Name is required."
msgstr "Profil-Name erforderlich."
-#: ../../mod/profiles.php:317
+#: ../../mod/profiles.php:306
msgid "Marital Status"
msgstr "Familienstand"
-#: ../../mod/profiles.php:321
+#: ../../mod/profiles.php:310
msgid "Romantic Partner"
msgstr "Romantische Partner"
-#: ../../mod/profiles.php:325
+#: ../../mod/profiles.php:314
msgid "Likes"
msgstr "Gefällt-mir"
-#: ../../mod/profiles.php:329
+#: ../../mod/profiles.php:318
msgid "Dislikes"
msgstr "Gefällt-mir-nicht"
-#: ../../mod/profiles.php:333
+#: ../../mod/profiles.php:322
msgid "Work/Employment"
msgstr "Arbeit/Anstellung"
-#: ../../mod/profiles.php:336
+#: ../../mod/profiles.php:325
msgid "Religion"
msgstr "Religion"
-#: ../../mod/profiles.php:340
+#: ../../mod/profiles.php:329
msgid "Political Views"
msgstr "Politische Anscihten"
-#: ../../mod/profiles.php:344
+#: ../../mod/profiles.php:333
msgid "Gender"
msgstr "Geschlecht"
-#: ../../mod/profiles.php:348
+#: ../../mod/profiles.php:337
msgid "Sexual Preference"
msgstr "Sexuelle Orientierung"
-#: ../../mod/profiles.php:352
+#: ../../mod/profiles.php:341
msgid "Homepage"
msgstr "Webseite"
-#: ../../mod/profiles.php:356
+#: ../../mod/profiles.php:345
msgid "Interests"
msgstr "Hobbys/Interessen"
-#: ../../mod/profiles.php:360
+#: ../../mod/profiles.php:349
msgid "Address"
msgstr "Adresse"
-#: ../../mod/profiles.php:367 ../../mod/pubsites.php:31
+#: ../../mod/profiles.php:356 ../../mod/pubsites.php:31
msgid "Location"
msgstr "Ort"
-#: ../../mod/profiles.php:450
+#: ../../mod/profiles.php:439
msgid "Profile updated."
msgstr "Profil aktualisiert."
-#: ../../mod/profiles.php:505
+#: ../../mod/profiles.php:494
msgid "Hide your contact/friend list from viewers of this profile?"
msgstr "Verberge die Liste deiner Kontakte vor Betrachtern dieses Profils"
-#: ../../mod/profiles.php:528
+#: ../../mod/profiles.php:517
msgid "Edit Profile Details"
msgstr "Bearbeite Profil-Details"
-#: ../../mod/profiles.php:530
+#: ../../mod/profiles.php:519
msgid "View this profile"
msgstr "Dieses Profil ansehen"
-#: ../../mod/profiles.php:531
+#: ../../mod/profiles.php:520
msgid "Change Profile Photo"
msgstr "Profilfoto ändern"
-#: ../../mod/profiles.php:532
+#: ../../mod/profiles.php:521
msgid "Create a new profile using these settings"
msgstr "Neues Profil anlegen und diese Einstellungen übernehmen"
-#: ../../mod/profiles.php:533
+#: ../../mod/profiles.php:522
msgid "Clone this profile"
msgstr "Dieses Profil klonen"
-#: ../../mod/profiles.php:534
+#: ../../mod/profiles.php:523
msgid "Delete this profile"
msgstr "Dieses Profil löschen"
-#: ../../mod/profiles.php:535
+#: ../../mod/profiles.php:524
msgid "Profile Name:"
msgstr "Profilname:"
-#: ../../mod/profiles.php:536
+#: ../../mod/profiles.php:525
msgid "Your Full Name:"
msgstr "Dein voller Name:"
-#: ../../mod/profiles.php:537
+#: ../../mod/profiles.php:526
msgid "Title/Description:"
msgstr "Titel/Beschreibung:"
-#: ../../mod/profiles.php:538
+#: ../../mod/profiles.php:527
msgid "Your Gender:"
msgstr "Dein Geschlecht:"
-#: ../../mod/profiles.php:539
+#: ../../mod/profiles.php:528
#, php-format
msgid "Birthday (%s):"
msgstr "Geburtstag (%s):"
-#: ../../mod/profiles.php:540
+#: ../../mod/profiles.php:529
msgid "Street Address:"
msgstr "Straße und Hausnummer:"
-#: ../../mod/profiles.php:541
+#: ../../mod/profiles.php:530
msgid "Locality/City:"
msgstr "Wohnort:"
-#: ../../mod/profiles.php:542
+#: ../../mod/profiles.php:531
msgid "Postal/Zip Code:"
msgstr "Postleitzahl:"
-#: ../../mod/profiles.php:543
+#: ../../mod/profiles.php:532
msgid "Country:"
msgstr "Land:"
-#: ../../mod/profiles.php:544
+#: ../../mod/profiles.php:533
msgid "Region/State:"
msgstr "Region/Bundesstaat"
-#: ../../mod/profiles.php:545
+#: ../../mod/profiles.php:534
msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
msgstr "<span class=\"heart\">&hearts;</span> Beziehungsstatus:"
-#: ../../mod/profiles.php:546
+#: ../../mod/profiles.php:535
msgid "Who: (if applicable)"
msgstr "Wer: (falls anwendbar)"
-#: ../../mod/profiles.php:547
+#: ../../mod/profiles.php:536
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr "Beispiele: cathy123, Cathy Williams, cathy@example.com"
-#: ../../mod/profiles.php:548
+#: ../../mod/profiles.php:537
msgid "Since [date]:"
msgstr "Seit [Datum]:"
-#: ../../mod/profiles.php:550
+#: ../../mod/profiles.php:539
msgid "Homepage URL:"
msgstr "Homepage URL:"
-#: ../../mod/profiles.php:553
+#: ../../mod/profiles.php:542
msgid "Religious Views:"
msgstr "Religiöse Ansichten:"
-#: ../../mod/profiles.php:554
+#: ../../mod/profiles.php:543
msgid "Keywords:"
msgstr "Schlüsselwörter:"
-#: ../../mod/profiles.php:557
+#: ../../mod/profiles.php:546
msgid "Example: fishing photography software"
msgstr "Beispiel: fischen Fotografie Software"
-#: ../../mod/profiles.php:558
+#: ../../mod/profiles.php:547
msgid "Used in directory listings"
msgstr "Wird in Verzeichnis Auflistungen verwendet"
-#: ../../mod/profiles.php:559
+#: ../../mod/profiles.php:548
msgid "Tell us about yourself..."
msgstr "Erzähl uns ein wenig von Dir..."
-#: ../../mod/profiles.php:560
+#: ../../mod/profiles.php:549
msgid "Hobbies/Interests"
msgstr "Hobbys/Interessen"
-#: ../../mod/profiles.php:561
+#: ../../mod/profiles.php:550
msgid "Contact information and Social Networks"
msgstr "Kontaktinformation und soziale Netzwerke"
-#: ../../mod/profiles.php:562
+#: ../../mod/profiles.php:551
msgid "My other channels"
-msgstr "Meine anderen Channels"
+msgstr "Meine anderen Kanäle"
-#: ../../mod/profiles.php:563
+#: ../../mod/profiles.php:552
msgid "Musical interests"
msgstr "Musikalische Interessen"
-#: ../../mod/profiles.php:564
+#: ../../mod/profiles.php:553
msgid "Books, literature"
msgstr "Bücher, Literatur"
-#: ../../mod/profiles.php:565
+#: ../../mod/profiles.php:554
msgid "Television"
msgstr "Fernsehen"
-#: ../../mod/profiles.php:566
+#: ../../mod/profiles.php:555
msgid "Film/dance/culture/entertainment"
msgstr "Film/Tanz/Kultur/Unterhaltung"
-#: ../../mod/profiles.php:567
+#: ../../mod/profiles.php:556
msgid "Love/romance"
msgstr "Liebe/Romantik"
-#: ../../mod/profiles.php:568
+#: ../../mod/profiles.php:557
msgid "Work/employment"
msgstr "Arbeit/Anstellung"
-#: ../../mod/profiles.php:569
+#: ../../mod/profiles.php:558
msgid "School/education"
msgstr "Schule/Ausbildung"
-#: ../../mod/profiles.php:574
+#: ../../mod/profiles.php:563
msgid ""
"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
"be visible to anybody using the internet."
msgstr "Dies ist Dein <strong>öffentliches</strong> Profil.<br />Es <strong>könnte</strong> für jeden im Internet sichtbar sein."
-#: ../../mod/profiles.php:584 ../../mod/directory.php:160
-msgid "Age: "
-msgstr "Alter:"
-
-#: ../../mod/profiles.php:623
+#: ../../mod/profiles.php:612
msgid "Edit/Manage Profiles"
msgstr "Bearbeite/Verwalte Profile"
-#: ../../mod/profiles.php:624 ../../boot.php:1755
-msgid "Change profile photo"
-msgstr "Ändere das Profilfoto"
-
-#: ../../mod/profiles.php:625 ../../boot.php:1762
-msgid "Create New Profile"
-msgstr "Neues Profil erstellen"
-
-#: ../../mod/profiles.php:636 ../../boot.php:1776
-msgid "Profile Image"
-msgstr "Profilfoto:"
-
-#: ../../mod/profiles.php:639 ../../boot.php:1779
-msgid "visible to everybody"
-msgstr "sichtbar für jeden"
+#: ../../mod/profiles.php:613
+msgid "Add profile things"
+msgstr "Profil-Dinge hinzufügen"
-#: ../../mod/profiles.php:640 ../../boot.php:1780
-msgid "Edit visibility"
-msgstr "Sichtbarkeit bearbeiten"
+#: ../../mod/profiles.php:614
+msgid "Include desirable objects in your profile"
+msgstr "binde begehrenswerte Dinge in dein Profil ein"
#: ../../mod/new_channel.php:107
msgid "Add a Channel"
-msgstr "Channel hinzufügen"
+msgstr "Kanal hinzufügen"
#: ../../mod/new_channel.php:108
msgid ""
@@ -5972,23 +5642,47 @@ msgstr "Dein Spitzname wird verwendet, um eine einfach zu erinnernde Kanal-Adres
msgid "Or <a href=\"import\">import an existing channel</a> from another location"
msgstr "Oder <a href=\"import\">importiere einen bestehenden Kanal</a> von einem anderen Ort"
-#: ../../mod/filestorage.php:35
+#: ../../mod/filestorage.php:68
msgid "Permission Denied."
msgstr "Zugriff verweigert."
-#: ../../mod/filestorage.php:42
-msgid "Permission denied. VS."
-msgstr "Zugriff verweigert. VS."
+#: ../../mod/filestorage.php:86
+msgid "File not found."
+msgstr "Datei nicht gefunden"
+
+#: ../../mod/filestorage.php:120
+msgid "Edit file permissions"
+msgstr "Dateiberechtigungen bearbeiten"
+
+#: ../../mod/filestorage.php:127
+msgid "Include all files and sub folders"
+msgstr "Alle Dateien und Unterverzeichnisse einbinden"
-#: ../../mod/filestorage.php:79
+#: ../../mod/filestorage.php:128
+msgid "Return to file list"
+msgstr "Zurück zur Dateiliste"
+
+#: ../../mod/filestorage.php:130
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Diesen Code kopieren/einfügen um die Datei an einen Beitrag anzuhängen"
+
+#: ../../mod/filestorage.php:131
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Diese URL verwenden um auf die Datei von einer Webseite aus zu verweisen"
+
+#: ../../mod/filestorage.php:168
msgid "Download"
msgstr "Download"
-#: ../../mod/filestorage.php:84
+#: ../../mod/filestorage.php:174
msgid "Used: "
msgstr "Verwendet:"
-#: ../../mod/filestorage.php:86
+#: ../../mod/filestorage.php:175
+msgid "[directory]"
+msgstr "[Verzeichnis]"
+
+#: ../../mod/filestorage.php:177
msgid "Limit: "
msgstr "Limit:"
@@ -6016,7 +5710,7 @@ msgid ""
"Password reset failed."
msgstr "Die Anfrage konnte nicht verifiziert werden. (Es könnte sein, dass du vorher bereits eine Anfrage eingereicht hast.) Passwort Anforderung fehlgeschlagen."
-#: ../../mod/lostpass.php:85 ../../boot.php:1469
+#: ../../mod/lostpass.php:85 ../../boot.php:1431
msgid "Password Reset"
msgstr "Zurücksetzen des Kennworts"
@@ -6090,19 +5784,19 @@ msgstr "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen."
msgid "Cloned channel not found. Import failed."
msgstr "Geklonter Kanal nicht gefunden. Import fehlgeschlagen."
-#: ../../mod/import.php:356
+#: ../../mod/import.php:358
msgid "Import completed."
msgstr "Import abgeschlossen."
-#: ../../mod/import.php:369
+#: ../../mod/import.php:371
msgid "You must be logged in to use this feature."
msgstr "Du musst angemeldet sein um diese Funktion zu nutzen."
-#: ../../mod/import.php:374
+#: ../../mod/import.php:376
msgid "Import Channel"
msgstr "Kanal importieren"
-#: ../../mod/import.php:375
+#: ../../mod/import.php:377
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 "
@@ -6110,27 +5804,27 @@ msgid ""
"be imported. Importation of content is not yet available."
msgstr "Verwende dieses Formular um einen existierenden Kanal von einem anderen Server/Hub zu importieren. Du kannst die Kanal-Identität vom alten Server/Hub über das Netzwerk erhalten oder über eine exportierte Sicherungskopie. Es werden ausschließlich die Identität und die Verbindungen/Beziehungen importiert. Das Importieren von Inhalten ist derzeit nicht möglich."
-#: ../../mod/import.php:376
+#: ../../mod/import.php:378
msgid "File to Upload"
msgstr "Hochzuladende Datei:"
-#: ../../mod/import.php:377
+#: ../../mod/import.php:379
msgid "Or provide the old server/hub details"
msgstr "Oder gib die Deteils deines alten Server/Hubs an"
-#: ../../mod/import.php:378
+#: ../../mod/import.php:380
msgid "Your old identity address (xyz@example.com)"
msgstr "Die alte Adresse der Identität (xyz@example.com)"
-#: ../../mod/import.php:379
+#: ../../mod/import.php:381
msgid "Your old login email address"
msgstr "Ihre alte Login E-Mail Adresse"
-#: ../../mod/import.php:380
+#: ../../mod/import.php:382
msgid "Your old login password"
msgstr "Ihr altes Login Kennwort"
-#: ../../mod/import.php:381
+#: ../../mod/import.php:383
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"
@@ -6138,7 +5832,7 @@ msgid ""
"primary location for files, photos, and media."
msgstr "Egal welche Option du wählst, bitte lege fest, ob dieser Hub deine neue primäre Adresse sein soll oder ob dein alter Hub diese Rolle weiterhin wahrnimmt. Du kannst von beiden Orten aus neue Dinge posten, aber nur einer kann die primäre Adresse deiner Dateien, Fotos und anderen Mediendaten sein."
-#: ../../mod/import.php:382
+#: ../../mod/import.php:384
msgid "Make this hub my primary location"
msgstr "Dieser Hub ist mein primärer Server."
@@ -6179,345 +5873,603 @@ msgstr "Stimmen gesamt"
msgid "Average Rating"
msgstr "durchschnittliche Bewertung"
-#: ../../mod/match.php:12
+#: ../../mod/match.php:16
msgid "Profile Match"
msgstr "Profil-Ãœbereinstimmungen"
-#: ../../mod/match.php:20
+#: ../../mod/match.php:24
msgid "No keywords to match. Please add keywords to your default profile."
msgstr "Keine Schlüsselbegriffe für den Abgleich gefunden. Bitte füge Schlüsselbegriffe zu deinem Standardprofil hinzu."
-#: ../../mod/match.php:57
+#: ../../mod/match.php:61
msgid "is interested in:"
msgstr "interessiert sich für:"
-#: ../../mod/match.php:65
+#: ../../mod/match.php:69
msgid "No matches"
msgstr "Keine Ãœbereinstimmungen"
-#: ../../mod/crepair.php:102
-msgid "Contact settings applied."
-msgstr "Kontakt Einstellungen angewandt."
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
+msgstr "Ungültige Signatur des Ziels"
-#: ../../mod/crepair.php:104
-msgid "Contact update failed."
-msgstr "Kontakt Update fehlgeschlagen."
+#: ../../mod/settings.php:71
+msgid "Name is required"
+msgstr "Name wird benötigt"
-#: ../../mod/crepair.php:129 ../../mod/fsuggest.php:20
-#: ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Kontakt nicht gefunden"
+#: ../../mod/settings.php:75
+msgid "Key and Secret are required"
+msgstr "Schlüssel und Geheimnis werden benötigt"
-#: ../../mod/crepair.php:135
-msgid "Repair Contact Settings"
-msgstr " Kontakt-Einstellungen reparieren"
+#: ../../mod/settings.php:79 ../../mod/settings.php:533
+msgid "Update"
+msgstr "Update"
-#: ../../mod/crepair.php:137
-msgid ""
-"<strong>WARNING: This is highly advanced</strong> and if you enter incorrect"
-" information your communications with this contact may stop working."
-msgstr "<strong>Warnung: Dies ist für weit fortgeschrittene Benutzer!</strong> Wenn du falsche Informationen eingibst, könnte die Kommunikation mit diesem Kontakt abbrechen."
+#: ../../mod/settings.php:192
+msgid "Passwords do not match. Password unchanged."
+msgstr "Kennwörter stimmen nicht überein. Kennwort nicht verändert."
+
+#: ../../mod/settings.php:196
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Leere Kennwörter sind nicht erlaubt. Kennwort nicht verändert."
+
+#: ../../mod/settings.php:209
+msgid "Password changed."
+msgstr "Kennwort geändert."
+
+#: ../../mod/settings.php:211
+msgid "Password update failed. Please try again."
+msgstr "Kennwortänderung fehlgeschlagen. Bitte versuche es noch einmal."
+
+#: ../../mod/settings.php:225
+msgid "Not valid email."
+msgstr "Keine gültige E-Mail Adresse."
+
+#: ../../mod/settings.php:228
+msgid "Protected email address. Cannot change to that email."
+msgstr "Geschützte E-Mail Adresse. Diese kann nicht verändert werden."
+
+#: ../../mod/settings.php:237
+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:435
+msgid "Settings updated."
+msgstr "Einstellungen aktualisiert."
+
+#: ../../mod/settings.php:506 ../../mod/settings.php:532
+#: ../../mod/settings.php:568
+msgid "Add application"
+msgstr "Anwendung hinzufügen"
+
+#: ../../mod/settings.php:509 ../../mod/settings.php:535
+msgid "Name"
+msgstr "Name"
-#: ../../mod/crepair.php:138
+#: ../../mod/settings.php:509
+msgid "Name of application"
+msgstr "Name der Anwendung"
+
+#: ../../mod/settings.php:510 ../../mod/settings.php:536
+msgid "Consumer Key"
+msgstr "Consumer Key"
+
+#: ../../mod/settings.php:510 ../../mod/settings.php:511
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Automatisch erzeugt - ändern falls erwünscht. Maximale Länge 20"
+
+#: ../../mod/settings.php:511 ../../mod/settings.php:537
+msgid "Consumer Secret"
+msgstr "Consumer Secret"
+
+#: ../../mod/settings.php:512 ../../mod/settings.php:538
+msgid "Redirect"
+msgstr "Umleitung"
+
+#: ../../mod/settings.php:512
msgid ""
-"Please use your browser 'Back' button <strong>now</strong> if you are "
-"uncertain what to do on this page."
-msgstr "Bitte nutze den Zurück-Button deines Browsers <strong>jetzt</strong>, wenn du dir unsicher bist, was du tun willst."
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "Umleitungs-URl - lasse dies frei außer deine Anwendung erfordert dies explizit"
+
+#: ../../mod/settings.php:513 ../../mod/settings.php:539
+msgid "Icon url"
+msgstr "Symbol-URL"
-#: ../../mod/crepair.php:144
-msgid "Return to contact editor"
-msgstr "Zurück zum Kontakteditor"
+#: ../../mod/settings.php:513
+msgid "Optional"
+msgstr "Optional"
-#: ../../mod/crepair.php:149
-msgid "Account Nickname"
-msgstr "Konto Spitzname"
+#: ../../mod/settings.php:524
+msgid "You can't edit this application."
+msgstr "Diese Anwendung kann nicht bearbeitet werden."
-#: ../../mod/crepair.php:150
-msgid "@Tagname - overrides Name/Nickname"
-msgstr "@Tagname - überschreibt Name/Spitzname"
+#: ../../mod/settings.php:567
+msgid "Connected Apps"
+msgstr "Verbundene Apps"
-#: ../../mod/crepair.php:151
-msgid "Account URL"
-msgstr "Konto URL"
+#: ../../mod/settings.php:571
+msgid "Client key starts with"
+msgstr "Client key beginnt mit"
-#: ../../mod/crepair.php:152
-msgid "Friend Request URL"
-msgstr "URL für Kontaktanfragen"
+#: ../../mod/settings.php:572
+msgid "No name"
+msgstr "Kein Name"
-#: ../../mod/crepair.php:153
-msgid "Friend Confirm URL"
-msgstr "URL zum Bestätigen von Kontaktanfragen"
+#: ../../mod/settings.php:573
+msgid "Remove authorization"
+msgstr "Authorisierung aufheben"
-#: ../../mod/crepair.php:154
-msgid "Notification Endpoint URL"
-msgstr "URL-Endpunkt für Benachrichtigungen"
+#: ../../mod/settings.php:584
+msgid "No feature settings configured"
+msgstr "Keine Funktions-Einstellungen konfiguriert"
-#: ../../mod/crepair.php:155
-msgid "Poll/Feed URL"
-msgstr "Poll/Feed URL"
+#: ../../mod/settings.php:592
+msgid "Feature Settings"
+msgstr "Funktions-Einstellungen"
-#: ../../mod/crepair.php:156
-msgid "New photo from this URL"
-msgstr "Neues Foto von dieser URL"
+#: ../../mod/settings.php:615
+msgid "Account Settings"
+msgstr "Konto-Einstellungen"
-#: ../../mod/zfinger.php:23
-msgid "invalid target signature"
-msgstr "Ungültige Signatur des Ziels"
+#: ../../mod/settings.php:616
+msgid "Password Settings"
+msgstr "Kennwort-Einstellungen"
-#: ../../mod/follow.php:25
-msgid "Channel added."
-msgstr "Kanal hinzugefügt."
+#: ../../mod/settings.php:617
+msgid "New Password:"
+msgstr "Neues Passwort:"
+
+#: ../../mod/settings.php:618
+msgid "Confirm:"
+msgstr "Bestätigen:"
+
+#: ../../mod/settings.php:618
+msgid "Leave password fields blank unless changing"
+msgstr "Lasse die Passwort -Felder leer außer du möchtest das Passwort ändern"
+
+#: ../../mod/settings.php:620 ../../mod/settings.php:912
+msgid "Email Address:"
+msgstr "Email Adresse:"
+
+#: ../../mod/settings.php:621
+msgid "Remove Account"
+msgstr "Konto entfernen"
+
+#: ../../mod/settings.php:622
+msgid "Warning: This action is permanent and cannot be reversed."
+msgstr "Achtung: Diese Aktion ist permanent und kann nicht rückgänging gemacht werden."
+
+#: ../../mod/settings.php:638
+msgid "Off"
+msgstr "Aus"
+
+#: ../../mod/settings.php:638
+msgid "On"
+msgstr "An"
+
+#: ../../mod/settings.php:645
+msgid "Additional Features"
+msgstr "Zusätzliche Funktionen"
+
+#: ../../mod/settings.php:670
+msgid "Connector Settings"
+msgstr "Connector-Einstellungen"
+
+#: ../../mod/settings.php:740
+msgid "Display Settings"
+msgstr "Anzeige-Einstellungen"
+
+#: ../../mod/settings.php:746
+msgid "Display Theme:"
+msgstr "Anzeige Theme:"
+
+#: ../../mod/settings.php:747
+msgid "Mobile Theme:"
+msgstr "Mobile Theme:"
+
+#: ../../mod/settings.php:748
+msgid "Update browser every xx seconds"
+msgstr "Browser alle xx Sekunden aktualisieren"
+
+#: ../../mod/settings.php:748
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Minimum von 10 Sekunden, kein Maximum"
+
+#: ../../mod/settings.php:749
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Maximale Anzahl von Unterhaltungen die gleichzeitig geladen werden sollen:"
+
+#: ../../mod/settings.php:749
+msgid "Maximum of 100 items"
+msgstr "Maximum von 100 Beiträgen"
+
+#: ../../mod/settings.php:750
+msgid "Don't show emoticons"
+msgstr "Emoticons nicht zeigen"
+
+#: ../../mod/settings.php:786
+msgid "Nobody except yourself"
+msgstr "Niemand außer du selbst"
+
+#: ../../mod/settings.php:787
+msgid "Only those you specifically allow"
+msgstr "Nur die, denen du es explizit erlaubst"
+
+#: ../../mod/settings.php:788
+msgid "Anybody in your address book"
+msgstr "Jeder aus Ihrem Adressbuch"
+
+#: ../../mod/settings.php:789
+msgid "Anybody on this website"
+msgstr "Jeder auf dieser Website"
+
+#: ../../mod/settings.php:790
+msgid "Anybody in this network"
+msgstr "Jeder in diesem Netzwerk"
+
+#: ../../mod/settings.php:791
+msgid "Anybody on the internet"
+msgstr "Jeder im Internet"
+
+#: ../../mod/settings.php:865
+msgid "Publish your default profile in the network directory"
+msgstr "Veröffentliche dein Standard-Profil im Netzwerk-Verzeichnis"
+
+#: ../../mod/settings.php:870
+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:874 ../../mod/profile_photo.php:288
+msgid "or"
+msgstr "oder"
+
+#: ../../mod/settings.php:879
+msgid "Your channel address is"
+msgstr "Deine Kanal-Adresse lautet"
+
+#: ../../mod/settings.php:901
+msgid "Channel Settings"
+msgstr "Kanal-Einstellungen"
+
+#: ../../mod/settings.php:910
+msgid "Basic Settings"
+msgstr "Grundeinstellungen"
+
+#: ../../mod/settings.php:913
+msgid "Your Timezone:"
+msgstr "Ihre Zeitzone:"
+
+#: ../../mod/settings.php:914
+msgid "Default Post Location:"
+msgstr "Standardstandort:"
+
+#: ../../mod/settings.php:915
+msgid "Use Browser Location:"
+msgstr "Standort des Browsers verwenden:"
+
+#: ../../mod/settings.php:917
+msgid "Adult Content"
+msgstr "Nicht Jugendfreie-Inhalte"
+
+#: ../../mod/settings.php:917
+msgid "This channel publishes adult content."
+msgstr "Dieser Kanal veröffentlicht nicht Jugendfreie-Inhalte"
+
+#: ../../mod/settings.php:919
+msgid "Security and Privacy Settings"
+msgstr "Sicherheits- und Datenschutz-Einstellungen"
+
+#: ../../mod/settings.php:921
+msgid "Quick Privacy Settings:"
+msgstr "Schnelle Datenschutz-Einstellungen:"
+
+#: ../../mod/settings.php:922
+msgid "Very Public - extremely permissive"
+msgstr "Sehr offen - extrem freizügig"
+
+#: ../../mod/settings.php:923
+msgid "Typical - default public, privacy when desired"
+msgstr "Typisch - Standard öffentlich, Privatheit wenn gewünscht"
+
+#: ../../mod/settings.php:924
+msgid "Private - default private, rarely open or public"
+msgstr "Privat - Standard privat, selten offen oder öffentlich"
+
+#: ../../mod/settings.php:925
+msgid "Blocked - default blocked to/from everybody"
+msgstr "Geschlossen - Standard zu und von jedem geblockt"
+
+#: ../../mod/settings.php:928
+msgid "Maximum Friend Requests/Day:"
+msgstr "Maximale Kontaktanfragen pro Tag:"
+
+#: ../../mod/settings.php:928
+msgid "May reduce spam activity"
+msgstr "Kann die Spam-Aktivität verringern"
+
+#: ../../mod/settings.php:929
+msgid "Default Post Permissions"
+msgstr "Beitragszugriffrechte Standardeinstellungen"
+
+#: ../../mod/settings.php:941
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:"
+
+#: ../../mod/settings.php:941
+msgid "Useful to reduce spamming"
+msgstr "Nützlich um Spam zu verringern"
+
+#: ../../mod/settings.php:944
+msgid "Notification Settings"
+msgstr "Benachrichtigungs-Einstellungen"
+
+#: ../../mod/settings.php:945
+msgid "By default post a status message when:"
+msgstr "Sende standardmäßig Status-Nachrichten wenn:"
+
+#: ../../mod/settings.php:946
+msgid "accepting a friend request"
+msgstr "einer Kontaktanfrage stattgegeben wurde"
+
+#: ../../mod/settings.php:947
+msgid "joining a forum/community"
+msgstr "ein Forum beigetreten wurde"
+
+#: ../../mod/settings.php:948
+msgid "making an <em>interesting</em> profile change"
+msgstr "eine <em>interessante</em> Änderung am Profil vorgenommen wurde"
+
+#: ../../mod/settings.php:949
+msgid "Send a notification email when:"
+msgstr "Eine Email Benachrichtigung senden wenn:"
+
+#: ../../mod/settings.php:950
+msgid "You receive an introduction"
+msgstr "Du eine Vorstellung erhältst"
+
+#: ../../mod/settings.php:951
+msgid "Your introductions are confirmed"
+msgstr "Deine Vorstellung bestätigt wurde."
+
+#: ../../mod/settings.php:952
+msgid "Someone writes on your profile wall"
+msgstr "Jemand auf deine Pinnwand schreibt"
+
+#: ../../mod/settings.php:953
+msgid "Someone writes a followup comment"
+msgstr "Jemand einen Beitrag kommentiert"
+
+#: ../../mod/settings.php:954
+msgid "You receive a private message"
+msgstr "Du eine private Nachricht erhältst"
+
+#: ../../mod/settings.php:955
+msgid "You receive a friend suggestion"
+msgstr "Du einen Kontaktvorschlag erhältst"
+
+#: ../../mod/settings.php:956
+msgid "You are tagged in a post"
+msgstr "Du wurdest in einem Beitrag getaggt"
+
+#: ../../mod/settings.php:957
+msgid "You are poked/prodded/etc. in a post"
+msgstr "Du in einer Nachricht angestupst/geknufft/o.ä. wirst"
+
+#: ../../mod/settings.php:960
+msgid "Advanced Account/Page Type Settings"
+msgstr "Erweiterte Account / Seiten Arten Einstellungen"
+
+#: ../../mod/settings.php:961
+msgid "Change the behaviour of this account for special situations"
+msgstr "Ändere das Verhalten dieses Accounts unter speziellen Umständen"
+
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
+msgstr "Konnte den Empfänger nicht finden."
+
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
+msgstr "Die Kommunikation mit dem ausgewählten Kanal ist fehlgeschlagen."
+
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
+msgstr "Verifizierung des angeforderten Kanals fehlgeschlagen."
-#: ../../mod/editlayout.php:36 ../../mod/editwebpage.php:30
-#: ../../mod/editpost.php:20 ../../mod/editblock.php:36
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "Der ausgewählte Kanal hat Einschränkungen bzgl. privater Nachrichten. Senden fehlgeschlagen."
+
+#: ../../mod/mail.php:121 ../../mod/message.php:31
+msgid "Messages"
+msgstr "Nachrichten"
+
+#: ../../mod/mail.php:132
+msgid "Message deleted."
+msgstr "Nachricht gelöscht."
+
+#: ../../mod/mail.php:149
+msgid "Message recalled."
+msgstr "Nachricht widerrufen."
+
+#: ../../mod/mail.php:206
+msgid "Send Private Message"
+msgstr "Private Nachricht senden"
+
+#: ../../mod/mail.php:207 ../../mod/mail.php:323
+msgid "To:"
+msgstr "An:"
+
+#: ../../mod/mail.php:212 ../../mod/mail.php:325
+msgid "Subject:"
+msgstr "Betreff:"
+
+#: ../../mod/mail.php:249
+msgid "Message not found."
+msgstr "Nachricht nicht gefunden."
+
+#: ../../mod/mail.php:292 ../../mod/message.php:72
+msgid "Delete message"
+msgstr "Nachricht löschen"
+
+#: ../../mod/mail.php:293
+msgid "Recall message"
+msgstr "Widerrufe die Nachricht"
+
+#: ../../mod/mail.php:295
+msgid "Message has been recalled."
+msgstr "Die Nachricht wurde widerrufen."
+
+#: ../../mod/mail.php:312
+msgid "Private Conversation"
+msgstr "Private Unterhaltung"
+
+#: ../../mod/mail.php:316
+msgid "Delete conversation"
+msgstr "Unterhaltung löschen"
+
+#: ../../mod/mail.php:318
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Keine sichere Kommunikation verfügbar. <strong>Eventuell</strong> kannst du von der Profilseite des Absenders antworten."
+
+#: ../../mod/mail.php:322
+msgid "Send Reply"
+msgstr "Antwort senden"
+
+#: ../../mod/editlayout.php:36 ../../mod/editpost.php:20
+#: ../../mod/editwebpage.php:32 ../../mod/editblock.php:36
msgid "Item not found"
msgstr "Element nicht gefunden"
-#: ../../mod/editlayout.php:68
+#: ../../mod/editlayout.php:72
msgid "Edit Layout"
msgstr "Layout bearbeiten"
-#: ../../mod/editlayout.php:104 ../../mod/editwebpage.php:123
-#: ../../mod/editpost.php:101 ../../mod/editblock.php:118
+#: ../../mod/editlayout.php:82
+msgid "Delete layout?"
+msgstr "Layout löschen?"
+
+#: ../../mod/editlayout.php:110 ../../mod/editpost.php:102
+#: ../../mod/editwebpage.php:148 ../../mod/editblock.php:124
msgid "Insert YouTube video"
msgstr "YouTube-Video einfügen"
-#: ../../mod/editlayout.php:105 ../../mod/editwebpage.php:124
-#: ../../mod/editpost.php:102 ../../mod/editblock.php:119
+#: ../../mod/editlayout.php:111 ../../mod/editpost.php:103
+#: ../../mod/editwebpage.php:149 ../../mod/editblock.php:125
msgid "Insert Vorbis [.ogg] video"
msgstr "Vorbis [.ogg]-Video einfügen"
-#: ../../mod/editlayout.php:106 ../../mod/editwebpage.php:125
-#: ../../mod/editpost.php:103 ../../mod/editblock.php:120
+#: ../../mod/editlayout.php:112 ../../mod/editpost.php:104
+#: ../../mod/editwebpage.php:150 ../../mod/editblock.php:126
msgid "Insert Vorbis [.ogg] audio"
msgstr "Vorbis [.ogg]-Audio einfügen"
-#: ../../mod/editlayout.php:140
+#: ../../mod/editlayout.php:147
msgid "Delete Layout"
msgstr "Layout löschen"
-#: ../../mod/nogroup.php:58
-msgid "Contacts who are not members of a group"
-msgstr "Kanäle die in keiner Sammlung Mitglied sind"
-
-#: ../../mod/profile_photo.php:54
+#: ../../mod/profile_photo.php:44
msgid "Image uploaded but image cropping failed."
msgstr "Bild hochgeladen, aber das zurecht schneiden schlug fehl."
-#: ../../mod/profile_photo.php:107
+#: ../../mod/profile_photo.php:97
msgid "Image resize failed."
msgstr "Bild-Anpassung fehlgeschlagen."
-#: ../../mod/profile_photo.php:151
+#: ../../mod/profile_photo.php:141
msgid ""
"Shift-reload the page or clear browser cache if the new photo does not "
"display immediately."
msgstr "Leere den Browser Cache oder nutze Umschalten-Neu Laden sollte das neue Foto nicht sofort angezeigt werden."
-#: ../../mod/profile_photo.php:173
+#: ../../mod/profile_photo.php:163
#, php-format
msgid "Image exceeds size limit of %d"
msgstr "Bild ist größer als das Limit von %d"
-#: ../../mod/profile_photo.php:182
+#: ../../mod/profile_photo.php:172
msgid "Unable to process image."
msgstr "Kann Bild nicht verarbeiten."
-#: ../../mod/profile_photo.php:224 ../../mod/profile_photo.php:272
+#: ../../mod/profile_photo.php:214 ../../mod/profile_photo.php:262
msgid "Photo not available."
msgstr "Foto nicht verfügbar."
-#: ../../mod/profile_photo.php:291
+#: ../../mod/profile_photo.php:281
msgid "Upload File:"
msgstr "Datei hochladen:"
-#: ../../mod/profile_photo.php:292
+#: ../../mod/profile_photo.php:282
msgid "Select a profile:"
msgstr "Wählen Sie ein Profil:"
-#: ../../mod/profile_photo.php:293
+#: ../../mod/profile_photo.php:283
msgid "Upload Profile Photo"
msgstr "Lade neues Profilfoto hoch"
-#: ../../mod/profile_photo.php:294
+#: ../../mod/profile_photo.php:284
msgid "Upload"
msgstr "Hochladen"
-#: ../../mod/profile_photo.php:298
+#: ../../mod/profile_photo.php:288
msgid "skip this step"
msgstr "diesen Schritt überspringen"
-#: ../../mod/profile_photo.php:298
+#: ../../mod/profile_photo.php:288
msgid "select a photo from your photo albums"
msgstr "ein Foto aus meinen Fotoalben"
-#: ../../mod/profile_photo.php:312
+#: ../../mod/profile_photo.php:302
msgid "Crop Image"
msgstr "Bild zuschneiden"
-#: ../../mod/profile_photo.php:313
+#: ../../mod/profile_photo.php:303
msgid "Please adjust the image cropping for optimum viewing."
msgstr "Bitte passe das Bild zur optimalen Anzeige an."
-#: ../../mod/profile_photo.php:315
+#: ../../mod/profile_photo.php:305
msgid "Done Editing"
msgstr "Bearbeitung fertigstellen"
-#: ../../mod/profile_photo.php:350
+#: ../../mod/profile_photo.php:340
msgid "Image uploaded successfully."
msgstr "Bild erfolgreich hochgeladen."
-#: ../../mod/profile_photo.php:352
+#: ../../mod/profile_photo.php:342
msgid "Image upload failed."
msgstr "Hochladen des Bilds fehlgeschlagen."
-#: ../../mod/profile_photo.php:361
+#: ../../mod/profile_photo.php:351
#, php-format
msgid "Image size reduction [%s] failed."
msgstr "Reduzierung der Bildgröße [%s] fehlgeschlagen."
-#: ../../mod/editwebpage.php:87
-msgid "Edit Webpage"
-msgstr "Webseite bearbeiten"
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "Element kann nicht bearbeitet werden."
-#: ../../mod/editwebpage.php:162
-msgid "Delete Webpage"
-msgstr "Webseite löschen"
+#: ../../mod/editpost.php:53
+msgid "Delete item?"
+msgstr "Eintrag löschen?"
#: ../../mod/notifications.php:26
msgid "Invalid request identifier."
msgstr "Ungültige Anfrage Identifikator."
-#: ../../mod/notifications.php:76
-msgid "System"
-msgstr "System"
-
-#: ../../mod/notifications.php:96
-msgid "Introductions"
-msgstr "Vorstellungen"
-
-#: ../../mod/notifications.php:121
-msgid "Show Ignored Requests"
-msgstr "Zeige ignorierte Anfragen"
-
-#: ../../mod/notifications.php:121
-msgid "Hide Ignored Requests"
-msgstr "Verberge ignorierte Anfragen"
-
-#: ../../mod/notifications.php:147 ../../mod/notifications.php:193
-msgid "Notification type: "
-msgstr "Benachrichtigungstyp:"
-
-#: ../../mod/notifications.php:148
-msgid "Friend Suggestion"
-msgstr "Freundschaft Vorschläge"
-
-#: ../../mod/notifications.php:150
-#, php-format
-msgid "suggested by %s"
-msgstr "vorgeschlagen von %s"
-
-#: ../../mod/notifications.php:179
-msgid "Claims to be known to you: "
-msgstr "Behauptet dich zu kennen:"
-
-#: ../../mod/notifications.php:179
-msgid "yes"
-msgstr "ja"
-
-#: ../../mod/notifications.php:179
-msgid "no"
-msgstr "nein"
-
-#: ../../mod/notifications.php:186
-msgid "Approve as: "
-msgstr "Genehmigen als:"
-
-#: ../../mod/notifications.php:187
-msgid "Friend"
-msgstr "Freund"
-
-#: ../../mod/notifications.php:188
-msgid "Sharer"
-msgstr "Teilenden"
-
-#: ../../mod/notifications.php:188
-msgid "Fan/Admirer"
-msgstr "Fan/Verehrer"
-
-#: ../../mod/notifications.php:194
-msgid "Friend/Connect Request"
-msgstr "Kontakt-/Freundschaftsanfrage"
-
-#: ../../mod/notifications.php:194
-msgid "New Follower"
-msgstr "Neuer Bewunderer"
-
-#: ../../mod/notifications.php:215
-msgid "No introductions."
-msgstr "Keine wartenden Vorstellungen."
-
-#: ../../mod/notifications.php:257 ../../mod/notifications.php:382
-#: ../../mod/notifications.php:465
-#, php-format
-msgid "%s liked %s's post"
-msgstr "%s gefällt %s's Beitrag"
-
-#: ../../mod/notifications.php:266 ../../mod/notifications.php:391
-#: ../../mod/notifications.php:474
-#, php-format
-msgid "%s disliked %s's post"
-msgstr "%s gefällt %s's Beitrag nicht"
-
-#: ../../mod/notifications.php:280 ../../mod/notifications.php:405
-#: ../../mod/notifications.php:488
-#, php-format
-msgid "%s is now friends with %s"
-msgstr "%s ist nun mit %s befreundet"
-
-#: ../../mod/notifications.php:287 ../../mod/notifications.php:412
-#, php-format
-msgid "%s created a new post"
-msgstr "%s hat einen neuen Beitrag verfasst"
-
-#: ../../mod/notifications.php:288 ../../mod/notifications.php:413
-#: ../../mod/notifications.php:497
-#, php-format
-msgid "%s commented on %s's post"
-msgstr "%s kommentierte %s Beitrag"
-
-#: ../../mod/notifications.php:302
-msgid "No more network notifications."
-msgstr "Keine weiteren Netzwerk Benachrichtigungen."
-
-#: ../../mod/notifications.php:306
-msgid "Network Notifications"
-msgstr "Netzwerk-Benachrichtigungen"
+#: ../../mod/notifications.php:35
+msgid "Discard"
+msgstr "Verwerfen"
-#: ../../mod/notifications.php:332 ../../mod/notify.php:54
+#: ../../mod/notifications.php:93 ../../mod/notify.php:54
msgid "No more system notifications."
msgstr "Keine System-Benachrichtigungen mehr."
-#: ../../mod/notifications.php:336 ../../mod/notify.php:58
+#: ../../mod/notifications.php:97 ../../mod/notify.php:58
msgid "System Notifications"
msgstr "System-Benachrichtigungen"
-#: ../../mod/notifications.php:427
-msgid "No more personal notifications."
-msgstr "Keine persönliche Benachrichtigungen mehr."
-
-#: ../../mod/notifications.php:431
-msgid "Personal Notifications"
-msgstr "Persönliche Benachrichtigungen"
-
-#: ../../mod/notifications.php:504
-msgid "No more home notifications."
-msgstr "Keine Pinwand-Benachrichtigungen mehr."
-
-#: ../../mod/notifications.php:508
-msgid "Home Notifications"
-msgstr "Pinwand-Benachrichtigungen"
-
#: ../../mod/blocks.php:65
msgid "Block Name"
msgstr "Block Name"
@@ -6530,11 +6482,19 @@ msgstr "Konnte den Hub nicht finden."
msgid "Post successful."
msgstr "Veröffentlichung erfolgreich."
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "Element kann nicht bearbeitet werden."
+#: ../../mod/editwebpage.php:106
+msgid "Edit Webpage"
+msgstr "Webseite bearbeiten"
+
+#: ../../mod/editwebpage.php:116
+msgid "Delete webpage?"
+msgstr "Webseite löschen?"
+
+#: ../../mod/editwebpage.php:189
+msgid "Delete Webpage"
+msgstr "Webseite löschen"
-#: ../../mod/profile.php:111
+#: ../../mod/profile.php:64 ../../mod/profile.php:72
msgid "Access to this profile has been restricted."
msgstr "Der Zugang zu diesem Profil ist begrenzt."
@@ -6558,11 +6518,15 @@ msgstr "Wähle was du mit dem/r Empfänger/in tun willst"
msgid "Make this post private"
msgstr "Diesen Beitrag privat machen"
-#: ../../mod/wall_upload.php:41 ../../mod/item.php:1074
+#: ../../mod/wall_upload.php:41 ../../mod/item.php:1075
msgid "Wall Photos"
msgstr "Wall Fotos"
-#: ../../mod/channel.php:120
+#: ../../mod/channel.php:25
+msgid "You must be logged in to see this page."
+msgstr "Du musst angemeldet sein um diese Seite betrachten zu können."
+
+#: ../../mod/channel.php:85
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet."
@@ -6578,9 +6542,9 @@ msgstr "Gemeinschaft"
msgid "No results."
msgstr "Keine Ergebnisse."
-#: ../../mod/fbrowser.php:114
-msgid "Files"
-msgstr "Dateien"
+#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
+msgid "Contact not found."
+msgstr "Kontakt nicht gefunden"
#: ../../mod/fsuggest.php:63
msgid "Friend suggestion sent."
@@ -6595,112 +6559,98 @@ msgstr "Kontakte Vorschlagen"
msgid "Suggest a friend for %s"
msgstr "Schlage %s einen Kontakt vor"
-#: ../../mod/editblock.php:82
+#: ../../mod/editblock.php:86
msgid "Edit Block"
msgstr "Block bearbeiten"
-#: ../../mod/editblock.php:156
+#: ../../mod/editblock.php:96
+msgid "Delete block?"
+msgstr "Block löschen?"
+
+#: ../../mod/editblock.php:163
msgid "Delete Block"
msgstr "Block löschen"
-#: ../../mod/profperm.php:34 ../../mod/profperm.php:64
+#: ../../mod/profperm.php:25 ../../mod/profperm.php:55
msgid "Invalid profile identifier."
msgstr "Ungültiger Profil Identifikator"
-#: ../../mod/profperm.php:110
+#: ../../mod/profperm.php:101
msgid "Profile Visibility Editor"
msgstr "Profil-Sichtbarkeits Editor"
-#: ../../mod/profperm.php:114
+#: ../../mod/profperm.php:105
msgid "Click on a contact to add or remove."
msgstr "Wähle einen Kontakt zum Hinzufügen oder Löschen aus."
-#: ../../mod/profperm.php:123
+#: ../../mod/profperm.php:114
msgid "Visible To"
msgstr "Sichtbar für"
-#: ../../mod/profperm.php:139
+#: ../../mod/profperm.php:130
msgid "All Contacts (with secure profile access)"
msgstr "Alle Kontakte (mit sicherem Zuging zum Profil)"
-#: ../../mod/item.php:144
-msgid "Unable to locate original post."
-msgstr "Originalbeitrag kann nicht gefunden werden."
-
-#: ../../mod/item.php:341
-msgid "Empty post discarded."
-msgstr "Leerer Beitrag verworfen."
-
-#: ../../mod/item.php:383
-msgid "Executable content type not permitted to this channel."
-msgstr "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben."
-
-#: ../../mod/item.php:793
-msgid "System error. Post not saved."
-msgstr "Systemfehler. Beitrag nicht gespeichert."
-
-#: ../../mod/item.php:1153
-#, 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:1159
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht."
-
-#: ../../mod/siteinfo.php:51
+#: ../../mod/siteinfo.php:57
#, php-format
msgid "Version %s"
msgstr "Version %s"
-#: ../../mod/siteinfo.php:65
+#: ../../mod/siteinfo.php:76
msgid "Installed plugins/addons/apps:"
msgstr "Installierte Plugins/Addons/Apps"
-#: ../../mod/siteinfo.php:78
+#: ../../mod/siteinfo.php:89
msgid "No installed plugins/addons/apps"
msgstr "Keine installierten Plugins/Addons/Apps"
-#: ../../mod/siteinfo.php:81
+#: ../../mod/siteinfo.php:92
msgid "Red"
msgstr "Red"
-#: ../../mod/siteinfo.php:82
+#: ../../mod/siteinfo.php:93
msgid ""
"This is a hub of the Red Matrix - a global cooperative network of "
"decentralised privacy enhanced websites."
msgstr "Dieser Server ist Teil der Red-Matrix – einem global vernetzten Verbund aus dezentralen Websites mit Rücksicht auf die Privatsphäre."
-#: ../../mod/siteinfo.php:84
+#: ../../mod/siteinfo.php:96
msgid "Running at web location"
msgstr "Erreichbar unter der Web-Adresse"
-#: ../../mod/siteinfo.php:85
+#: ../../mod/siteinfo.php:97
msgid ""
"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
"about the Red Matrix."
msgstr "Besuche <a href=\"http://getzot.com\">GetZot.com</a> um mehr über die Red Matrix zu erfahren."
-#: ../../mod/siteinfo.php:86
+#: ../../mod/siteinfo.php:98
msgid "Bug reports and issues: please visit"
msgstr "Probleme oder Fehler gefunden? Bitte besuche"
-#: ../../mod/siteinfo.php:89
+#: ../../mod/siteinfo.php:101
msgid ""
"Suggestions, praise, donations, etc. - please email \"redmatrix\" at "
"librelist - dot com"
msgstr "Vorschläge, Lob, Spenden usw.: E-Mail an 'redmatrix' at librelist - dot - com"
-#: ../../mod/suggest.php:41
+#: ../../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 dies eine neue Seite ist versuche es bitte in 24 Stunden erneut."
-#: ../../mod/suggest.php:58
-msgid "Ignore/Hide"
-msgstr "Ignorieren/Verstecken"
+#: ../../mod/message.php:41
+msgid "Conversation removed."
+msgstr "Unterhaltung gelöscht."
+
+#: ../../mod/message.php:56
+msgid "No messages."
+msgstr "Keine Nachrichten."
+
+#: ../../mod/message.php:74
+msgid "D, d M Y - g:i A"
+msgstr "D, d. M Y - g:i A"
#: ../../mod/pubsites.php:22
msgid "Public Sites"
@@ -6754,43 +6704,51 @@ msgstr "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden
msgid "Your registration can not be processed."
msgstr "Deine Registrierung konnte nicht verarbeitet werden."
-#: ../../mod/register.php:149
+#: ../../mod/register.php:147
+msgid "Registration on this site/hub is by approval only."
+msgstr "Anmeldungen auf dieser Seite / diesem Hub benötigen Zustimmung durch den Administrator"
+
+#: ../../mod/register.php:148
+msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
+msgstr "<a href=\"pubsites\">Registrierung auf einer angeschlossenen Seite</a>"
+
+#: ../../mod/register.php:156
msgid ""
"This site has exceeded the number of allowed daily account registrations. "
"Please try again tomorrow."
msgstr "Die maximale Anzahl täglicher Registrierungen auf dieser Seite wurde überschritten. Bitte versuche es morgen noch einmal."
-#: ../../mod/register.php:160
+#: ../../mod/register.php:167
msgid "Terms of Service"
msgstr "Nutzungsbedingungen"
-#: ../../mod/register.php:166
+#: ../../mod/register.php:173
#, php-format
msgid "I accept the %s for this website"
msgstr "Ich akzeptiere die %s für diese Webseite"
-#: ../../mod/register.php:168
+#: ../../mod/register.php:175
#, 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:183
+#: ../../mod/register.php:194
msgid "Membership on this site is by invitation only."
msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich."
-#: ../../mod/register.php:184
+#: ../../mod/register.php:195
msgid "Please enter your invitation code"
msgstr "Bitte trage deinen Einladungs-Code ein"
-#: ../../mod/register.php:187
+#: ../../mod/register.php:198
msgid "Your email address"
msgstr "Ihre E-Mail Adresse"
-#: ../../mod/register.php:188
+#: ../../mod/register.php:199
msgid "Choose a password"
msgstr "Passwort"
-#: ../../mod/register.php:189
+#: ../../mod/register.php:200
msgid "Please re-enter your password"
msgstr "Bitte gib dein Passwort noch einmal ein"
@@ -6798,17 +6756,6 @@ msgstr "Bitte gib dein Passwort noch einmal ein"
msgid "Please login."
msgstr "Bitte melde dich an."
-#: ../../mod/post.php:119
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "Entfernte Authentifizierung blockiert. Du bist lokal auf dieser Seite angemeldet. Bitte melde dich ab und versuche es erneut."
-
-#: ../../mod/post.php:132
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Willkommen %s. Entfernte Authentifizierung erfolgreich."
-
#: ../../mod/removeme.php:49
msgid "Remove This Channel"
msgstr "Diesen Kanal löschen!"
@@ -6834,37 +6781,79 @@ msgid ""
msgstr "Standartmäßig wird der Kanal nur auf diesem Knoten gelöscht, seine Klone verbleiben im Netzwerk"
#: ../../mod/removeme.php:53
-msgid "Remove My Account"
-msgstr "Mein Konto entfernen"
+msgid "Remove Channel"
+msgstr "Kanal entfernen"
-#: ../../mod/directory.php:163
-msgid "Gender: "
-msgstr "Geschlecht:"
+#: ../../mod/item.php:145
+msgid "Unable to locate original post."
+msgstr "Originalbeitrag kann nicht gefunden werden."
-#: ../../mod/directory.php:222
-msgid "Finding:"
-msgstr "Ergebnisse:"
+#: ../../mod/item.php:346
+msgid "Empty post discarded."
+msgstr "Leerer Beitrag verworfen."
-#: ../../mod/directory.php:230
-msgid "next page"
-msgstr "nächste Seite"
+#: ../../mod/item.php:388
+msgid "Executable content type not permitted to this channel."
+msgstr "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben."
-#: ../../mod/directory.php:230
-msgid "previous page"
-msgstr "vorige Seite"
+#: ../../mod/item.php:819
+msgid "System error. Post not saved."
+msgstr "Systemfehler. Beitrag nicht gespeichert."
-#: ../../mod/directory.php:237
-msgid "No entries (some entries may be hidden)."
-msgstr "Keine Einträge gefunden (einige könnten versteckt sein)."
+#: ../../mod/item.php:1155
+#, 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:1161
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht."
-#: ../../mod/mood.php:133
+#: ../../mod/mood.php:138
msgid "Mood"
msgstr "Laune"
-#: ../../mod/mood.php:134
+#: ../../mod/mood.php:139
msgid "Set your current mood and tell your friends"
msgstr "Wähle deine aktuelle Stimmung und erzähle sie deinen Freunden"
+#: ../../mod/ping.php:160
+msgid "sent you a private message"
+msgstr "eine private Nachricht schicken"
+
+#: ../../mod/ping.php:218
+msgid "added your channel"
+msgstr "hat deinen Kanal hinzugefügt"
+
+#: ../../mod/ping.php:262
+msgid "posted an event"
+msgstr "hat eine Veranstaltung veröffentlicht"
+
+#: ../../mod/dirprofile.php:111
+msgid "Status: "
+msgstr "Status:"
+
+#: ../../mod/dirprofile.php:112
+msgid "Sexual Preference: "
+msgstr "Sexuelle Vorlieben:"
+
+#: ../../mod/dirprofile.php:114
+msgid "Homepage: "
+msgstr "Webseite:"
+
+#: ../../mod/dirprofile.php:115
+msgid "Hometown: "
+msgstr "Wohnort:"
+
+#: ../../mod/dirprofile.php:117
+msgid "About: "
+msgstr "Ãœber:"
+
+#: ../../mod/dirprofile.php:164
+msgid "Keywords: "
+msgstr "Schlüsselbegriffe:"
+
#: ../../view/theme/redbasic/php/config.php:74
msgid "Scheme Default"
msgstr "Standard-Schema"
@@ -7110,113 +7099,41 @@ msgstr "Titelbild"
msgid "Header image only on profile pages"
msgstr "Titelbild nur auf Profil-Seiten anzeigen"
-#: ../../boot.php:1274
+#: ../../boot.php:1229
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Aktualisierung %s fehlgeschlagen. Details in den Fehlerprotokollen."
-#: ../../boot.php:1277
+#: ../../boot.php:1232
#, php-format
msgid "Update Error at %s"
msgstr "Aktualisierungsfehler auf %s"
-#: ../../boot.php:1434
+#: ../../boot.php:1396
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:1462
+#: ../../boot.php:1424
msgid "Password"
msgstr "Kennwort"
-#: ../../boot.php:1463
+#: ../../boot.php:1425
msgid "Remember me"
msgstr "Angaben speichern"
-#: ../../boot.php:1468
+#: ../../boot.php:1430
msgid "Forgot your password?"
msgstr "Passwort vergessen?"
-#: ../../boot.php:1533
+#: ../../boot.php:1495
msgid "permission denied"
msgstr "Zugriff verweigert"
-#: ../../boot.php:1534
+#: ../../boot.php:1496
msgid "Got Zot?"
msgstr "Haste schon Zot?"
-#: ../../boot.php:1593
-msgid "Requested channel is not available."
-msgstr "Angeforderte Kanal nicht verfügbar."
-
-#: ../../boot.php:1605
-msgid " Sorry, you don't have the permission to view this profile. "
-msgstr "Entschuldigung, aber du besitzt nicht die nötigen Rechte um dieses Profil ansehen zu dürfen."
-
-#: ../../boot.php:1761
-msgid "Profiles"
-msgstr "Profile"
-
-#: ../../boot.php:1761
-msgid "Manage/edit profiles"
-msgstr "Verwalte/Bearbeite Profile"
-
-#: ../../boot.php:1765
-msgid "Edit Profile"
-msgstr "Profile bearbeiten"
-
-#: ../../boot.php:1859 ../../boot.php:1939
-msgid "F d"
-msgstr "d. F"
-
-#: ../../boot.php:1916
-msgid "Birthday Reminders"
-msgstr "Geburtstags Erinnerungen"
-
-#: ../../boot.php:1917
-msgid "Birthdays this week:"
-msgstr "Geburtstage in dieser Woche:"
-
-#: ../../boot.php:1972
-msgid "[No description]"
-msgstr "[Keine Beschreibung]"
-
-#: ../../boot.php:1990
-msgid "Event Reminders"
-msgstr "Veranstaltungs- Erinnerungen"
-
-#: ../../boot.php:1991
-msgid "Events this week:"
-msgstr "Veranstaltungen in dieser Woche:"
-
-#: ../../boot.php:2225
-msgid "Channel"
-msgstr "Kanal"
-
-#: ../../boot.php:2228
-msgid "Status Messages and Posts"
-msgstr "Statusnachrichten und Beiträge"
-
-#: ../../boot.php:2232
-msgid "About"
-msgstr "Ãœber"
-
-#: ../../boot.php:2235
-msgid "Profile Details"
-msgstr "Profil-Details"
-
-#: ../../boot.php:2253
-msgid "Events and Calendar"
-msgstr "Veranstaltungen und Kalender"
-
-#: ../../boot.php:2258
-msgid "Webpages"
-msgstr "Webseiten"
-
-#: ../../boot.php:2261
-msgid "Manage Webpages"
-msgstr "Webseiten verwalten"
-
-#: ../../boot.php:2546
+#: ../../boot.php:1892
msgid "toggle mobile"
msgstr "auf/von Mobile Ansicht wechseln"
diff --git a/view/de/strings.php b/view/de/strings.php
index 92360da79..0beec543e 100644
--- a/view/de/strings.php
+++ b/view/de/strings.php
@@ -12,98 +12,68 @@ $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["Red Matrix Notification"] = "Red Matrix Benachrichtigung";
-$a->strings["redmatrix"] = "redmatrix";
-$a->strings["Thank You,"] = "Danke.";
-$a->strings["%s Administrator"] = "%s Administrator";
-$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
-$a->strings["[Red:Notify] New mail received at %s"] = "[Red Notify] 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]a %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:Notify] 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 ein Thema kommentiert, dem du folgst.";
-$a->strings["Please visit %s to view and/or reply to the conversation."] = "Bitte besuche %s, um die Konversation 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 Notify] %s hat dich getaggt";
-$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s hat dich auf %3\$s getaggt";
-$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 Notify] %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 angestubst";
-$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:Hinweis] %s hat Dich getagged";
-$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s hat deinen Beitrag auf %3\$s getaggt";
-$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]deinen Beitrag[/zrl] getaggt";
-$a->strings["[Red:Notify] Introduction received"] = "[Red:Notify] Vorstellung erhalten";
-$a->strings["%1\$s, you've received an introduction from '%2\$s' at %3\$s"] = "%1\$s, du hast eine Vorstellung von „%2\$s“ auf %3\$s erhalten";
-$a->strings["%1\$s, you've received [zrl=%2\$s]an introduction[/zrl] from %3\$s."] = "%1\$s, du hast [zrl=%2\$s]eine Vorstellung[/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 introduction."] = "Bitte besuche %s um sie anzunehmen oder abzulehnen.";
-$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Hinweis] Freundschaftsvorschlag erhalten";
-$a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, du hast einen Freundschaftsvorschlag 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 Freundschaftvorschlag[/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["Private Message"] = "Private Nachricht";
-$a->strings["Edit"] = "Bearbeiten";
-$a->strings["Delete"] = "Löschen";
-$a->strings["Select"] = "Auswählen";
-$a->strings["save to folder"] = "In Ordner speichern";
-$a->strings["add star"] = "markieren";
-$a->strings["remove star"] = "Markierung entfernen";
-$a->strings["toggle star status"] = "Stern-Status umschalten";
-$a->strings["starred"] = "markiert";
-$a->strings["Message is verified"] = "Nachricht überprüft";
-$a->strings["add tag"] = "Schlagwort hinzufügen";
-$a->strings["I like this (toggle)"] = "Ich mag das (Umschalter)";
-$a->strings["like"] = "Gefällt-mir";
-$a->strings["I don't like this (toggle)"] = "Ich mag das nicht (Umschalter)";
-$a->strings["dislike"] = "Gefällt-mir-nicht";
-$a->strings["Share this"] = "Teile dies";
-$a->strings["share"] = "Teilen";
-$a->strings["View %s's profile - %s"] = "Schaue dir %s's Profil an - %s";
-$a->strings["to"] = "zu";
-$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["Please wait"] = "Bitte warten";
-$a->strings["%d comment"] = array(
- 0 => "%d Kommentar",
- 1 => "%d Kommentare",
-);
-$a->strings["show more"] = "mehr zeigen";
-$a->strings["This is you"] = "Das bist du";
-$a->strings["Comment"] = "Kommentar";
-$a->strings["Submit"] = "Bestätigen";
-$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["Preview"] = "Vorschau";
-$a->strings["Encrypt text"] = "Text verschlüsseln";
+$a->strings["Public Timeline"] = "Öffentliche Zeitleiste";
+$a->strings["Logout"] = "Abmelden";
+$a->strings["End this session"] = "Beende diese Sitzung";
+$a->strings["Home"] = "Home";
+$a->strings["Your posts and conversations"] = "Deine Beiträge und Unterhaltungen";
+$a->strings["View Profile"] = "Profil ansehen";
+$a->strings["Your profile page"] = "Deine Profilseite";
+$a->strings["Edit Profiles"] = "Profile bearbeiten";
+$a->strings["Manage/Edit Profiles"] = "Verwalte/Bearbeite Profile";
+$a->strings["Photos"] = "Fotos";
+$a->strings["Your photos"] = "Deine Bilder";
+$a->strings["Login"] = "Anmelden";
+$a->strings["Sign in"] = "Anmelden";
+$a->strings["%s - click to logout"] = "%s - Klick zum Abmelden";
+$a->strings["Click to authenticate to your home hub"] = "Klick zum Authentifizieren bei Deinem Heimat-Hub";
+$a->strings["Home Page"] = "Homepage";
+$a->strings["Register"] = "Registrieren";
+$a->strings["Create an account"] = "Erzeuge ein Konto";
+$a->strings["Help"] = "Hilfe";
+$a->strings["Help and documentation"] = "Hilfe und Dokumentation";
+$a->strings["Apps"] = "Apps";
+$a->strings["Addon applications, utilities, games"] = "Addon Programme, Helferlein, Spiele";
+$a->strings["Search"] = "Suche";
+$a->strings["Search site content"] = "Durchsuche Seiten-Inhalt";
+$a->strings["Directory"] = "Verzeichnis";
+$a->strings["Channel Locator"] = "Kanal-Anzeiger";
+$a->strings["Matrix"] = "Matrix";
+$a->strings["Your matrix"] = "Deine Matrix";
+$a->strings["Mark all matrix notifications seen"] = "Markiere alle Matrix-Benachrichtigungen als angesehen";
+$a->strings["Channel Home"] = "Mein Kanal";
+$a->strings["Channel home"] = "Mein Kanal";
+$a->strings["Mark all channel notifications seen"] = "Markiere alle Kanal-Benachrichtigungen als angesehen";
+$a->strings["Intros"] = "Vorstellungen";
+$a->strings["New Connections"] = "Neue Verbindungen";
+$a->strings["Notices"] = "Benachrichtigungen";
+$a->strings["Notifications"] = "Benachrichtigungen";
+$a->strings["See all notifications"] = "Alle Benachrichtigungen ansehen";
+$a->strings["Mark all system notifications seen"] = "Markiere alle System-Benachrichtigungen als gesehen";
+$a->strings["Mail"] = "Mail";
+$a->strings["Private mail"] = "Persönliche Mail";
+$a->strings["See all private messages"] = "Alle persönlichen Nachrichten ansehen";
+$a->strings["Mark all private messages seen"] = "Markiere alle persönlichen Nachrichten als gesehen";
+$a->strings["Inbox"] = "Eingang";
+$a->strings["Outbox"] = "Ausgang";
+$a->strings["New Message"] = "Neue Nachricht";
+$a->strings["Events"] = "Veranstaltungen";
+$a->strings["Event Calendar"] = "Veranstaltungskalender";
+$a->strings["See all events"] = "Alle Ereignisse ansehen";
+$a->strings["Mark all events seen"] = "Markiere alle Ereignisse als gesehen";
+$a->strings["Channel Select"] = "Kanal-Auswahl";
+$a->strings["Manage Your Channels"] = "Verwalte Deine Kanäle";
+$a->strings["Settings"] = "Einstellungen";
+$a->strings["Account/Channel Settings"] = "Konto-/Kanal-Einstellungen";
+$a->strings["Connections"] = "Verbindungen";
+$a->strings["Manage/Edit Friends and Connections"] = "Verwalte/Bearbeite Freunde und Verbindungen";
+$a->strings["Admin"] = "Admin";
+$a->strings["Site Setup and Configuration"] = "Seiten-Einrichtung und -Konfiguration";
+$a->strings["Nothing new here"] = "Nichts Neues hier";
+$a->strings["Please wait..."] = "Bitte warten...";
$a->strings["Connect"] = "Verbinden";
$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["Poke"] = "Anstupsen";
-$a->strings["View Status"] = "Status ansehen";
-$a->strings["View Profile"] = "Profil ansehen";
-$a->strings["View Photos"] = "Fotos ansehen";
-$a->strings["Network Posts"] = "Netzwerkbeiträge";
-$a->strings["Edit Contact"] = "Kontakt bearbeiten";
-$a->strings["Send PM"] = "Sende PN";
$a->strings["Unknown | Not categorised"] = "Unbekannt | Nicht kategorisiert";
$a->strings["Block immediately"] = "Sofort blockieren";
$a->strings["Shady, spammer, self-marketer"] = "Zwielichtig, Spammer, Selbstdarsteller";
@@ -144,128 +114,11 @@ $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["Cannot locate DNS info for database server '%s'"] = "Kann die DNS Information für den Datenbank Server '%s' nicht finden";
+$a->strings["Cannot locate DNS info for database server '%s'"] = "Kann die DNS-Info für den Datenbank-Server '%s' nicht finden";
$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["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.";
-$a->strings["Multiple Profiles"] = "Mehrfachprofile";
-$a->strings["Ability to create multiple profiles"] = "Mehrfachprofile anlegen können";
-$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["Enhanced Photo Albums"] = "Erweitertes Fotoalbum";
-$a->strings["Enable photo album with enhanced features"] = "Aktiviere Fotoalbum mit erweiterten Funktionen";
-$a->strings["Extended Identity Sharing"] = "Erweitertes Teilen von Identitäten";
-$a->strings[" "] = " ";
-$a->strings["Expert Mode"] = "Expertenmodus";
-$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Aktiviere Expertenmodus, um fortgeschrittene Konfiguration zur Verfügung zu stellen";
-$a->strings["Premium Channel"] = "Premium-Kanal";
-$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Erlaubt es dir Einschränkungen für Kontakte und bestimmte Bedingungen an Kontakte zu diesem Kanal zu stellen";
-$a->strings["Post Composition Features"] = "Nachbearbeitungsfunktionen";
-$a->strings["Richtext Editor"] = "Formatierungseditor";
-$a->strings["Enable richtext editor"] = "Aktiviere Formatierungseditor";
-$a->strings["Post Preview"] = "Voransicht";
-$a->strings["Allow previewing posts and comments before publishing them"] = "Erlaube Voransicht von Beiträgen und Kommentaren vor Veröffentlichung";
-$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 encryption of content end-to-end with a shared secret key"] = "Erlaube Ende-zu-Ende Verschlüsselung von Inhalten, mit einem geteilten geheimen Schlüssel";
-$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"] = "Gesicherte Suchanfragen";
-$a->strings["Save search terms for re-use"] = "Gesicherte Suchbegriffe zur Wiederverwendung";
-$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"] = "Beziehungs-Tool";
-$a->strings["Filter stream activity by depth of relationships"] = "Filter Aktivitätenstream nach Tiefe der Beziehung";
-$a->strings["Post/Comment Tools"] = "Beitrag-/Kommentar-Tools";
-$a->strings["Edit Sent Posts"] = "Bearbeite gesendete Beiträge";
-$a->strings["Edit and correct posts and comments after sending"] = "Bearbeite und korrigiere Beiträge und Kommentare nach dem Senden";
-$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"] = "Gesicherte 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"] = "Möglichkeit für Gefällt-mir-nicht für Beiträge/Kommentare";
-$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"] = "Tag Wolke";
-$a->strings["Provide a personal tag cloud on your channel page"] = "Persönliche Schlagwort-Wolke für deine Kanal-Seite anlegen";
-$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."] = "Ein gelöschte Gruppe mit diesem Namen wurde gefunden. Existierende Zugangsregeln für Elemente <strong>könnten</strong> für diese Gruppe angewendet werden, sowie für alle zukünftigen Elemente.";
-$a->strings["Default privacy group for new contacts"] = "Standard-Privatsphärengruppe für neue Kontakte";
-$a->strings["All Channels"] = "Alle Kanäle";
-$a->strings["edit"] = "Bearbeiten";
-$a->strings["Collections"] = "Sammlungen";
-$a->strings["Edit collection"] = "Bearbeite Sammlungen";
-$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["add"] = "hinzufügen";
-$a->strings["Delete this item?"] = "Dieses Element löschen?";
-$a->strings["show fewer"] = "Zeige weniger";
-$a->strings["Password too short"] = "Kennwort zu kurz";
-$a->strings["Passwords do not match"] = "Kennwörter stimmen nicht überein";
-$a->strings["everybody"] = "alle";
-$a->strings["Secret Passphrase"] = "geheime Passwort-Phrase";
-$a->strings["Passphrase hint"] = "Hinweis zur Phrase";
-$a->strings["timeago.prefixAgo"] = "timeago.prefixAgo";
-$a->strings["timeago.suffixAgo"] = "timeago.suffixAgo";
-$a->strings["ago"] = "her";
-$a->strings["from now"] = "von jetzt";
-$a->strings["less than a minute"] = "weniger als eine Minute";
-$a->strings["about a minute"] = "ungefähr eine Minute";
-$a->strings["%d minutes"] = "%d Minuten";
-$a->strings["about an hour"] = "ungefähr eine Stunde";
-$a->strings["about %d hours"] = "ungefähr %d Stunden";
-$a->strings["a day"] = "ein Tag";
-$a->strings["%d days"] = "%d Tage";
-$a->strings["about a month"] = "ungefähr ein Monat";
-$a->strings["%d months"] = "%d Monate";
-$a->strings["about a year"] = "ungefähr ein Jahr";
-$a->strings["%d years"] = "%d Jahre";
-$a->strings["timeago.numbers"] = "timeago.numbers";
-$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.";
-$a->strings["Stored post could not be verified."] = "Gespeicherter Beitrag konnten nicht überprüft werden.";
-$a->strings["view full size"] = "In Vollbildansicht anschauen";
-$a->strings["Profile Photos"] = "Profilfotos";
-$a->strings["Profile"] = "Profil";
-$a->strings["Full Name:"] = "Voller Name:";
-$a->strings["Gender:"] = "Geschlecht:";
-$a->strings["j F, Y"] = "j F, Y";
-$a->strings["j F"] = "j F";
-$a->strings["Birthday:"] = "Geburtstag:";
-$a->strings["Age:"] = "Alter:";
-$a->strings["Status:"] = "Status:";
-$a->strings["for %1\$d %2\$s"] = "für %1\$d %2\$s";
-$a->strings["Sexual Preference:"] = "Sexuelle Orientierung:";
-$a->strings["Homepage:"] = "Homepage:";
-$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-mir:";
-$a->strings["Dislikes:"] = "Gefällt-mir-nicht:";
-$a->strings["Contact information and Social Networks:"] = "Kontaktinformation und soziale Netzwerke:";
-$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["prev"] = "vorherige";
$a->strings["first"] = "erste";
$a->strings["last"] = "letzte";
@@ -278,7 +131,6 @@ $a->strings["%d Connection"] = array(
1 => "%d Verbindungen",
);
$a->strings["View Connections"] = "Zeige Verbindungen";
-$a->strings["Search"] = "Suche";
$a->strings["Save"] = "Speichern";
$a->strings["poke"] = "anstupsen";
$a->strings["poked"] = "stupste";
@@ -351,7 +203,38 @@ $a->strings["Blocks"] = "Blöcke";
$a->strings["Menus"] = "Menüs";
$a->strings["Layouts"] = "Layouts";
$a->strings["Pages"] = "Seiten";
-$a->strings["Public Timeline"] = "Öffentliche Zeitleiste";
+$a->strings["Delete this item?"] = "Dieses Element löschen?";
+$a->strings["Comment"] = "Kommentar";
+$a->strings["show more"] = "mehr zeigen";
+$a->strings["show fewer"] = "Zeige weniger";
+$a->strings["Password too short"] = "Kennwort zu kurz";
+$a->strings["Passwords do not match"] = "Kennwörter stimmen nicht überein";
+$a->strings["everybody"] = "alle";
+$a->strings["Secret Passphrase"] = "geheime Passwort-Phrase";
+$a->strings["Passphrase hint"] = "Hinweis zur Phrase";
+$a->strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+$a->strings["timeago.suffixAgo"] = "timeago.suffixAgo";
+$a->strings["ago"] = "her";
+$a->strings["from now"] = "von jetzt";
+$a->strings["less than a minute"] = "weniger als eine Minute";
+$a->strings["about a minute"] = "ungefähr eine Minute";
+$a->strings["%d minutes"] = "%d Minuten";
+$a->strings["about an hour"] = "ungefähr eine Stunde";
+$a->strings["about %d hours"] = "ungefähr %d Stunden";
+$a->strings["a day"] = "ein Tag";
+$a->strings["%d days"] = "%d Tage";
+$a->strings["about a month"] = "ungefähr ein Monat";
+$a->strings["%d months"] = "%d Monate";
+$a->strings["about a year"] = "ungefähr ein Jahr";
+$a->strings["%d years"] = "%d Jahre";
+$a->strings[" "] = " ";
+$a->strings["timeago.numbers"] = "timeago.numbers";
+$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.";
+$a->strings["Stored post could not be verified."] = "Gespeicherter Beitrag konnten nicht überprüft werden.";
+$a->strings["Profile Photos"] = "Profilfotos";
+$a->strings["view full size"] = "In Vollbildansicht anschauen";
$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";
@@ -361,13 +244,125 @@ $a->strings["Nickname has unsupported characters or is already being used on thi
$a->strings["Unable to retrieve created identity"] = "Kann die erstellte Identität nicht empfangen";
$a->strings["Default Profile"] = "Standard-Profil";
$a->strings["Friends"] = "Freunde";
+$a->strings["Requested channel is not available."] = "Angeforderte Kanal nicht verfügbar.";
+$a->strings[" Sorry, you don't have the permission to view this profile. "] = "Entschuldigung, aber du besitzt nicht die nötigen Rechte um dieses Profil ansehen zu dürfen.";
+$a->strings["Requested profile is not available."] = "Erwünschte Profil ist nicht verfügbar.";
+$a->strings["Change profile photo"] = "Ändere das Profilfoto";
+$a->strings["Profiles"] = "Profile";
+$a->strings["Manage/edit profiles"] = "Verwalte/Bearbeite Profile";
+$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["Gender:"] = "Geschlecht:";
+$a->strings["Status:"] = "Status:";
+$a->strings["Homepage:"] = "Homepage:";
+$a->strings["g A l F d"] = "l, d. F G \\\\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"] = "Veranstaltungs- Erinnerungen";
+$a->strings["Events this week:"] = "Veranstaltungen in dieser Woche:";
+$a->strings["Profile"] = "Profil";
+$a->strings["Full Name:"] = "Voller Name:";
+$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"] = "für %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-mir:";
+$a->strings["Dislikes:"] = "Gefällt-mir-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["Edit File properties"] = "Dateieigenschaften ändern";
$a->strings["Image/photo"] = "Bild/Foto";
$a->strings["Encrypted content"] = "Verschlüsselter Inhalt";
+$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["$1 wrote:"] = "$1 schrieb:";
$a->strings["Embedded content"] = "Eingebetteter Inhalt";
$a->strings["Embedding disabled"] = "Einbetten ausgeschaltet";
+$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.";
+$a->strings["Multiple Profiles"] = "Mehrfachprofile";
+$a->strings["Ability to create multiple profiles"] = "Mehrfachprofile anlegen können";
+$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"] = "Werkzeug zum Speichern von Notizen und Erinnerungen aktivieren";
+$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 Seiten der Matrix geteilt.";
+$a->strings["Expert Mode"] = "Expertenmodus";
+$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Aktiviere Expertenmodus, um fortgeschrittene Konfiguration zur Verfügung zu stellen";
+$a->strings["Premium Channel"] = "Premium-Kanal";
+$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Erlaubt es dir Einschränkungen für Kontakte und bestimmte Bedingungen an Kontakte zu diesem Kanal zu stellen";
+$a->strings["Post Composition Features"] = "Nachbearbeitungsfunktionen";
+$a->strings["Richtext Editor"] = "Formatierungseditor";
+$a->strings["Enable richtext editor"] = "Aktiviere Formatierungseditor";
+$a->strings["Post Preview"] = "Voransicht";
+$a->strings["Allow previewing posts and comments before publishing them"] = "Erlaube Voransicht von Beiträgen und Kommentaren vor Veröffentlichung";
+$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["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"] = "Gesicherte Suchanfragen";
+$a->strings["Save search terms for re-use"] = "Gesicherte Suchbegriffe zur Wiederverwendung";
+$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"] = "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"] = "Kanal-Vorschläge anzeigen";
+$a->strings["Post/Comment Tools"] = "Beitrag-/Kommentar-Tools";
+$a->strings["Edit Sent Posts"] = "Bearbeite gesendete Beiträge";
+$a->strings["Edit and correct posts and comments after sending"] = "Bearbeite und korrigiere Beiträge und Kommentare nach dem Senden";
+$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"] = "Gesicherte 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"] = "Möglichkeit für Gefällt-mir-nicht für Beiträge/Kommentare";
+$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"] = "Tag Wolke";
+$a->strings["Provide a personal tag cloud on your channel page"] = "Persönliche Schlagwort-Wolke für deine Kanal-Seite anlegen";
+$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."] = "Ein gelöschte Gruppe mit diesem Namen wurde gefunden. Existierende Zugangsregeln für Elemente <strong>könnten</strong> für diese Gruppe angewendet werden, sowie für alle zukünftigen Elemente.";
+$a->strings["Default privacy group for new contacts"] = "Standard-Privatsphärengruppe für neue Kontakte";
+$a->strings["All Channels"] = "Alle Kanäle";
+$a->strings["edit"] = "Bearbeiten";
+$a->strings["Collections"] = "Sammlungen";
+$a->strings["Edit collection"] = "Bearbeite Sammlungen";
+$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["add"] = "hinzufügen";
$a->strings["created a new post"] = "Neuer Beitrag wurde erzeugt";
$a->strings["commented on %s's post"] = "hat %s's Beitrag kommentiert";
$a->strings["Permission denied."] = "Zugang verweigert";
@@ -448,68 +443,19 @@ $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["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["Logout"] = "Abmelden";
-$a->strings["End this session"] = "Beende diese Sitzung";
-$a->strings["Home"] = "Home";
-$a->strings["Your posts and conversations"] = "Deine Beiträge und Unterhaltungen";
-$a->strings["Your profile page"] = "Deine Profilseite";
-$a->strings["Edit Profiles"] = "Profile bearbeiten";
-$a->strings["Manage/Edit Profiles"] = "Verwalte/Bearbeite Profile";
-$a->strings["Photos"] = "Fotos";
-$a->strings["Your photos"] = "Deine Bilder";
-$a->strings["Login"] = "Anmelden";
-$a->strings["Sign in"] = "Anmelden";
-$a->strings["%s - click to logout"] = "%s - Klick zum Abmelden";
-$a->strings["Click to authenticate to your home hub"] = "Klick zum Authentifizieren bei Deinem Heimat-Hub";
-$a->strings["Home Page"] = "Homepage";
-$a->strings["Register"] = "Registrieren";
-$a->strings["Create an account"] = "Erzeuge ein Konto";
-$a->strings["Help"] = "Hilfe";
-$a->strings["Help and documentation"] = "Hilfe und Dokumentation";
-$a->strings["Apps"] = "Apps";
-$a->strings["Addon applications, utilities, games"] = "Addon Programme, Helferlein, Spiele";
-$a->strings["Search site content"] = "Durchsuche Seiten-Inhalt";
-$a->strings["Directory"] = "Verzeichnis";
-$a->strings["Channel Locator"] = "Kanal-Anzeiger";
-$a->strings["Matrix"] = "Matrix";
-$a->strings["Your matrix"] = "Deine Matrix";
-$a->strings["See all matrix notifications"] = "Alle Matrix-Benachrichtigungen ansehen";
-$a->strings["Mark all matrix notifications seen"] = "Markiere alle Matrix-Benachrichtigungen als angesehen";
-$a->strings["Channel Home"] = "Mein Kanal";
-$a->strings["Channel home"] = "Mein Kanal";
-$a->strings["See all channel notifications"] = "Alle Kanal-Benachrichtigungen ansehen";
-$a->strings["Mark all channel notifications seen"] = "Markiere alle Kanal-Benachrichtigungen als angesehen";
-$a->strings["Intros"] = "Vorstellungen";
-$a->strings["New Connections"] = "Neue Verbindungen";
-$a->strings["See all channel introductions"] = "Alle Kanal-Einladungen ansehen";
-$a->strings["Notices"] = "Benachrichtigungen";
-$a->strings["Notifications"] = "Benachrichtigungen";
-$a->strings["See all notifications"] = "Alle Benachrichtigungen ansehen";
-$a->strings["Mark all system notifications seen"] = "Markiere alle System-Benachrichtigungen als gesehen";
-$a->strings["Mail"] = "Mail";
-$a->strings["Private mail"] = "Persönliche Mail";
-$a->strings["See all private messages"] = "Alle persönlichen Nachrichten ansehen";
-$a->strings["Mark all private messages seen"] = "Markiere alle persönlichen Nachrichten als gesehen";
-$a->strings["Inbox"] = "Eingang";
-$a->strings["Outbox"] = "Ausgang";
-$a->strings["New Message"] = "Neue Nachricht";
-$a->strings["Events"] = "Veranstaltungen";
-$a->strings["Event Calendar"] = "Veranstaltungskalender";
-$a->strings["See all events"] = "Alle Ereignisse ansehen";
-$a->strings["Mark all events seen"] = "Markiere alle Ereignisse als gesehen";
-$a->strings["Channel Select"] = "Kanal-Auswahl";
-$a->strings["Manage Your Channels"] = "Verwalte Deine Kanäle";
-$a->strings["Settings"] = "Einstellungen";
-$a->strings["Account/Channel Settings"] = "Konto-/Kanal-Einstellungen";
-$a->strings["Connections"] = "Verbindungen";
-$a->strings["Manage/Edit Friends and Connections"] = "Verwalte/Bearbeite Freunde und Verbindungen";
-$a->strings["Admin"] = "Admin";
-$a->strings["Site Setup and Configuration"] = "Seiten-Einrichtung und -Konfiguration";
-$a->strings["Nothing new here"] = "Nichts Neues hier";
-$a->strings["Please wait..."] = "Bitte warten...";
+$a->strings["Tags"] = "Tags";
+$a->strings["Keywords"] = "Schlüsselbegriffe";
+$a->strings["have"] = "habe";
+$a->strings["has"] = "hat";
+$a->strings["want"] = "will";
+$a->strings["wants"] = "will";
+$a->strings["like"] = "Gefällt-mir";
+$a->strings["likes"] = "Gefällt-mir";
+$a->strings["dislike"] = "Gefällt-mir-nicht";
+$a->strings["dislikes"] = "Gefällt-mir-nicht";
+$a->strings["Logged out."] = "Ausgeloggt.";
+$a->strings["Failed authentication"] = "Authentifizierung fehlgeschlagen";
+$a->strings["Login failed."] = "Login fehlgeschlagen.";
$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 nicht unter denen, die auf dieser Seite erlaubt sind";
$a->strings["Your email address is already registered at this site."] = "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert.";
@@ -523,6 +469,181 @@ $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["Sort Options"] = "Sortieroptionen";
+$a->strings["Alphabetic"] = "alphabetisch";
+$a->strings["Reverse Alphabetic"] = "Entgegengesetzt alphabetisch";
+$a->strings["Newest to Oldest"] = "Neueste zuerst";
+$a->strings["Enable Safe Search"] = "Sichere Suche einschalten";
+$a->strings["Disable Safe Search"] = "Sichere Suche ausschalten";
+$a->strings["Safe Mode"] = "Sicherer Modus";
+$a->strings["Red Matrix Notification"] = "Red Matrix Benachrichtigung";
+$a->strings["redmatrix"] = "redmatrix";
+$a->strings["Thank You,"] = "Danke.";
+$a->strings["%s Administrator"] = "%s Administrator";
+$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
+$a->strings["[Red:Notify] New mail received at %s"] = "[Red Notify] 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]a %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 ein Thema kommentiert, dem du folgst.";
+$a->strings["Please visit %s to view and/or reply to the conversation."] = "Bitte besuche %s, um die Konversation 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 Notify] %s hat dich getaggt";
+$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s hat dich auf %3\$s getaggt";
+$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 Notify] %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 angestubst";
+$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:Hinweis] %s hat Dich getaggt";
+$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s hat deinen Beitrag auf %3\$s getaggt";
+$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]deinen Beitrag[/zrl] getaggt";
+$a->strings["[Red:Notify] Introduction received"] = "[Red:Notify] Vorstellung erhalten";
+$a->strings["%1\$s, you've received an introduction from '%2\$s' at %3\$s"] = "%1\$s, du hast eine Vorstellung von „%2\$s“ auf %3\$s erhalten";
+$a->strings["%1\$s, you've received [zrl=%2\$s]an introduction[/zrl] from %3\$s."] = "%1\$s, du hast [zrl=%2\$s]eine Vorstellung[/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 introduction."] = "Bitte besuche %s um sie 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 Freundschaftsvorschlag 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 Freundschaftvorschlag[/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["Categories"] = "Kategorien";
+$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 %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["Refresh"] = "Aktualisieren";
+$a->strings["Me"] = "Ich";
+$a->strings["Best Friends"] = "Beste Freunde";
+$a->strings["Co-workers"] = "Kollegen";
+$a->strings["Former Friends"] = "ehem. Freunde";
+$a->strings["Acquaintances"] = "Bekanntschaften";
+$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 settings"] = "Funktions-Einstellungen";
+$a->strings["Display settings"] = "Anzeige-Einstellungen";
+$a->strings["Connected apps"] = "Verbundene Apps";
+$a->strings["Export channel"] = "Kanal exportieren";
+$a->strings["Automatic Permissions (Advanced)"] = "Automatische Berechtigungen (Erweitert)";
+$a->strings["Premium Channel Settings"] = "Prämium-Kanal Einstellungen";
+$a->strings["Check Mail"] = "E-Mails abrufen";
+$a->strings["%d invitation available"] = array(
+ 0 => "%d Einladung verfügbar",
+ 1 => "%d Einladungen verfügbar",
+);
+$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["%d connection in common"] = array(
+ 0 => "%d gemeinsame Verbindung",
+ 1 => "%d gemeinsame Verbindungen",
+);
+$a->strings["New Page"] = "Neue Seite";
+$a->strings["Edit"] = "Bearbeiten";
+$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 is blocked on this site."] = "Der Kanal ist auf dieser Seite blockiert ";
+$a->strings["Channel location missing."] = "Adresse des Kanals fehlt.";
+$a->strings["Channel discovery failed. Website may be down or misconfigured."] = "Auffinden des Kanals schlug fehl. Die Webseite könnte falsch konfiguriert oder abgeschaltet sein.";
+$a->strings["Response from remote channel was not understood."] = "Antwort des entfernten Kanals war unverständlich.";
+$a->strings["Response from remote channel was incomplete."] = "Antwort des entfernten Kanals war unvollständig.";
+$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["Can view my \"public\" stream and posts"] = "Kann meinen öffentlichen Stream und Beiträge sehen";
+$a->strings["Can view my \"public\" channel profile"] = "Kann meinen öffentliches Kanal-Profil sehen";
+$a->strings["Can view my \"public\" photo albums"] = "Kann meine öffentlichen Fotoalben sehen";
+$a->strings["Can view my \"public\" address book"] = "Kann mein öffentliches Adressbuch sehen";
+$a->strings["Can view my \"public\" file storage"] = "Kann meinen öffentlichen Dateiordner sehen";
+$a->strings["Can view my \"public\" pages"] = "Kann meine öffentlichen Seiten sehen";
+$a->strings["Can send me their channel stream and posts"] = "Können mir den Stream und die Beiträge aus 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 my posts"] = "Kann meine Beiträge kommentieren";
+$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 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["Requires compatible chat plugin"] = "Benötigt ein kompatibles Chat-Plugin";
+$a->strings["Can write to my \"public\" file storage"] = "Kann in meinen öffentlichen Dateiordner schreiben";
+$a->strings["Can edit my \"public\" pages"] = "Kann meine öffentlichen Seiten bearbeiten";
+$a->strings["Can source my \"public\" posts in derived channels"] = "Kann meine \"öffentlichen\" Beiträge als Quellen von Kanälen 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 dies nur, wenn du genau weißt, was du machst";
+$a->strings["Default"] = "Standard";
+$a->strings["Permission denied"] = "Keine Berechtigung";
+$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["Private Message"] = "Private Nachricht";
+$a->strings["Delete"] = "Löschen";
+$a->strings["Select"] = "Auswählen";
+$a->strings["save to folder"] = "In Ordner speichern";
+$a->strings["add star"] = "markieren";
+$a->strings["remove star"] = "Markierung entfernen";
+$a->strings["toggle star status"] = "Stern-Status umschalten";
+$a->strings["starred"] = "markiert";
+$a->strings["Message is verified"] = "Nachricht überprüft";
+$a->strings["add tag"] = "Schlagwort hinzufügen";
+$a->strings["I like this (toggle)"] = "Ich mag das (Umschalter)";
+$a->strings["I don't like this (toggle)"] = "Ich mag das nicht (Umschalter)";
+$a->strings["Share this"] = "Teile dies";
+$a->strings["share"] = "Teilen";
+$a->strings["View %s's profile - %s"] = "Schaue dir %s's Profil an - %s";
+$a->strings["to"] = "zu";
+$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["Please wait"] = "Bitte warten";
+$a->strings["%d comment"] = array(
+ 0 => "%d Kommentar",
+ 1 => "%d Kommentare",
+);
+$a->strings["This is you"] = "Das bist du";
+$a->strings["Submit"] = "Bestätigen";
+$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["Preview"] = "Vorschau";
+$a->strings["Encrypt text"] = "Text verschlüsseln";
+$a->strings["Welcome "] = "Willkommen";
+$a->strings["Please upload a profile photo."] = "Bitte lade ein Profilfoto hoch.";
+$a->strings["Welcome back "] = "Willkommen zurück";
+$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["channel"] = "Kanal";
$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s mag %2\$s's %3\$s";
$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s mag %2\$s's %3\$s nicht";
@@ -538,16 +659,21 @@ $a->strings["Loading..."] = "Lädt ...";
$a->strings["Delete Selected Items"] = "Lösche die ausgewählten Elemente";
$a->strings["View Source"] = "Quelle anzeigen";
$a->strings["Follow Thread"] = "Unterhaltung folgen";
+$a->strings["View Status"] = "Status ansehen";
+$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(
- 0 => "",
- 1 => "<span %1\$s>%2\$d Personen</span> mögen dies.",
+ 0 => "<span %1\$s>%2\$d Person</span> gefällt das.",
+ 1 => "<span %1\$s>%2\$d Leuten</span> gefällt das.",
);
$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "",
- 1 => "<span %1\$s>%2\$d Personen</span> mögen dies nicht.",
+ 0 => "<span %1\$s>%2\$d Person</span> gefällt das nicht.",
+ 1 => "<span %1\$s>%2\$d Leuten</span> gefällt das nicht.",
);
$a->strings["and"] = "und";
$a->strings[", and %d other people"] = array(
@@ -587,90 +713,33 @@ $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";
-$a->strings["Logged out."] = "Ausgeloggt.";
-$a->strings["Failed authentication"] = "Authentifizierung fehlgeschlagen";
-$a->strings["Login failed."] = "Login fehlgeschlagen.";
-$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Du bist %1$.0f von %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["%d invitation available"] = array(
- 0 => "%d Einladung verfügbar",
- 1 => "%d Einladungen verfügbar",
-);
-$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["Everything"] = "Alles";
-$a->strings["Categories"] = "Kategorien";
-$a->strings["%d connection in common"] = array(
- 0 => "%d gemeinsame Verbindung",
- 1 => "%d gemeinsame Verbindungen",
-);
-$a->strings["New Page"] = "Neue Seite";
-$a->strings["Channel is blocked on this site."] = "Der Kanal ist auf dieser Seite blockiert ";
-$a->strings["Channel location missing."] = "Adresse des Kanals fehlt.";
-$a->strings["Channel discovery failed. Website may be down or misconfigured."] = "Auffinden des Kanals schlug fehl. Die Webseite könnte falsch konfiguriert oder abgeschaltet sein.";
-$a->strings["Response from remote channel was not understood."] = "Antwort des entfernten Kanals war unverständlich.";
-$a->strings["Response from remote channel was incomplete."] = "Antwort des entfernten Kanals war unvollständig.";
-$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["Can view my \"public\" stream and posts"] = "Kann meinen öffentlichen Stream und Beiträge sehen";
-$a->strings["Can view my \"public\" channel profile"] = "Kann meinen öffentliches Kanal-Profil sehen";
-$a->strings["Can view my \"public\" photo albums"] = "Kann meine öffentlichen Fotoalben sehen";
-$a->strings["Can view my \"public\" address book"] = "Kann mein öffentliches Adressbuch sehen";
-$a->strings["Can view my \"public\" file storage"] = "Kann meinen öffentlichen Dateiordner sehen";
-$a->strings["Can view my \"public\" pages"] = "Kann meine öffentlichen Seiten sehen";
-$a->strings["Can send me their channel stream and posts"] = "Können mir den Stream und die Beiträge aus 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 my posts"] = "Kann meine Beiträge kommentieren";
-$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 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["Requires compatible chat plugin"] = "Benötigt ein kompatibles Chat-Plugin";
-$a->strings["Can write to my \"public\" file storage"] = "Kann in meinen öffentlichen Dateiordner schreiben";
-$a->strings["Can edit my \"public\" pages"] = "Kann meine öffentlichen Seiten bearbeiten";
-$a->strings["Can source my \"public\" posts in derived channels"] = "Kann meine \"öffentlichen\" Beiträge als Quellen von Kanälen 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 dies nur, wenn du genau weißt, was du machst";
-$a->strings["Tags"] = "Tags";
-$a->strings["Keywords"] = "Schlüsselbegriffe";
-$a->strings["have"] = "habe";
-$a->strings["has"] = "hat";
-$a->strings["want"] = "will";
-$a->strings["wants"] = "will";
-$a->strings["likes"] = "Gefällt-mir";
-$a->strings["dislikes"] = "Gefällt-mir-nicht";
-$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["Default"] = "Standard";
-$a->strings["Welcome "] = "Willkommen";
-$a->strings["Please upload a profile photo."] = "Bitte lade ein Profilfoto hoch.";
-$a->strings["Welcome back "] = "Willkommen zurück";
-$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["Permission denied"] = "Keine Berechtigung";
-$a->strings["Item not found."] = "Element nicht gefunden.";
-$a->strings["Archives"] = "Archive";
-$a->strings["Collection not found."] = "Sammlung nicht gefunden";
-$a->strings["Group is empty"] = "Gruppe ist leer";
-$a->strings["Connection not found."] = "Die Verbindung wurde nicht gefunden.";
-$a->strings["Sort Options"] = "Sortieroptionen";
-$a->strings["Alphabetic"] = "alphabetisch";
-$a->strings["Reverse Alphabetic"] = "Entgegengesetzt alphabetisch";
-$a->strings["Newest to Oldest"] = "Neueste zuerst";
-$a->strings["Enable Safe Search"] = "Sichere Suche einschalten";
-$a->strings["Disable Safe Search"] = "Sichere Suche ausschalten";
-$a->strings["Safe Mode"] = "Sicherer Modus";
-$a->strings["No channel."] = "Kein Channel.";
+$a->strings["OK"] = "OK";
+$a->strings["Cancel"] = "Abbrechen";
+$a->strings["Commented Order"] = "Neueste Kommentare";
+$a->strings["Sort by Comment Date"] = "Nach Kommentardatum sortiert";
+$a->strings["Posted Order"] = "Neueste Beiträge";
+$a->strings["Sort by Post Date"] = "Nach Beitragsdatum sortiert";
+$a->strings["Personal"] = "Persönlich";
+$a->strings["Posts that mention or involve you"] = "Beiträge mit Beteiligung deinerseits";
+$a->strings["New"] = "Neu";
+$a->strings["Activity Stream - by date"] = "Activity Stream - nach Datum sortiert";
+$a->strings["Starred"] = "Markiert";
+$a->strings["Favourite Posts"] = "Beiträge mit Sternchen";
+$a->strings["Spam"] = "Spam";
+$a->strings["Posts flagged as SPAM"] = "Nachrichten die als SPAM markiert wurden";
+$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["Files"] = "Dateien";
+$a->strings["Files and Storage"] = "Dateien und Speicher";
+$a->strings["Events and Calendar"] = "Veranstaltungen und Kalender";
+$a->strings["Webpages"] = "Webseiten";
+$a->strings["Manage Webpages"] = "Webseiten verwalten";
+$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["No channel."] = "Kein Kanal.";
$a->strings["Common connections"] = "Gemeinsame Verbindungen";
$a->strings["No connections in common."] = "Keine gemeinsamen Verbindungen.";
$a->strings["Event title and start time are required."] = "Veranstaltungs- Titel und Startzeit sind erforderlich.";
@@ -690,19 +759,22 @@ $a->strings["Adjust for viewer timezone"] = "An die Zeitzone des Betrachters anp
$a->strings["Description:"] = "Beschreibung:";
$a->strings["Title:"] = "Titel:";
$a->strings["Share this event"] = "Die Veranstaltung teilen";
+$a->strings["Thing updated"] = "Ding aktualisiert";
$a->strings["Object store: failed"] = "Speichern des Objekts fehlgeschlagen";
-$a->strings["thing/stuff added"] = "Ding/Zeugs hinzugefügt";
+$a->strings["Thing added"] = "Ding hinzugefügt";
$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-$a->strings["not yet implemented."] = "noch nicht eingebaut.";
-$a->strings["Add Stuff to your Profile"] = "Füge Sachen zu deinem Profil hinzu";
+$a->strings["Show Thing"] = "Ding anzeigen";
+$a->strings["item not found."] = "Eintrag nicht gefunden";
+$a->strings["Edit Thing"] = "Ding bearbeiten";
$a->strings["Select a profile"] = "Wähle ein Profil";
$a->strings["Select a category of stuff. e.g. I ______ something"] = "Wähle eine Kategorie für das Zeugs, z.B. Ich ______ etwas";
-$a->strings["Name of thing or stuff e.g. something"] = "Name des Dings/Zeugs, z.B. etwas";
-$a->strings["URL of thing or stuff (optional)"] = "URL des Dings oder Zeugs (optional)";
-$a->strings["URL for photo of thing or stuff (optional)"] = "URL eines Fotos von dem Ding oder Zeugs (optional)";
+$a->strings["Name of thing e.g. something"] = "Name des Dings, z.B. Etwas";
+$a->strings["URL of thing (optional)"] = "URL des Dings (optional)";
+$a->strings["URL for photo of thing (optional)"] = "URL eines Fotos von dem Ding (optional)";
+$a->strings["Add Thing to your Profile"] = "Das Ding deinem Profil hinzufügen";
$a->strings["Total invitation limit exceeded."] = "Limit der maximalen Einladungen überschritten.";
$a->strings["%s : Not a valid email address."] = "%s : Keine gültige Email Adresse.";
-$a->strings["Please join us on Red"] = "Bitte schließe Dich uns an und werde Teil der Red Matrix";
+$a->strings["Please join us on Red"] = "Schließe Dich uns an und werde Teil der Red-Matrix";
$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Einladungslimit überschritten. Bitte kontaktiere den Administrator deiner Seite.";
$a->strings["%s : Message delivery failed."] = "%s : Nachricht konnte nicht zugestellt werden.";
$a->strings["%d message sent."] = array(
@@ -719,17 +791,90 @@ $a->strings["Please visit my channel at"] = "Bitte besuche meinen Kanal auf";
$a->strings["Once you have registered (on ANY Red Matrix site - they are all inter-connected), please connect with my Red Matrix channel address:"] = "Wenn du dich registriert hast (egal auf welcher Seite in der Red Matrix, sie sind alle miteinander verbunden) verbinde dich bitte mit meinem Kanal in der Matrix. Adresse:";
$a->strings["Click the [Register] link on the following page to join."] = "Klicke den [Registrieren]-Link auf der nächsten Seite, um dich anzumelden.";
$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"] = "Für weitere Informationen über das Red Matrix Projekt und warum es das Potential hat das Internet wie wir es kennen grundlegend zu verändern schau dir bitte http://getzot.com an";
-$a->strings["Friends of %s"] = "Freunde von %s";
-$a->strings["No friends to display."] = "Keine Freunde zum Anzeigen.";
-$a->strings["Requested profile is not available."] = "Erwünschte Profil ist nicht verfügbar.";
+$a->strings["Red Matrix - Guests: Username: {your email address}, Password: +++"] = "Red Matrix Gäste: Nutzername: {deine Email Adresse}; Passwort: +++";
+$a->strings["Could not access contact record."] = "Konnte auf den Kontakteintrag nicht zugreifen.";
+$a->strings["Could not locate selected profile."] = "Konnte das gewählte Profil nicht finden.";
+$a->strings["Connection updated."] = "Verbindung aktualisiert.";
+$a->strings["Failed to update connection record."] = "Konnte den Verbindungseintrag nicht aktualisieren.";
+$a->strings["Could not access address book record."] = "Konnte nicht auf den Eintrag im Adressbuch 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["Contact has been removed."] = "Kontakt wurde entfernt.";
+$a->strings["View %s's profile"] = "%s's Profil ansehen";
+$a->strings["Refresh Permissions"] = "Zugriffsrechte auffrischen";
+$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 this connection"] = "Verbindung blockieren oder frei geben";
+$a->strings["Unignore"] = "Nicht ignorieren";
+$a->strings["Ignore"] = "Ignorieren";
+$a->strings["Ignore or Unignore this connection"] = "Verbindung ignorieren oder wieder beachten";
+$a->strings["Unarchive"] = "Aus Archiv zurückholen";
+$a->strings["Archive"] = "Archivieren";
+$a->strings["Archive or Unarchive this connection"] = "Archiviere diese Verbindung oder hole sie aus dem Archiv zurück";
+$a->strings["Unhide"] = "aufdecken";
+$a->strings["Hide"] = "Verbergen";
+$a->strings["Hide or Unhide this connection"] = "Diese Verbindung verstecken oder aufdecken";
+$a->strings["Delete this connection"] = "Verbindung löschen";
+$a->strings["Unknown"] = "Unbekannt";
+$a->strings["Approve this connection"] = "Verbindung genehmigen";
+$a->strings["Accept connection to allow communication"] = "Aktzeptiere die Verbindung um Kommunikation zu ermöglichen";
+$a->strings["Automatic Permissions Settings"] = "Automatische Berechtigungs-Einstellungen";
+$a->strings["Connections: settings for %s"] = "Verbindungseinstellungen für %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."] = "Wenn eine Kanal-Vorstellung empfangen wird, werden die hier getroffenen Einstellungen automatisch angewandt und der Anfrage wird stattgegeben. Verlasse diese Seite, wenn du dieses Feature nicht verwanden möchtest.";
+$a->strings["Slide to adjust your degree of friendship"] = "Schieben um den Grad der Freundschaft zu wählen";
+$a->strings["inherited"] = "Geerbt";
+$a->strings["Connection has no individual permissions!"] = "Diese Verbindung hat keine individuellen Zugriffseinstellungen.";
+$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ären Einstellungen</a> könnte dies angebracht sein, eventuell solltest du aber die \"Erweiterte Zugriffsrechte\" ü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 editieren";
+$a->strings["Their Settings"] = "Deren Einstellungen";
+$a->strings["My Settings"] = "Meine Einstellungen";
+$a->strings["Forum Members"] = "Forum Mitglieder";
+$a->strings["Soapbox"] = "Marktschreier";
+$a->strings["Full Sharing"] = "Volles Teilen";
+$a->strings["Cautious Sharing"] = "Vorsichtiges Teilen";
+$a->strings["Follow Only"] = "Nur Folgen";
+$a->strings["Individual Permissions"] = "Individuelle Zugriffseinstellungen";
+$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority. Changing those inherited settings on this page will have no effect."] = "Einige Genehmigungen können von deinen <a href=\"settings\">Sicherheits- und Datenschutz-Einstellungen</a> geerbt sein (siehe Kennzeichnung), da diese eine höhere Priorität haben. Wenn du solche Genehmigungen hier änderst, hat das keine Auswirkungen.";
+$a->strings["Advanced Permissions"] = "Erweiterte Zugriffsrechte";
+$a->strings["Quick Links"] = "Quick Links";
+$a->strings["Visit %s's profile - %s"] = "%s's Profil besuchen - %s";
+$a->strings["Block/Unblock contact"] = "Geblockt Status ein- / ausschalten";
+$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["Hide this contact from others"] = "Diese Verbindung vor den anderen verbergen.";
+$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Antworten/Likes auf deine öffentlichen Beiträge <strong>können</strong> immer noch sichtbar sein";
$a->strings["View"] = "Ansicht";
$a->strings["Authorize application connection"] = "Zugriff der Anwendung authorizieren";
$a->strings["Return to your app and insert this Securty Code:"] = "Trage folgenden Sicherheitscode bei der Anwendung ein:";
$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 der Anwendung erlauben deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für dich zu erstellen?";
+$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 der 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["You must be logged in to see this page."] = "Du musst angemeldet sein um diese Seite betrachten zu können.";
$a->strings["No installed applications."] = "Keine installierten Applikationen";
$a->strings["Applications"] = "Anwendungen";
$a->strings["Invalid item."] = "Ungültiges Element.";
@@ -799,6 +944,8 @@ $a->strings["In order to store these compiled templates, the web server needs to
$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 Webserver läuft (z.B. www-data) Zugriff zum Schreiben auf dieses Verzeichnis hat.";
$a->strings["Note: as a security measure, you should give the web server write access to view/tpl/smarty3/ only--not the template files (.tpl) that it contains."] = "Hinweis: Als Sicherheitsvorkehrung solltest du dem Webserver nur Schreib-Zugriff auf das Verzeichnis view/tpl/smarty3 geben, nicht dem Vorlagen (.tpl) die in diesem Verzeichnis liegen.";
$a->strings["view/tpl/smarty3 is writable"] = "view/tpl/smarty3 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 store Verzeichnis um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Red Stammverzeichnis.";
+$a->strings["store is writable"] = "store ist schreibbar";
$a->strings["SSL certificate validation"] = "SSL Zertifikatverifizierung";
$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 schalte HTTPS ab um auf diese Seite zuzugreifen.";
$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "URL rewrite funktioniert in der .htaccess nicht. Überprüfe deine Server-Konfiguration.";
@@ -812,118 +959,6 @@ $a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s folgt nun %2\$s's %3\$s
$a->strings["[Embedded content - reload page to view]"] = "[Eingebetteter Inhalte - bitte lade die Seite zur Anzeige neu]";
$a->strings["toggle full screen mode"] = "auf Vollbildmodus umschalten";
$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s hat %2\$s's %3\$s mit %4\$s getaggt";
-$a->strings["Account settings"] = "Konto-Einstellungen";
-$a->strings["Channel settings"] = "Kanal-Einstellungen";
-$a->strings["Additional features"] = "Zusätzliche Funktionen";
-$a->strings["Feature settings"] = "Funktions-Einstellungen";
-$a->strings["Display settings"] = "Anzeige-Einstellungen";
-$a->strings["Connected apps"] = "Verbundene Apps";
-$a->strings["Export channel"] = "Kanal exportieren";
-$a->strings["Automatic Permissions (Advanced)"] = "Automatische Berechtigungen (Erweitert)";
-$a->strings["Premium Channel Settings"] = "Prämium-Kanal Einstellungen";
-$a->strings["Name is required"] = "Name wird benötigt";
-$a->strings["Key and Secret are required"] = "Schlüssel und Geheimnis werden benötigt";
-$a->strings["Update"] = "Update";
-$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["Cancel"] = "Abbrechen";
-$a->strings["Name"] = "Name";
-$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 dies frei außer deine Anwendung erfordert dies explizit";
-$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["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["Warning: This action is permanent and cannot be reversed."] = "Achtung: Diese Aktion ist permanent und kann nicht rückgänging 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["Display Settings"] = "Anzeige-Einstellungen";
-$a->strings["Display Theme:"] = "Anzeige Theme:";
-$a->strings["Mobile Theme:"] = "Mobile Theme:";
-$a->strings["Update browser every xx seconds"] = "Browser alle xx Sekunden aktualisieren";
-$a->strings["Minimum of 10 seconds, no maximum"] = "Minimum von 10 Sekunden, kein Maximum";
-$a->strings["Maximum number of conversations to load at any time:"] = "Maximale Anzahl von Unterhaltungen die gleichzeitig geladen werden sollen:";
-$a->strings["Maximum of 100 items"] = "Maximum von 100 Beiträgen";
-$a->strings["Don't show emoticons"] = "Emoticons nicht zeigen";
-$a->strings["Nobody except yourself"] = "Niemand außer du selbst";
-$a->strings["Only those you specifically allow"] = "Nur die, denen du es explizit erlaubst";
-$a->strings["Anybody in your address book"] = "Jeder aus Ihrem Adressbuch";
-$a->strings["Anybody on this website"] = "Jeder auf dieser Website";
-$a->strings["Anybody in this network"] = "Jeder in diesem Netzwerk";
-$a->strings["Anybody on the internet"] = "Jeder im Internet";
-$a->strings["Publish your default profile in the network directory"] = "Veröffentliche dein Standard-Profil im Netzwerk-Verzeichnis";
-$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["or"] = "oder";
-$a->strings["Your channel address is"] = "Deine Kanal-Adresse lautet";
-$a->strings["Automatically expire posts after this many days:"] = "Lösche Beiträge automatisch nach dieser Anzahl von Tagen:";
-$a->strings["If empty, posts will not expire. Expired posts will be deleted"] = "Falls leer werden Beiträge nie verfallen. Verfallene Beiträge werden gelöscht";
-$a->strings["Advanced expiration settings"] = "Erweitere Verfalls-Einstellungen";
-$a->strings["Advanced Expiration"] = "Erweitertes Verfallen";
-$a->strings["Expire posts:"] = "Beiträge verfallen lassen:";
-$a->strings["Expire starred posts:"] = "Markierte Beiträge verfallen lassen:";
-$a->strings["Expire photos:"] = "Fotos verfallen lassen:";
-$a->strings["Only expire posts by others:"] = "Nur Beiträge anderer verfallen lassen:";
-$a->strings["Channel Settings"] = "Channel-Einstellungen";
-$a->strings["Basic Settings"] = "Grundeinstellungen";
-$a->strings["Your Timezone:"] = "Ihre Zeitzone:";
-$a->strings["Default Post Location:"] = "Standardstandort:";
-$a->strings["Use Browser Location:"] = "Standort des Browsers verwenden:";
-$a->strings["Adult Content"] = "Nicht Jugendfreie-Inhalte";
-$a->strings["This channel publishes adult content."] = "Dieser Kanal veröffentlicht nicht Jugendfreie-Inhalte";
-$a->strings["Security and Privacy Settings"] = "Sicherheits- und Datenschutz-Einstellungen";
-$a->strings["Quick Privacy Settings:"] = "Schnelle Datenschutz-Einstellungen:";
-$a->strings["Very Public - extremely permissive"] = "Sehr offen - extrem freizügig";
-$a->strings["Typical - default public, privacy when desired"] = "Typisch - Standard öffentlich, Privatheit wenn gewünscht";
-$a->strings["Private - default private, rarely open or public"] = "Privat - Standard privat, selten offen oder öffentlich";
-$a->strings["Blocked - default blocked to/from everybody"] = "Geschlossen - Standard zu und von jedem geblockt";
-$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"] = "Beitragszugriffrechte Standardeinstellungen";
-$a->strings["(click to open/close)"] = "(zum öffnen/schließen anklicken)";
-$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"] = "einer Kontaktanfrage stattgegeben wurde";
-$a->strings["joining a forum/community"] = "ein Forum beigetreten wurde";
-$a->strings["making an <em>interesting</em> profile change"] = "eine <em>interessante</em> Änderung am Profil vorgenommen wurde";
-$a->strings["Send a notification email when:"] = "Eine Email Benachrichtigung senden wenn:";
-$a->strings["You receive an introduction"] = "Du eine Vorstellung erhältst";
-$a->strings["Your introductions are confirmed"] = "Deine Vorstellung 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 wurdest in einem Beitrag getaggt";
-$a->strings["You are poked/prodded/etc. in a post"] = "Du in einer Nachricht angestupst/geknufft/o.ä. wirst";
-$a->strings["Advanced Account/Page Type Settings"] = "Erweiterte Account / Seiten Arten Einstellungen";
-$a->strings["Change the behaviour of this account for special situations"] = "Ändere das Verhalten dieses Accounts unter speziellen Umständen";
$a->strings["Public access denied."] = "Öffentlicher Zugang verweigert.";
$a->strings["No connections."] = "Keine Verbindungen.";
$a->strings["Visit %s's profile [%s]"] = "Besuche %s's Profil [%s]";
@@ -949,6 +984,7 @@ $a->strings["Existing Page Delegates"] = "Vorhandene Bevollmächtigte für die S
$a->strings["Potential Delegates"] = "Potentielle Bevollmächtigte";
$a->strings["Add"] = "Hinzufügen";
$a->strings["No entries."] = "Keine Einträge.";
+$a->strings["Failed to create source. No channel selected."] = "Konnte die Quelle nicht anlegen. Kein Kanal ausgewählt.";
$a->strings["Source created."] = "Quelle erstellt.";
$a->strings["Source updated."] = "Quelle aktualisiert.";
$a->strings["Manage remote sources of content for your channel."] = "Entfernte Quellen von Inhalten deines Kanals verwalten.";
@@ -956,7 +992,7 @@ $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."] = "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 ausschließlich 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"] = "Channel-Name";
+$a->strings["Channel Name"] = "Name des Kanals";
$a->strings["Source not found."] = "Quelle nicht gefunden.";
$a->strings["Edit Source"] = "Quelle bearbeiten";
$a->strings["Delete Source"] = "Quelle löschen";
@@ -980,6 +1016,7 @@ $a->strings["Pending registrations"] = "Ausstehende Registrierungen";
$a->strings["Version"] = "Version";
$a->strings["Active plugins"] = "Aktive Plug-Ins";
$a->strings["Site settings updated."] = "Site-Einstellungen aktualisiert.";
+$a->strings["No special theme for mobile devices"] = "Keine spezielle Theme für mobile Geräte";
$a->strings["No special theme for accessibility"] = "Kein spezielles Accessibility Theme vorhanden";
$a->strings["Closed"] = "Geschlossen";
$a->strings["Requires approval"] = "Genehmigung erforderlich";
@@ -1019,6 +1056,8 @@ $a->strings["Block public"] = "Öffentlichen Zugriff blockieren";
$a->strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Klicken, um öffentlichen Zugriff auf sonst öffentliche Profile zu blockieren, wenn man nicht eingeloggt ist.";
$a->strings["Force publish"] = "Veröffentlichung erzwingen";
$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Klicken, um Anzeige aller Profile dieses Servers im Verzeichnis zu erzwingen.";
+$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)."] = "Wählen 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";
@@ -1061,8 +1100,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";
@@ -1102,6 +1139,8 @@ $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"] = "Menü-Element Zugriffsrechte";
+$a->strings["(click to open/close)"] = "(zum öffnen/schließen anklicken)";
$a->strings["Link text"] = "Link Text";
$a->strings["URL of link"] = "URL des Links";
$a->strings["Use Red magic-auth if available"] = "Verwende Red Magic-Auth wenn verfügbar";
@@ -1116,7 +1155,7 @@ $a->strings["Edit Menu Element"] = "Bearbeite Menü-Bestandteil";
$a->strings["Modify"] = "Ändern";
$a->strings["Collection created."] = "Sammlung erstellt.";
$a->strings["Could not create collection."] = "Sammlung kann nicht erstellt werden.";
-$a->strings["Collection name changed."] = "Name der Sammlung geändert.";
+$a->strings["Collection updated."] = "Sammlung aktualisiert.";
$a->strings["Create a collection of channels."] = "Erstelle eine Sammlung von Kanälen.";
$a->strings["Collection Name: "] = "Name der Sammlung:";
$a->strings["Members are visible to other channels"] = "Mitglieder sind sichtbar für andere Kanäle";
@@ -1124,15 +1163,12 @@ $a->strings["Collection removed."] = "Sammlung gelöscht.";
$a->strings["Unable to remove collection."] = "Löschen der Sammlung nicht möglich.";
$a->strings["Collection Editor"] = "Sammlung-Editor";
$a->strings["Members"] = "Mitglieder";
-$a->strings["All Connected Channels"] = "Alle verbundene Channels";
+$a->strings["All Connected Channels"] = "Alle verbundenen Kanäle";
$a->strings["Click on a channel to add or remove."] = "Wähle einen Kanal zum hinzufügen oder entfernen aus.";
-$a->strings["Remove term"] = "Eintrag löschen";
$a->strings["Page owner information could not be retrieved."] = "Informationen über den Betreiber 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["%1\$s was tagged in %2\$s by %3\$s"] = "%1\$s wurde auf %2\$s von %3\$s getaggt";
-$a->strings["a photo"] = "Foto";
$a->strings["No photos selected"] = "Keine Fotos ausgewählt";
$a->strings["Access to this item is restricted."] = "Zugriff auf dieses Foto wurde eingeschränkt.";
$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Du benutzt %1$.2f MBytes deines %2$.2f MBytes großen Bilder-Speichers.";
@@ -1160,11 +1196,6 @@ $a->strings["Add a Tag"] = "Schlagwort hinzufügen";
$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Beispiel: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping";
$a->strings["View Album"] = "Album ansehen";
$a->strings["Recent Photos"] = "Neueste Fotos";
-$a->strings["sent you a private message"] = "eine private Nachricht schicken";
-$a->strings["added your channel"] = "hat deinen Kanal hinzugefügt";
-$a->strings["g A l F d"] = "l, d. F G \\\\U\\\\h\\\\r";
-$a->strings["[today]"] = "[Heute]";
-$a->strings["posted an event"] = "hat eine Veranstaltung veröffentlicht";
$a->strings["- select -"] = "-auswählen-";
$a->strings["Menu updated."] = "Menü aktualisiert.";
$a->strings["Unable to update menu."] = "Kann Menü nicht aktualisieren.";
@@ -1172,7 +1203,6 @@ $a->strings["Menu created."] = "Menü erstellt.";
$a->strings["Unable to create menu."] = "Kann Menü nicht erstellen.";
$a->strings["Manage Menus"] = "Menüs verwalten";
$a->strings["Drop"] = "Löschen";
-$a->strings["New"] = "Neu";
$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";
@@ -1187,146 +1217,17 @@ $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["Welcome to %s"] = "Willkommen auf %s";
-$a->strings["Check Mail"] = "E-Mails abrufen";
-$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.";
-$a->strings["Selected channel has private message restrictions. Send failed."] = "Der ausgewählte Kanal hat Einschränkungen bzgl. privater Nachrichten. Senden fehlgeschlagen.";
-$a->strings["Messages"] = "Nachrichten";
-$a->strings["Message deleted."] = "Nachricht gelöscht.";
-$a->strings["Conversation removed."] = "Unterhaltung gelöscht.";
-$a->strings["Message recalled."] = "Nachricht widerrufen.";
-$a->strings["Send Private Message"] = "Private Nachricht senden";
-$a->strings["To:"] = "An:";
-$a->strings["Subject:"] = "Betreff:";
-$a->strings["No messages."] = "Keine Nachrichten.";
-$a->strings["Delete message"] = "Nachricht löschen";
-$a->strings["D, d M Y - g:i A"] = "D, d. M Y - g:i A";
-$a->strings["Message not found."] = "Nachricht nicht gefunden.";
-$a->strings["Recall message"] = "Widerrufe die Nachricht";
-$a->strings["Message has been recalled."] = "Die Nachricht wurde widerrufen.";
-$a->strings["Private Conversation"] = "Private Unterhaltung";
-$a->strings["Delete conversation"] = "Unterhaltung löschen";
-$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Keine sichere Kommunikation verfügbar. <strong>Eventuell</strong> kannst du von der Profilseite des Absenders antworten.";
-$a->strings["Send Reply"] = "Antwort senden";
-$a->strings["No profile"] = "Kein Profil";
-$a->strings["Layout Help"] = "Layout Hilfe";
-$a->strings["Help with this feature"] = "Hilfe zu diesem Feature";
-$a->strings["Layout Name"] = "Layout Name";
-$a->strings["Help:"] = "Hilfe:";
-$a->strings["Not Found"] = "Nicht gefunden";
-$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["Commented Order"] = "Neueste Kommentare";
-$a->strings["Sort by Comment Date"] = "Nach Kommentardatum sortiert";
-$a->strings["Posted Order"] = "Neueste Beiträge";
-$a->strings["Sort by Post Date"] = "Nach Beitragsdatum sortiert";
-$a->strings["Personal"] = "Persönlich";
-$a->strings["Posts that mention or involve you"] = "Beiträge, in denen es um dich geht";
-$a->strings["Activity Stream - by date"] = "Activity Stream - nach Datum sortiert";
-$a->strings["Starred"] = "Markiert";
-$a->strings["Favourite Posts"] = "Beiträge mit Sternchen";
-$a->strings["Spam"] = "Spam";
-$a->strings["Posts flagged as SPAM"] = "Nachrichten die als SPAM markiert wurden";
-$a->strings["Refresh"] = "Aktualisieren";
-$a->strings["Me"] = "Ich";
-$a->strings["Best Friends"] = "Beste Freunde";
-$a->strings["Co-workers"] = "Kollegen";
-$a->strings["Former Friends"] = "ehem. Freunde";
-$a->strings["Acquaintances"] = "Bekanntschaften";
-$a->strings["Everybody"] = "Jeder";
-$a->strings["Search Results For:"] = "Suchergebnisse für:";
-$a->strings["No such group"] = "Gruppe existiert nicht";
-$a->strings["Connection: "] = "Verbindung:";
-$a->strings["Invalid connection."] = "Ungültige Verbindung.";
-$a->strings["Ignore"] = "Ignorieren";
-$a->strings["Connection updated."] = "Verbindung aktualisiert.";
-$a->strings["Connection update failed."] = "Aktualisierung der Verbindung fehlgeschlagen.";
-$a->strings["Introductions and Connection Requests"] = "Vorstellungen und Kontaktanfragen";
-$a->strings["No pending introductions."] = "Keine wartenden Vorstellungen.";
-$a->strings["System error. Please try again later."] = "Systemfehler. Bitte später erneut versuchen.";
-$a->strings["Hide this contact from others"] = "Diese Verbindung vor den anderen verbergen.";
-$a->strings["Post a new friend activity"] = "Neue-Kontakt Nachricht senden";
-$a->strings["if applicable"] = "falls anwendbar";
-$a->strings["Discard"] = "Verwerfen";
-$a->strings["Could not access contact record."] = "Konnte auf den Kontakteintrag nicht zugreifen.";
-$a->strings["Could not locate selected profile."] = "Konnte das gewählte Profil nicht finden.";
-$a->strings["Failed to update connection record."] = "Konnte den Verbindungseintrag nicht aktualisieren.";
-$a->strings["Could not access address book record."] = "Konnte nicht auf den Eintrag im Adressbuch 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["Contact has been removed."] = "Kontakt wurde entfernt.";
-$a->strings["View %s's profile"] = "%s's Profil ansehen";
-$a->strings["Refresh Permissions"] = "Zugriffsrechte auffrischen";
-$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 this connection"] = "Verbindung blockieren oder frei geben";
-$a->strings["Unignore"] = "Nicht ignorieren";
-$a->strings["Ignore or Unignore this connection"] = "Verbindung ignorieren oder wieder beachten";
-$a->strings["Unarchive"] = "Aus Archiv zurückholen";
-$a->strings["Archive"] = "Archivieren";
-$a->strings["Archive or Unarchive this connection"] = "Archiviere diese Verbindung oder hole sie aus dem Archiv zurück";
-$a->strings["Unhide"] = "aufdecken";
-$a->strings["Hide"] = "Verbergen";
-$a->strings["Hide or Unhide this connection"] = "Diese Verbindung verstecken oder aufdecken";
-$a->strings["Delete this connection"] = "Verbindung löschen";
-$a->strings["Unknown"] = "Unbekannt";
-$a->strings["Approve this connection"] = "Verbindung genehmigen";
-$a->strings["Accept connection to allow communication"] = "Aktzeptiere die Verbindung um Kommunikation zu ermöglichen";
-$a->strings["Automatic Permissions Settings"] = "Automatische Berechtigungs-Einstellungen";
-$a->strings["Connections: settings for %s"] = "Verbindungseinstellungen für %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."] = "Wenn eine Kanal-Vorstellung empfangen wird, werden die hier getroffenen Einstellungen automatisch angewandt und der Anfrage wird stattgegeben. Verlasse diese Seite, wenn du dieses Feature nicht verwanden möchtest.";
-$a->strings["Slide to adjust your degree of friendship"] = "Schieben um den Grad der Freundschaft zu wählen";
-$a->strings["inherited"] = "Geerbt";
-$a->strings["Connection has no individual permissions!"] = "Diese Verbindung hat keine individuellen Zugriffseinstellungen.";
-$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ären Einstellungen</a> könnte dies angebracht sein, eventuell solltest du aber die \"Erweiterte Zugriffsrechte\" ü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 editieren";
-$a->strings["Their Settings"] = "Deren Einstellungen";
-$a->strings["My Settings"] = "Meine Einstellungen";
-$a->strings["Forum Members"] = "Forum Mitglieder";
-$a->strings["Soapbox"] = "Marktschreier";
-$a->strings["Full Sharing"] = "Volles Teilen";
-$a->strings["Cautious Sharing"] = "Vorsichtiges Teilen";
-$a->strings["Follow Only"] = "Nur Folgen";
-$a->strings["Individual Permissions"] = "Individuelle Zugriffseinstellungen";
-$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority. Changing those inherited settings on this page will have no effect."] = "Einige Genehmigungen können von deinen <a href=\"settings\">Sicherheits- und Datenschutz-Einstellungen</a> geerbt sein (siehe Kennzeichnung), da diese eine höhere Priorität haben. Wenn du solche Genehmigungen hier änderst, hat das keine Auswirkungen.";
-$a->strings["Advanced Permissions"] = "Erweiterte Zugriffsrechte";
-$a->strings["Quick Links"] = "Quick Links";
-$a->strings["Visit %s's profile - %s"] = "%s's Profil besuchen - %s";
-$a->strings["Block/Unblock contact"] = "Geblockt Status ein- / ausschalten";
-$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["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Antworten/Likes auf deine öffentlichen Beiträge <strong>können</strong> immer noch sichtbar sein";
+$a->strings["Age: "] = "Alter:";
+$a->strings["Gender: "] = "Geschlecht:";
+$a->strings["Finding:"] = "Ergebnisse:";
+$a->strings["next page"] = "nächste Seite";
+$a->strings["previous page"] = "vorige Seite";
+$a->strings["No entries (some entries may be hidden)."] = "Keine Einträge gefunden (einige könnten versteckt sein).";
$a->strings["Blocked"] = "Blockiert";
$a->strings["Ignored"] = "Ignoriert";
$a->strings["Hidden"] = "Versteckt";
$a->strings["Archived"] = "Archiviert";
$a->strings["All"] = "Alle";
-$a->strings["Suggestions"] = "Vorschläge";
$a->strings["Suggest new connections"] = "Neue Verbindungen vorschlagen";
$a->strings["Show pending (new) connections"] = "Zeige schwebende (neue) Verbindungen";
$a->strings["All Connections"] = "Alle Verbindungen";
@@ -1341,9 +1242,27 @@ $a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
$a->strings["Edit contact"] = "Kontakt bearbeiten";
$a->strings["Search your connections"] = "Verbindungen durchsuchen";
$a->strings["Finding: "] = "Ergebnisse:";
+$a->strings["Layout Help"] = "Layout Hilfe";
+$a->strings["Help with this feature"] = "Hilfe zu diesem Feature";
+$a->strings["Layout Name"] = "Layout Name";
+$a->strings["Help:"] = "Hilfe:";
+$a->strings["Not Found"] = "Nicht gefunden";
+$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["No such group"] = "Gruppe existiert nicht";
+$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["Channel added."] = "Kanal hinzugefügt.";
+$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Entfernte Authentifizierung blockiert. Du bist lokal auf dieser Seite angemeldet. Bitte melde dich ab und versuche es erneut.";
+$a->strings["Welcome %s. Remote authentication successful."] = "Willkommen %s. Entfernte Authentifizierung erfolgreich.";
$a->strings["This site is not a directory server"] = "Diese Website ist kein Verzeichnis-Server";
$a->strings["Remote privacy information not available."] = "Entfernte Privatsphären Einstellungen sind nicht verfügbar.";
$a->strings["Visible to:"] = "Sichtbar für:";
+$a->strings["Hub not found."] = "Server nicht gefunden.";
$a->strings["Profile not found."] = "Profil nicht gefunden.";
$a->strings["Profile deleted."] = "Profil gelöscht.";
$a->strings["Profile-"] = "Profil-";
@@ -1393,7 +1312,7 @@ $a->strings["Used in directory listings"] = "Wird in Verzeichnis Auflistungen ve
$a->strings["Tell us about yourself..."] = "Erzähl uns ein wenig von Dir...";
$a->strings["Hobbies/Interests"] = "Hobbys/Interessen";
$a->strings["Contact information and Social Networks"] = "Kontaktinformation und soziale Netzwerke";
-$a->strings["My other channels"] = "Meine anderen Channels";
+$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";
@@ -1402,23 +1321,25 @@ $a->strings["Love/romance"] = "Liebe/Romantik";
$a->strings["Work/employment"] = "Arbeit/Anstellung";
$a->strings["School/education"] = "Schule/Ausbildung";
$a->strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Dies ist Dein <strong>öffentliches</strong> Profil.<br />Es <strong>könnte</strong> für jeden im Internet sichtbar sein.";
-$a->strings["Age: "] = "Alter:";
$a->strings["Edit/Manage Profiles"] = "Bearbeite/Verwalte Profile";
-$a->strings["Change profile photo"] = "Ändere das Profilfoto";
-$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["Add a Channel"] = "Channel hinzufügen";
+$a->strings["Add profile things"] = "Profil-Dinge hinzufügen";
+$a->strings["Include desirable objects in your profile"] = "binde begehrenswerte Dinge in dein Profil ein";
+$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 verbundenen Webseiten. Ein Kanal kann genutzt werden, um Social Network-Profile, Blogs, Gesprächsgruppen und Foren, Promi-Seiten und viel mehr zu erfassen. Du kannst so viele Kanäle erstellen, wie es der Betreiber deiner Seite zulässt.";
$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Beispiele: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" ";
$a->strings["Choose a short nickname"] = "Wähle einen kurzen Spitznahmen";
$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Dein Spitzname wird verwendet, um eine einfach zu erinnernde Kanal-Adresse (ähnlich einer E-Mail Adresse) zu erzeugen, die Du mit anderen austauschen kannst.";
$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Oder <a href=\"import\">importiere einen bestehenden Kanal</a> von einem anderen Ort";
$a->strings["Permission Denied."] = "Zugriff verweigert.";
-$a->strings["Permission denied. VS."] = "Zugriff verweigert. VS.";
+$a->strings["File not found."] = "Datei nicht gefunden";
+$a->strings["Edit file permissions"] = "Dateiberechtigungen bearbeiten";
+$a->strings["Include all files and sub folders"] = "Alle Dateien und Unterverzeichnisse einbinden";
+$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/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 auf die Datei von einer Webseite aus zu verweisen";
$a->strings["Download"] = "Download";
$a->strings["Used: "] = "Verwendet:";
+$a->strings["[directory]"] = "[Verzeichnis]";
$a->strings["Limit: "] = "Limit:";
$a->strings["No valid account found."] = "Kein gültiges Konto gefunden.";
$a->strings["Password reset request issued. Check your email."] = "Zurücksetzen des Passworts veranlasst. Rufe bitte Deine E-Mails ab.";
@@ -1466,30 +1387,124 @@ $a->strings["Profile Match"] = "Profil-Ãœbereinstimmungen";
$a->strings["No keywords to match. Please add keywords to your default profile."] = "Keine Schlüsselbegriffe für den Abgleich gefunden. Bitte füge Schlüsselbegriffe zu deinem Standardprofil hinzu.";
$a->strings["is interested in:"] = "interessiert sich für:";
$a->strings["No matches"] = "Keine Ãœbereinstimmungen";
-$a->strings["Contact settings applied."] = "Kontakt Einstellungen angewandt.";
-$a->strings["Contact update failed."] = "Kontakt Update fehlgeschlagen.";
-$a->strings["Contact not found."] = "Kontakt nicht gefunden";
-$a->strings["Repair Contact Settings"] = " Kontakt-Einstellungen reparieren";
-$a->strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working."] = "<strong>Warnung: Dies ist für weit fortgeschrittene Benutzer!</strong> Wenn du falsche Informationen eingibst, könnte die Kommunikation mit diesem Kontakt abbrechen.";
-$a->strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "Bitte nutze den Zurück-Button deines Browsers <strong>jetzt</strong>, wenn du dir unsicher bist, was du tun willst.";
-$a->strings["Return to contact editor"] = "Zurück zum Kontakteditor";
-$a->strings["Account Nickname"] = "Konto Spitzname";
-$a->strings["@Tagname - overrides Name/Nickname"] = "@Tagname - überschreibt Name/Spitzname";
-$a->strings["Account URL"] = "Konto URL";
-$a->strings["Friend Request URL"] = "URL für Kontaktanfragen";
-$a->strings["Friend Confirm URL"] = "URL zum Bestätigen von Kontaktanfragen";
-$a->strings["Notification Endpoint URL"] = "URL-Endpunkt für Benachrichtigungen";
-$a->strings["Poll/Feed URL"] = "Poll/Feed URL";
-$a->strings["New photo from this URL"] = "Neues Foto von dieser URL";
$a->strings["invalid target signature"] = "Ungültige Signatur des Ziels";
-$a->strings["Channel added."] = "Kanal hinzugefügt.";
+$a->strings["Name is required"] = "Name wird benötigt";
+$a->strings["Key and Secret are required"] = "Schlüssel und Geheimnis werden benötigt";
+$a->strings["Update"] = "Update";
+$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"] = "Name";
+$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 dies frei außer deine Anwendung erfordert dies explizit";
+$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["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["Warning: This action is permanent and cannot be reversed."] = "Achtung: Diese Aktion ist permanent und kann nicht rückgänging 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["Display Settings"] = "Anzeige-Einstellungen";
+$a->strings["Display Theme:"] = "Anzeige Theme:";
+$a->strings["Mobile Theme:"] = "Mobile Theme:";
+$a->strings["Update browser every xx seconds"] = "Browser alle xx Sekunden aktualisieren";
+$a->strings["Minimum of 10 seconds, no maximum"] = "Minimum von 10 Sekunden, kein Maximum";
+$a->strings["Maximum number of conversations to load at any time:"] = "Maximale Anzahl von Unterhaltungen die gleichzeitig geladen werden sollen:";
+$a->strings["Maximum of 100 items"] = "Maximum von 100 Beiträgen";
+$a->strings["Don't show emoticons"] = "Emoticons nicht zeigen";
+$a->strings["Nobody except yourself"] = "Niemand außer du selbst";
+$a->strings["Only those you specifically allow"] = "Nur die, denen du es explizit erlaubst";
+$a->strings["Anybody in your address book"] = "Jeder aus Ihrem Adressbuch";
+$a->strings["Anybody on this website"] = "Jeder auf dieser Website";
+$a->strings["Anybody in this network"] = "Jeder in diesem Netzwerk";
+$a->strings["Anybody on the internet"] = "Jeder im Internet";
+$a->strings["Publish your default profile in the network directory"] = "Veröffentliche dein Standard-Profil im Netzwerk-Verzeichnis";
+$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["or"] = "oder";
+$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["Use Browser Location:"] = "Standort des Browsers verwenden:";
+$a->strings["Adult Content"] = "Nicht Jugendfreie-Inhalte";
+$a->strings["This channel publishes adult content."] = "Dieser Kanal veröffentlicht nicht Jugendfreie-Inhalte";
+$a->strings["Security and Privacy Settings"] = "Sicherheits- und Datenschutz-Einstellungen";
+$a->strings["Quick Privacy Settings:"] = "Schnelle Datenschutz-Einstellungen:";
+$a->strings["Very Public - extremely permissive"] = "Sehr offen - extrem freizügig";
+$a->strings["Typical - default public, privacy when desired"] = "Typisch - Standard öffentlich, Privatheit wenn gewünscht";
+$a->strings["Private - default private, rarely open or public"] = "Privat - Standard privat, selten offen oder öffentlich";
+$a->strings["Blocked - default blocked to/from everybody"] = "Geschlossen - Standard zu und von jedem geblockt";
+$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"] = "Beitragszugriffrechte Standardeinstellungen";
+$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"] = "einer Kontaktanfrage stattgegeben wurde";
+$a->strings["joining a forum/community"] = "ein Forum beigetreten wurde";
+$a->strings["making an <em>interesting</em> profile change"] = "eine <em>interessante</em> Änderung am Profil vorgenommen wurde";
+$a->strings["Send a notification email when:"] = "Eine Email Benachrichtigung senden wenn:";
+$a->strings["You receive an introduction"] = "Du eine Vorstellung erhältst";
+$a->strings["Your introductions are confirmed"] = "Deine Vorstellung 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 wurdest in einem Beitrag getaggt";
+$a->strings["You are poked/prodded/etc. in a post"] = "Du in einer Nachricht angestupst/geknufft/o.ä. wirst";
+$a->strings["Advanced Account/Page Type Settings"] = "Erweiterte Account / Seiten Arten Einstellungen";
+$a->strings["Change the behaviour of this account for special situations"] = "Ändere das Verhalten dieses Accounts unter speziellen Umständen";
+$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.";
+$a->strings["Selected channel has private message restrictions. Send failed."] = "Der ausgewählte Kanal hat Einschränkungen bzgl. privater Nachrichten. Senden fehlgeschlagen.";
+$a->strings["Messages"] = "Nachrichten";
+$a->strings["Message deleted."] = "Nachricht gelöscht.";
+$a->strings["Message recalled."] = "Nachricht widerrufen.";
+$a->strings["Send Private Message"] = "Private Nachricht senden";
+$a->strings["To:"] = "An:";
+$a->strings["Subject:"] = "Betreff:";
+$a->strings["Message not found."] = "Nachricht nicht gefunden.";
+$a->strings["Delete message"] = "Nachricht löschen";
+$a->strings["Recall message"] = "Widerrufe die Nachricht";
+$a->strings["Message has been recalled."] = "Die Nachricht wurde widerrufen.";
+$a->strings["Private Conversation"] = "Private Unterhaltung";
+$a->strings["Delete conversation"] = "Unterhaltung löschen";
+$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Keine sichere Kommunikation verfügbar. <strong>Eventuell</strong> kannst du von der Profilseite des Absenders antworten.";
+$a->strings["Send Reply"] = "Antwort senden";
$a->strings["Item not found"] = "Element nicht gefunden";
$a->strings["Edit Layout"] = "Layout bearbeiten";
+$a->strings["Delete layout?"] = "Layout 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 Layout"] = "Layout löschen";
-$a->strings["Contacts who are not members of a group"] = "Kanäle die in keiner Sammlung Mitglied sind";
$a->strings["Image uploaded but image cropping failed."] = "Bild hochgeladen, aber das zurecht schneiden 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 sollte das neue Foto nicht sofort angezeigt werden.";
@@ -1508,43 +1523,18 @@ $a->strings["Done Editing"] = "Bearbeitung fertigstellen";
$a->strings["Image uploaded successfully."] = "Bild erfolgreich hochgeladen.";
$a->strings["Image upload failed."] = "Hochladen des Bilds fehlgeschlagen.";
$a->strings["Image size reduction [%s] failed."] = "Reduzierung der Bildgröße [%s] fehlgeschlagen.";
-$a->strings["Edit Webpage"] = "Webseite bearbeiten";
-$a->strings["Delete Webpage"] = "Webseite löschen";
+$a->strings["Item is not editable"] = "Element kann nicht bearbeitet werden.";
+$a->strings["Delete item?"] = "Eintrag löschen?";
$a->strings["Invalid request identifier."] = "Ungültige Anfrage Identifikator.";
-$a->strings["System"] = "System";
-$a->strings["Introductions"] = "Vorstellungen";
-$a->strings["Show Ignored Requests"] = "Zeige ignorierte Anfragen";
-$a->strings["Hide Ignored Requests"] = "Verberge ignorierte Anfragen";
-$a->strings["Notification type: "] = "Benachrichtigungstyp:";
-$a->strings["Friend Suggestion"] = "Freundschaft Vorschläge";
-$a->strings["suggested by %s"] = "vorgeschlagen von %s";
-$a->strings["Claims to be known to you: "] = "Behauptet dich zu kennen:";
-$a->strings["yes"] = "ja";
-$a->strings["no"] = "nein";
-$a->strings["Approve as: "] = "Genehmigen als:";
-$a->strings["Friend"] = "Freund";
-$a->strings["Sharer"] = "Teilenden";
-$a->strings["Fan/Admirer"] = "Fan/Verehrer";
-$a->strings["Friend/Connect Request"] = "Kontakt-/Freundschaftsanfrage";
-$a->strings["New Follower"] = "Neuer Bewunderer";
-$a->strings["No introductions."] = "Keine wartenden Vorstellungen.";
-$a->strings["%s liked %s's post"] = "%s gefällt %s's Beitrag";
-$a->strings["%s disliked %s's post"] = "%s gefällt %s's Beitrag nicht";
-$a->strings["%s is now friends with %s"] = "%s ist nun mit %s befreundet";
-$a->strings["%s created a new post"] = "%s hat einen neuen Beitrag verfasst";
-$a->strings["%s commented on %s's post"] = "%s kommentierte %s Beitrag";
-$a->strings["No more network notifications."] = "Keine weiteren Netzwerk Benachrichtigungen.";
-$a->strings["Network Notifications"] = "Netzwerk-Benachrichtigungen";
+$a->strings["Discard"] = "Verwerfen";
$a->strings["No more system notifications."] = "Keine System-Benachrichtigungen mehr.";
$a->strings["System Notifications"] = "System-Benachrichtigungen";
-$a->strings["No more personal notifications."] = "Keine persönliche Benachrichtigungen mehr.";
-$a->strings["Personal Notifications"] = "Persönliche Benachrichtigungen";
-$a->strings["No more home notifications."] = "Keine Pinwand-Benachrichtigungen mehr.";
-$a->strings["Home Notifications"] = "Pinwand-Benachrichtigungen";
$a->strings["Block Name"] = "Block Name";
$a->strings["Unable to find your hub."] = "Konnte den Hub nicht finden.";
$a->strings["Post successful."] = "Veröffentlichung erfolgreich.";
-$a->strings["Item is not editable"] = "Element kann nicht bearbeitet werden.";
+$a->strings["Edit Webpage"] = "Webseite bearbeiten";
+$a->strings["Delete webpage?"] = "Webseite löschen?";
+$a->strings["Delete Webpage"] = "Webseite löschen";
$a->strings["Access to this profile has been restricted."] = "Der Zugang zu diesem Profil ist begrenzt.";
$a->strings["Poke/Prod"] = "Anstupsen/Kuffen";
$a->strings["poke, prod or do other things to somebody"] = "Stupse Leute an oder mache anderes mit ihnen";
@@ -1552,27 +1542,23 @@ $a->strings["Recipient"] = "Empfänger";
$a->strings["Choose what you wish to do to recipient"] = "Wähle was du mit dem/r Empfänger/in tun willst";
$a->strings["Make this post private"] = "Diesen Beitrag privat machen";
$a->strings["Wall Photos"] = "Wall Fotos";
+$a->strings["You must be logged in to see this page."] = "Du musst angemeldet sein um diese Seite betrachten zu können.";
$a->strings["Insufficient permissions. Request redirected to profile page."] = "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet.";
$a->strings["Not available."] = "Nicht verfügbar.";
$a->strings["Community"] = "Gemeinschaft";
$a->strings["No results."] = "Keine Ergebnisse.";
-$a->strings["Files"] = "Dateien";
+$a->strings["Contact not found."] = "Kontakt nicht gefunden";
$a->strings["Friend suggestion sent."] = "Freundschaftsempfehlung senden.";
$a->strings["Suggest Friends"] = "Kontakte Vorschlagen";
$a->strings["Suggest a friend for %s"] = "Schlage %s einen Kontakt vor";
$a->strings["Edit Block"] = "Block bearbeiten";
+$a->strings["Delete block?"] = "Block löschen?";
$a->strings["Delete Block"] = "Block löschen";
$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."] = "Wähle einen Kontakt zum Hinzufügen oder Löschen aus.";
$a->strings["Visible To"] = "Sichtbar für";
$a->strings["All Contacts (with secure profile access)"] = "Alle Kontakte (mit sicherem Zuging zum Profil)";
-$a->strings["Unable to locate original post."] = "Originalbeitrag kann nicht gefunden werden.";
-$a->strings["Empty post discarded."] = "Leerer 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["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";
@@ -1583,7 +1569,9 @@ $a->strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn
$a->strings["Bug reports and issues: please visit"] = "Probleme oder Fehler gefunden? Bitte besuche";
$a->strings["Suggestions, praise, donations, etc. - please email \"redmatrix\" at librelist - dot com"] = "Vorschläge, Lob, Spenden usw.: E-Mail an 'redmatrix' at librelist - dot - com";
$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Keine Vorschläge vorhanden. Wenn dies eine neue Seite ist versuche es bitte in 24 Stunden erneut.";
-$a->strings["Ignore/Hide"] = "Ignorieren/Verstecken";
+$a->strings["Conversation removed."] = "Unterhaltung gelöscht.";
+$a->strings["No messages."] = "Keine Nachrichten.";
+$a->strings["D, d M Y - g:i A"] = "D, d. M Y - g:i A";
$a->strings["Public Sites"] = "Öffentliche Seiten";
$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 Seiten erlauben dir einen Account in der Red Matrix anzulegen. Alle Seiten der Matrix sind mit einander verbunden, so dass die Mitgliedschaft auf einer Seite die Mitgliedschaft auf einer beliebigen anderen Seite der Matrix beinhaltet. Es könnte sein, dass einige dieser Seiten Abonnements benötigen oder abgestufte Service-Pläne anbieten. Auf den jeweiligen Seiten <strong>könnten</strong> nähere Details diesbezüglich stehen.";
$a->strings["Site URL"] = "URL der Seite";
@@ -1595,6 +1583,8 @@ $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 dieser Seite / diesem Hub benötigen Zustimmung durch den Administrator";
+$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrierung auf einer angeschlossenen Seite</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 dieser Seite 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";
@@ -1605,21 +1595,29 @@ $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["Please login."] = "Bitte melde dich an.";
-$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Entfernte Authentifizierung blockiert. Du bist lokal auf dieser Seite angemeldet. Bitte melde dich ab und versuche es erneut.";
-$a->strings["Welcome %s. Remote authentication successful."] = "Willkommen %s. Entfernte Authentifizierung erfolgreich.";
$a->strings["Remove This Channel"] = "Diesen Kanal löschen!";
$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 ist dieser Prozess nicht widerrufbar.";
$a->strings["Please enter your password for verification:"] = "Bitte gib zur Bestätigung dein Passwort ein:";
$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"] = "Standartmäßig wird der Kanal nur auf diesem Knoten gelöscht, seine Klone verbleiben im Netzwerk";
-$a->strings["Remove My Account"] = "Mein Konto entfernen";
-$a->strings["Gender: "] = "Geschlecht:";
-$a->strings["Finding:"] = "Ergebnisse:";
-$a->strings["next page"] = "nächste Seite";
-$a->strings["previous page"] = "vorige Seite";
-$a->strings["No entries (some entries may be hidden)."] = "Keine Einträge gefunden (einige könnten versteckt sein).";
+$a->strings["Remove Channel"] = "Kanal entfernen";
+$a->strings["Unable to locate original post."] = "Originalbeitrag kann nicht gefunden werden.";
+$a->strings["Empty post discarded."] = "Leerer 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["Mood"] = "Laune";
$a->strings["Set your current mood and tell your friends"] = "Wähle deine aktuelle Stimmung und erzähle sie deinen Freunden";
+$a->strings["sent you a private message"] = "eine private Nachricht schicken";
+$a->strings["added your channel"] = "hat deinen Kanal hinzugefügt";
+$a->strings["posted an event"] = "hat eine Veranstaltung veröffentlicht";
+$a->strings["Status: "] = "Status:";
+$a->strings["Sexual Preference: "] = "Sexuelle Vorlieben:";
+$a->strings["Homepage: "] = "Webseite:";
+$a->strings["Hometown: "] = "Wohnort:";
+$a->strings["About: "] = "Ãœber:";
+$a->strings["Keywords: "] = "Schlüsselbegriffe:";
$a->strings["Scheme Default"] = "Standard-Schema";
$a->strings["red"] = "Rot";
$a->strings["black"] = "Schwarz";
@@ -1687,22 +1685,4 @@ $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["Requested channel is not available."] = "Angeforderte Kanal nicht verfügbar.";
-$a->strings[" Sorry, you don't have the permission to view this profile. "] = "Entschuldigung, aber du besitzt nicht die nötigen Rechte um dieses Profil ansehen zu dürfen.";
-$a->strings["Profiles"] = "Profile";
-$a->strings["Manage/edit profiles"] = "Verwalte/Bearbeite Profile";
-$a->strings["Edit Profile"] = "Profile bearbeiten";
-$a->strings["F d"] = "d. F";
-$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"] = "Veranstaltungs- Erinnerungen";
-$a->strings["Events this week:"] = "Veranstaltungen in dieser Woche:";
-$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["Events and Calendar"] = "Veranstaltungen und Kalender";
-$a->strings["Webpages"] = "Webseiten";
-$a->strings["Manage Webpages"] = "Webseiten verwalten";
$a->strings["toggle mobile"] = "auf/von Mobile Ansicht wechseln";
diff --git a/js/acl.js b/view/js/acl.js
index 906b28354..84b080de2 100644
--- a/js/acl.js
+++ b/view/js/acl.js
@@ -259,8 +259,8 @@ ACL.prototype.populate = function(data){
var height = Math.ceil(data.tot / that.nw) * 42;
that.list_content.height(height);
$(data.items).each(function(){
- html = "<div class='acl-list-item {4} {5} {7}' title='{6}' id='{2}{3}'>"+that.item_tpl+"</div>";
- html = html.format( this.photo, this.name, this.type, this.xid, '', this.network, this.link, this.taggable );
+ html = "<div class='acl-list-item {4} {7} {5}' title='{6}' id='{2}{3}'>"+that.item_tpl+"</div>";
+ html = html.format( this.photo, this.name, this.type, this.xid, '', this.self, this.link, this.taggable );
if (this.uids!=undefined) that.group_uids[this.id] = this.uids;
//console.log(html);
that.list_content.append(html);
diff --git a/js/ajaxupload.js b/view/js/ajaxupload.js
index 5719f30e0..5719f30e0 100644
--- a/js/ajaxupload.js
+++ b/view/js/ajaxupload.js
diff --git a/js/fk.autocomplete.js b/view/js/autocomplete.js
index 8bac41936..763ca354d 100644
--- a/js/fk.autocomplete.js
+++ b/view/js/autocomplete.js
@@ -151,7 +151,7 @@ ACPopup.prototype.onkey = function(event){
}
function ContactAutocomplete(element,backend_url){
- this.pattern=/@([^ \n]+)$/;
+ this.pattern=/@(\!*)([^ \n]+)$/;
this.popup=null;
var that = this;
@@ -170,7 +170,7 @@ function ContactAutocomplete(element,backend_url){
if (that.popup===null){
that.popup = new ACPopup(this, backend_url);
}
- if (that.popup.ready && match[1]!==that.popup.searchText) that.popup.search(match[1]);
+ if (that.popup.ready && match[2]!==that.popup.searchText) that.popup.search(match[2]);
if (!that.popup.ready) that.popup=null;
} else {
diff --git a/js/crypto.js b/view/js/crypto.js
index a144e03ea..2e6402c62 100644
--- a/js/crypto.js
+++ b/view/js/crypto.js
@@ -43,7 +43,7 @@ function red_encrypt(alg, elem,text) {
// key and hint need to be localised
- var enc_key = prompt(aStr['passphrase']);
+ var enc_key = bin2hex(prompt(aStr['passphrase']));
// If you don't provide a key you get rot13, which doesn't need a key
// but consequently isn't secure.
@@ -59,7 +59,7 @@ function red_encrypt(alg, elem,text) {
// This is the prompt we're going to use when the receiver tries to open it.
// Maybe "Grandma's maiden name" or "our secret place" or something.
- var enc_hint = prompt(aStr['passhint']);
+ var enc_hint = bin2hex(prompt(aStr['passhint']));
enc_text = CryptoJS.AES.encrypt(text,enc_key);
@@ -72,7 +72,7 @@ function red_encrypt(alg, elem,text) {
// This is the prompt we're going to use when the receiver tries to open it.
// Maybe "Grandma's maiden name" or "our secret place" or something.
- var enc_hint = prompt(aStr['passhint']);
+ var enc_hint = bin2hex(prompt(aStr['passhint']));
enc_text = CryptoJS.Rabbit.encrypt(text,enc_key);
encrypted = enc_text.toString();
@@ -84,7 +84,7 @@ function red_encrypt(alg, elem,text) {
// This is the prompt we're going to use when the receiver tries to open it.
// Maybe "Grandma's maiden name" or "our secret place" or something.
- var enc_hint = prompt(aStr['passhint']);
+ var enc_hint = bin2hex(prompt(aStr['passhint']));
enc_text = CryptoJS.TripleDES.encrypt(text,enc_key);
encrypted = enc_text.toString();
@@ -135,7 +135,7 @@ function red_decrypt(alg,hint,text,elem) {
if(alg == 'rot13' || alg == 'triple-rot13')
dec_text = str_rot13(text);
else {
- var enc_key = prompt((hint.length) ? hint : aStr['passphrase']);
+ var enc_key = bin2hex(prompt((hint.length) ? hex2bin(hint) : aStr['passphrase']));
}
if(alg == 'aes256') {
diff --git a/js/icon_translate.js b/view/js/icon_translate.js
index 9e69e0b7d..838ff899f 100644
--- a/js/icon_translate.js
+++ b/view/js/icon_translate.js
@@ -50,4 +50,5 @@ $(document).ready(function() {
$('.icon-check').addClass('');
$('.icon-globe').addClass('');
$('.icon-circle-blank').addClass('');
+ $('.icon-circle').addClass('');
}); \ No newline at end of file
diff --git a/js/jquery-compat.js b/view/js/jquery-compat.js
index 7bf912542..7bf912542 100644
--- a/js/jquery-compat.js
+++ b/view/js/jquery-compat.js
diff --git a/js/jquery-migrate-1.1.1.js b/view/js/jquery-migrate-1.1.1.js
index e99f954e6..e99f954e6 100644
--- a/js/jquery-migrate-1.1.1.js
+++ b/view/js/jquery-migrate-1.1.1.js
diff --git a/js/jquery.htmlstream.js b/view/js/jquery.htmlstream.js
index c62c538f7..c62c538f7 100644
--- a/js/jquery.htmlstream.js
+++ b/view/js/jquery.htmlstream.js
diff --git a/js/jquery.js b/view/js/jquery.js
index 006e95310..006e95310 100644
--- a/js/jquery.js
+++ b/view/js/jquery.js
diff --git a/js/jquery.spin.js b/view/js/jquery.spin.js
index a35a27765..a35a27765 100644
--- a/js/jquery.spin.js
+++ b/view/js/jquery.spin.js
diff --git a/js/jquery.textinputs.js b/view/js/jquery.textinputs.js
index fd6d14569..fd6d14569 100644
--- a/js/jquery.textinputs.js
+++ b/view/js/jquery.textinputs.js
diff --git a/js/main.js b/view/js/main.js
index 70d11bfd3..c8e9fc9a2 100644
--- a/js/main.js
+++ b/view/js/main.js
@@ -873,6 +873,15 @@ function updateConvItems(mode,data) {
return a.join('');
}
+ function hex2bin(hex) {
+ var bytes = [], str;
+
+ for(var i=0; i< hex.length-1; i+=2)
+ bytes.push(parseInt(hex.substr(i, 2), 16));
+
+ return String.fromCharCode.apply(String, bytes);
+ }
+
function groupChangeMember(gid, cid, sec_token) {
$('body .fakelink').css('cursor', 'wait');
$.get('group/' + gid + '/' + cid + "?t=" + sec_token, function(data) {
diff --git a/view/js/mod_connections.js b/view/js/mod_connections.js
index 404010636..8a8f2fee6 100644
--- a/view/js/mod_connections.js
+++ b/view/js/mod_connections.js
@@ -21,85 +21,3 @@ $(".autocomplete-w1 .selected").keyup(function(event){
}
});
-
-function connectFullShare() {
- $('.abook-edit-me').each(function() {
- if(! $(this).is(':disabled'))
- $(this).removeAttr('checked');
- });
- $('#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');
- $('#me_id_perms_send_stream').attr('checked','checked');
- $('#me_id_perms_post_wall').attr('checked','checked');
- $('#me_id_perms_post_comments').attr('checked','checked');
- $('#me_id_perms_post_mail').attr('checked','checked');
- $('#me_id_perms_chat').attr('checked','checked');
- $('#me_id_perms_view_storage').attr('checked','checked');
- $('#me_id_perms_republish').attr('checked','checked');
-}
-
-function connectCautiousShare() {
- $('.abook-edit-me').each(function() {
- if(! $(this).is(':disabled'))
- $(this).removeAttr('checked');
- });
-
- $('#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_storage').attr('checked','checked');
- $('#me_id_perms_view_pages').attr('checked','checked');
- $('#me_id_perms_send_stream').attr('checked','checked');
- $('#me_id_perms_post_comments').attr('checked','checked');
- $('#me_id_perms_post_mail').attr('checked','checked');
-}
-
-function connectForum() {
- $('.abook-edit-me').each(function() {
- if(! $(this).is(':disabled'))
- $(this).removeAttr('checked');
- });
-
- $('#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');
- $('#me_id_perms_send_stream').attr('checked','checked');
- $('#me_id_perms_post_wall').attr('checked','checked');
- $('#me_id_perms_post_comments').attr('checked','checked');
- $('#me_id_perms_post_mail').attr('checked','checked');
- $('#me_id_perms_tag_deliver').attr('checked','checked');
- $('#me_id_perms_republish').attr('checked','checked');
-
-}
-
-function connectSoapBox() {
- $('.abook-edit-me').each(function() {
- if(! $(this).is(':disabled'))
- $(this).removeAttr('checked');
- });
-
- $('#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');
-}
-
-
-function connectFollowOnly() {
- $('.abook-edit-me').each(function() {
- if(! $(this).is(':disabled'))
- $(this).removeAttr('checked');
- });
-
- $('#me_id_perms_send_stream').attr('checked','checked');
-}
-
diff --git a/view/js/mod_connedit.js b/view/js/mod_connedit.js
new file mode 100644
index 000000000..51dbcf4bf
--- /dev/null
+++ b/view/js/mod_connedit.js
@@ -0,0 +1,82 @@
+
+function connectFullShare() {
+ $('.abook-edit-me').each(function() {
+ if(! $(this).is(':disabled'))
+ $(this).removeAttr('checked');
+ });
+ $('#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');
+ $('#me_id_perms_send_stream').attr('checked','checked');
+ $('#me_id_perms_post_wall').attr('checked','checked');
+ $('#me_id_perms_post_comments').attr('checked','checked');
+ $('#me_id_perms_post_mail').attr('checked','checked');
+ $('#me_id_perms_chat').attr('checked','checked');
+ $('#me_id_perms_view_storage').attr('checked','checked');
+ $('#me_id_perms_republish').attr('checked','checked');
+}
+
+function connectCautiousShare() {
+ $('.abook-edit-me').each(function() {
+ if(! $(this).is(':disabled'))
+ $(this).removeAttr('checked');
+ });
+
+ $('#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_storage').attr('checked','checked');
+ $('#me_id_perms_view_pages').attr('checked','checked');
+ $('#me_id_perms_send_stream').attr('checked','checked');
+ $('#me_id_perms_post_comments').attr('checked','checked');
+ $('#me_id_perms_post_mail').attr('checked','checked');
+}
+
+function connectForum() {
+ $('.abook-edit-me').each(function() {
+ if(! $(this).is(':disabled'))
+ $(this).removeAttr('checked');
+ });
+
+ $('#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');
+ $('#me_id_perms_send_stream').attr('checked','checked');
+ $('#me_id_perms_post_wall').attr('checked','checked');
+ $('#me_id_perms_post_comments').attr('checked','checked');
+ $('#me_id_perms_post_mail').attr('checked','checked');
+ $('#me_id_perms_tag_deliver').attr('checked','checked');
+ $('#me_id_perms_republish').attr('checked','checked');
+
+}
+
+function connectSoapBox() {
+ $('.abook-edit-me').each(function() {
+ if(! $(this).is(':disabled'))
+ $(this).removeAttr('checked');
+ });
+
+ $('#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');
+}
+
+
+function connectFollowOnly() {
+ $('.abook-edit-me').each(function() {
+ if(! $(this).is(':disabled'))
+ $(this).removeAttr('checked');
+ });
+
+ $('#me_id_perms_send_stream').attr('checked','checked');
+}
+
diff --git a/view/js/mod_directory.js b/view/js/mod_directory.js
new file mode 100644
index 000000000..291734b4f
--- /dev/null
+++ b/view/js/mod_directory.js
@@ -0,0 +1,8 @@
+function dirdetails(hash) {
+
+ $.get('dirprofile' + '?f=&hash=' + hash, function( data ) {
+ $.colorbox({ maxWidth: "50%", maxHeight: "75%", html: data });
+ });
+
+}
+
diff --git a/view/js/mod_mail.js b/view/js/mod_mail.js
new file mode 100644
index 000000000..82f60f46f
--- /dev/null
+++ b/view/js/mod_mail.js
@@ -0,0 +1,13 @@
+$(document).ready(function() {
+ var a;
+ a = $("#recip").autocomplete({
+ serviceUrl: baseurl + '/acl',
+ minChars: 2,
+ width: 250,
+ id: 'recip-ac',
+ onSelect: function(value,data) {
+ $("#recip-complete").val(data);
+ },
+ });
+
+});
diff --git a/view/js/mod_settings.js b/view/js/mod_settings.js
index 7f9a9e960..1c411113e 100644
--- a/view/js/mod_settings.js
+++ b/view/js/mod_settings.js
@@ -76,9 +76,9 @@ function channel_privacy_macro(n) {
$('#id_view_contacts option').eq(5).attr('selected','selected');
$('#id_view_storage option').eq(5).attr('selected','selected');
$('#id_view_pages option').eq(5).attr('selected','selected');
- $('#id_send_stream option').eq(1).attr('selected','selected');
+ $('#id_send_stream option').eq(2).attr('selected','selected');
$('#id_post_wall option').eq(1).attr('selected','selected');
- $('#id_post_comments 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');
@@ -117,4 +117,4 @@ function channel_privacy_macro(n) {
-} \ No newline at end of file
+}
diff --git a/view/js/mod_sources.js b/view/js/mod_sources.js
index fda952cae..49880b38f 100644
--- a/view/js/mod_sources.js
+++ b/view/js/mod_sources.js
@@ -6,8 +6,10 @@ $(document).ready(function() {
width: 250,
id: 'id-name-ac',
onSelect: function(value,data) {
- $("#id_xchan").val(data);
+ $("#id_abook").val(data);
}
});
+ a.setOptions({ params: { type: 'a' }});
+
});
diff --git a/js/spin.js b/view/js/spin.js
index c66c607a7..c66c607a7 100644
--- a/js/spin.js
+++ b/view/js/spin.js
diff --git a/js/webtoolkit.base64.js b/view/js/webtoolkit.base64.js
index 5fa3c1ed7..5fa3c1ed7 100644
--- a/js/webtoolkit.base64.js
+++ b/view/js/webtoolkit.base64.js
diff --git a/view/pdl/mod_blocks.pdl b/view/pdl/mod_blocks.pdl
new file mode 100644
index 000000000..cef69f194
--- /dev/null
+++ b/view/pdl/mod_blocks.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=design_tools][/widget]
+[/region] \ No newline at end of file
diff --git a/view/pdl/mod_chanview.pdl b/view/pdl/mod_chanview.pdl
new file mode 100644
index 000000000..d8f50ad7a
--- /dev/null
+++ b/view/pdl/mod_chanview.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=vcard][/widget]
+[/region]
diff --git a/view/pdl/mod_cloud.pdl b/view/pdl/mod_cloud.pdl
new file mode 100644
index 000000000..6b1d2a15e
--- /dev/null
+++ b/view/pdl/mod_cloud.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=profile][/widget]
+[/region]
diff --git a/view/pdl/mod_common.pdl b/view/pdl/mod_common.pdl
new file mode 100644
index 000000000..f12bf39c3
--- /dev/null
+++ b/view/pdl/mod_common.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=fullprofile][/widget]
+[/region]
diff --git a/view/pdl/mod_connect.pdl b/view/pdl/mod_connect.pdl
new file mode 100644
index 000000000..6b1d2a15e
--- /dev/null
+++ b/view/pdl/mod_connect.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=profile][/widget]
+[/region]
diff --git a/view/pdl/mod_connections.pdl b/view/pdl/mod_connections.pdl
new file mode 100644
index 000000000..fc86e4490
--- /dev/null
+++ b/view/pdl/mod_connections.pdl
@@ -0,0 +1,5 @@
+[region=aside]
+[widget=follow][/widget]
+[widget=suggestions][/widget]
+[widget=findpeople][/widget]
+[/region]
diff --git a/view/pdl/mod_connedit.pdl b/view/pdl/mod_connedit.pdl
new file mode 100644
index 000000000..4b468e34c
--- /dev/null
+++ b/view/pdl/mod_connedit.pdl
@@ -0,0 +1,6 @@
+[region=aside]
+[widget=vcard][/widget]
+[widget=collections][var=mode]abook[/var][/widget]
+[widget=suggestions][/widget]
+[widget=findpeople][/widget]
+[/region]
diff --git a/view/pdl/mod_directory.pdl b/view/pdl/mod_directory.pdl
new file mode 100644
index 000000000..0bc8ed936
--- /dev/null
+++ b/view/pdl/mod_directory.pdl
@@ -0,0 +1,7 @@
+[region=aside]
+[widget=findpeople][/widget]
+[widget=dirsafemode][/widget]
+[widget=dirsort][/widget]
+[widget=dirtags][/widget]
+[widget=suggestions][/widget]
+[/region]
diff --git a/view/pdl/mod_group.pdl b/view/pdl/mod_group.pdl
new file mode 100644
index 000000000..8db29cf78
--- /dev/null
+++ b/view/pdl/mod_group.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=collections][var=mode]groups[/var][/widget]
+[/region]
diff --git a/view/pdl/mod_layouts.pdl b/view/pdl/mod_layouts.pdl
new file mode 100644
index 000000000..cef69f194
--- /dev/null
+++ b/view/pdl/mod_layouts.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=design_tools][/widget]
+[/region] \ No newline at end of file
diff --git a/view/pdl/mod_mail.pdl b/view/pdl/mod_mail.pdl
new file mode 100644
index 000000000..d8f50ad7a
--- /dev/null
+++ b/view/pdl/mod_mail.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=vcard][/widget]
+[/region]
diff --git a/view/pdl/mod_menu.pdl b/view/pdl/mod_menu.pdl
new file mode 100644
index 000000000..cef69f194
--- /dev/null
+++ b/view/pdl/mod_menu.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=design_tools][/widget]
+[/region] \ No newline at end of file
diff --git a/view/pdl/mod_message.pdl b/view/pdl/mod_message.pdl
new file mode 100644
index 000000000..2efb3de79
--- /dev/null
+++ b/view/pdl/mod_message.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=mailmenu][/widget]
+[/region]
diff --git a/view/pdl/mod_mitem.pdl b/view/pdl/mod_mitem.pdl
new file mode 100644
index 000000000..c210606d0
--- /dev/null
+++ b/view/pdl/mod_mitem.pdl
@@ -0,0 +1,4 @@
+[region=aside]
+[widget=design_tools][/widget]
+[widget=menu_preview][/widget]
+[/region] \ No newline at end of file
diff --git a/view/pdl/mod_network.pdl b/view/pdl/mod_network.pdl
index 168ca6acb..7624ace01 100644
--- a/view/pdl/mod_network.pdl
+++ b/view/pdl/mod_network.pdl
@@ -1,4 +1,5 @@
[region=nav]$nav[/region]
+
[region=aside]
[widget=collections][/widget]
[widget=archive][/widget]
@@ -7,4 +8,8 @@
[widget=filer][/widget]
[widget=notes][/widget]
[/region]
-[region=section]$content[/region] \ No newline at end of file
+
+[region=content]
+[widget=affinity][/widget]
+$content
+[/region] \ No newline at end of file
diff --git a/view/pdl/mod_new_channel.pdl b/view/pdl/mod_new_channel.pdl
new file mode 100644
index 000000000..733bc248a
--- /dev/null
+++ b/view/pdl/mod_new_channel.pdl
@@ -0,0 +1 @@
+[layout]full[/layout]
diff --git a/view/pdl/mod_photos.pdl b/view/pdl/mod_photos.pdl
new file mode 100644
index 000000000..c37cf02fe
--- /dev/null
+++ b/view/pdl/mod_photos.pdl
@@ -0,0 +1,4 @@
+[region=aside]
+[widget=vcard][/widget]
+[widget=photo_albums][/widget]
+[/region]
diff --git a/view/pdl/mod_profile_photo.pdl b/view/pdl/mod_profile_photo.pdl
new file mode 100644
index 000000000..f12bf39c3
--- /dev/null
+++ b/view/pdl/mod_profile_photo.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=fullprofile][/widget]
+[/region]
diff --git a/view/pdl/mod_profiles.pdl b/view/pdl/mod_profiles.pdl
new file mode 100644
index 000000000..f12bf39c3
--- /dev/null
+++ b/view/pdl/mod_profiles.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=fullprofile][/widget]
+[/region]
diff --git a/view/pdl/mod_profperm.pdl b/view/pdl/mod_profperm.pdl
new file mode 100644
index 000000000..f12bf39c3
--- /dev/null
+++ b/view/pdl/mod_profperm.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=fullprofile][/widget]
+[/region]
diff --git a/view/pdl/mod_register.pdl b/view/pdl/mod_register.pdl
new file mode 100644
index 000000000..733bc248a
--- /dev/null
+++ b/view/pdl/mod_register.pdl
@@ -0,0 +1 @@
+[layout]full[/layout]
diff --git a/view/pdl/mod_search.pdl b/view/pdl/mod_search.pdl
new file mode 100644
index 000000000..7de4a270f
--- /dev/null
+++ b/view/pdl/mod_search.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=savedsearch][/widget]
+[/region]
diff --git a/view/pdl/mod_settings.pdl b/view/pdl/mod_settings.pdl
new file mode 100644
index 000000000..0b0a99638
--- /dev/null
+++ b/view/pdl/mod_settings.pdl
@@ -0,0 +1,4 @@
+[region=aside]
+[widget=settings_menu][/widget]
+[/region]
+
diff --git a/view/pdl/mod_suggest.pdl b/view/pdl/mod_suggest.pdl
new file mode 100644
index 000000000..c2889f2fe
--- /dev/null
+++ b/view/pdl/mod_suggest.pdl
@@ -0,0 +1,4 @@
+[region=aside]
+[widget=follow][/widget]
+[widget=findpeople][/widget]
+[/region] \ No newline at end of file
diff --git a/view/pdl/mod_viewconnections.pdl b/view/pdl/mod_viewconnections.pdl
new file mode 100644
index 000000000..f12bf39c3
--- /dev/null
+++ b/view/pdl/mod_viewconnections.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=fullprofile][/widget]
+[/region]
diff --git a/view/pdl/mod_webpages.pdl b/view/pdl/mod_webpages.pdl
new file mode 100644
index 000000000..cef69f194
--- /dev/null
+++ b/view/pdl/mod_webpages.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=design_tools][/widget]
+[/region] \ No newline at end of file
diff --git a/view/php/mod_new_channel.php b/view/php/mod_new_channel.php
deleted file mode 100644
index e7709cbd8..000000000
--- a/view/php/mod_new_channel.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-
-$a->page['template'] = 'full';
diff --git a/view/php/mod_register.php b/view/php/mod_register.php
deleted file mode 100644
index e7709cbd8..000000000
--- a/view/php/mod_register.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-
-$a->page['template'] = 'full';
diff --git a/view/php/theme_init.php b/view/php/theme_init.php
index a2024d658..b6aa5de0f 100644
--- a/view/php/theme_init.php
+++ b/view/php/theme_init.php
@@ -8,21 +8,22 @@ head_add_css('library/fancybox/jquery.fancybox-1.3.4.css');
head_add_css('library/tiptip/tipTip.css');
head_add_css('library/jgrowl/jquery.jgrowl.css');
head_add_css('library/jslider/css/jslider.css');
-head_add_css('library/prettyphoto/css/prettyPhoto.css');
head_add_css('library/colorbox/colorbox.css');
-// head_add_css('library/font_awesome/css/font-awesome.min.css');
+
head_add_css('view/css/conversation.css');
head_add_css('view/css/bootstrap-red.css');
+head_add_css('view/css/widgets.css');
+head_add_css('library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css');
-head_add_js('js/jquery.js');
+head_add_js('jquery.js');
head_add_js('library/bootstrap/js/bootstrap.min.js');
head_add_js('library/bootstrap/js/bootbox.min.js');
-head_add_js('js/jquery-migrate-1.1.1.js');
-//head_add_js('js/jquery-compat.js');
-head_add_js('js/spin.js');
-head_add_js('js/jquery.spin.js');
-head_add_js('js/jquery.textinputs.js');
-head_add_js('js/fk.autocomplete.js');
+head_add_js('jquery-migrate-1.1.1.js');
+//head_add_js('jquery-compat.js');
+head_add_js('spin.js');
+head_add_js('jquery.spin.js');
+head_add_js('jquery.textinputs.js');
+head_add_js('autocomplete.js');
head_add_js('library/fancybox/jquery.fancybox-1.3.4.js');
head_add_js('library/jquery.timeago.js');
head_add_js('library/jquery.divgrow/jquery.divgrow-1.3.1.js');
@@ -34,14 +35,15 @@ head_add_js('library/cryptojs/components/core-min.js');
head_add_js('library/cryptojs/rollups/aes.js');
head_add_js('library/cryptojs/rollups/rabbit.js');
head_add_js('library/cryptojs/rollups/tripledes.js');
-head_add_js('js/acl.js');
-head_add_js('js/webtoolkit.base64.js');
-head_add_js('js/main.js');
-head_add_js('js/crypto.js');
+head_add_js('acl.js');
+head_add_js('webtoolkit.base64.js');
+head_add_js('main.js');
+head_add_js('crypto.js');
head_add_js('library/jslider/bin/jquery.slider.min.js');
head_add_js('docready.js');
-head_add_js('library/prettyphoto/js/jquery.prettyPhoto.js');
head_add_js('library/colorbox/jquery.colorbox-min.js');
+head_add_js('library/bootstrap-datetimepicker/js/moment.js');
+head_add_js('library/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js');
/**
* Those who require this feature will know what to do with it.
diff --git a/view/ru/messages.po b/view/ru/messages.po
index d4ee432e3..8abc23b29 100644
--- a/view/ru/messages.po
+++ b/view/ru/messages.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the Red package.
#
# Translators:
-# alexej <info@pixelbits.de>, 2013
+# alexej <alex@red.pixelbits.de>, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: Red Matrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-09-13 00:01-0700\n"
-"PO-Revision-Date: 2013-09-16 06:41+0000\n"
-"Last-Translator: alexej <info@pixelbits.de>\n"
+"POT-Creation-Date: 2014-01-10 00:02-0800\n"
+"PO-Revision-Date: 2014-01-13 15:03+0000\n"
+"Last-Translator: alexej <alex@red.pixelbits.de>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/red-matrix/language/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -30,266 +30,435 @@ msgstr "показывать"
msgid "don't show"
msgstr "не показывать"
-#: ../../include/activities.php:37
+#: ../../include/activities.php:39
msgid " and "
msgstr "и"
-#: ../../include/activities.php:45
+#: ../../include/activities.php:47
msgid "public profile"
msgstr "Публичный профиль"
-#: ../../include/activities.php:50
+#: ../../include/activities.php:52
#, php-format
msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
msgstr "%1$s изменил %2$s на &ldquo;%3$s&rdquo;"
-#: ../../include/activities.php:51
+#: ../../include/activities.php:53
#, php-format
msgid "Visit %1$s's %2$s"
msgstr "ПоÑетить %1$s's %2$s"
-#: ../../include/activities.php:54
+#: ../../include/activities.php:56
#, php-format
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr ""
-#: ../../include/api.php:968
+#: ../../include/api.php:973
msgid "Public Timeline"
msgstr "ÐŸÑƒÐ±Ð»Ð¸Ñ‡Ð½Ð°Ñ ÑˆÐºÐ°Ð»Ð° времени"
-#: ../../include/enotify.php:36
-msgid "Red Matrix Notification"
-msgstr "ÐžÐ¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Red матрицы"
+#: ../../include/nav.php:72 ../../include/nav.php:87 ../../boot.php:1415
+msgid "Logout"
+msgstr "Выход"
-#: ../../include/enotify.php:39
-msgid "Thank You,"
-msgstr "СпаÑибо,"
+#: ../../include/nav.php:72 ../../include/nav.php:87
+msgid "End this session"
+msgstr "Закончить Ñту ÑеÑÑию"
-#: ../../include/enotify.php:41
-#, php-format
-msgid "%s Administrator"
-msgstr "%s админиÑтратор"
+#: ../../include/nav.php:75 ../../include/nav.php:121
+msgid "Home"
+msgstr "Мой канал"
-#: ../../include/enotify.php:75
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
+#: ../../include/nav.php:75
+msgid "Your posts and conversations"
+msgstr "Ваши ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸ разговоры"
-#: ../../include/enotify.php:79
-#, php-format
-msgid "[Red:Notify] New mail received at %s"
-msgstr "[Red:Уведомление] Получено новое Ñообщение в %s"
+#: ../../include/nav.php:76 ../../include/conversation.php:932
+#: ../../mod/connedit.php:309 ../../mod/connedit.php:423
+msgid "View Profile"
+msgstr "ПроÑмотр профилÑ"
-#: ../../include/enotify.php:81
-#, php-format
-msgid "%1$s sent you a new private message at %2$s."
-msgstr "%1$s отправил вам новое личное Ñообщение в %2$s."
+#: ../../include/nav.php:76
+msgid "Your profile page"
+msgstr "Страницa вашего профилÑ"
-#: ../../include/enotify.php:82
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s поÑлал вам %2$s."
+#: ../../include/nav.php:78
+msgid "Edit Profiles"
+msgstr "Редактирование профилей"
-#: ../../include/enotify.php:82
-msgid "a private message"
-msgstr "личное Ñообщение"
+#: ../../include/nav.php:78
+msgid "Manage/Edit Profiles"
+msgstr "Управление / Редактирование профилей"
-#: ../../include/enotify.php:83
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "ПожалуйÑта, поÑетите %s Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра и/или ответа на ваши личные ÑообщениÑ."
+#: ../../include/nav.php:79 ../../include/conversation.php:1462
+#: ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr "Фотографии"
-#: ../../include/enotify.php:129
-#, php-format
-msgid "%1$s commented on [zrl=%2$s]a %3$s[/zrl]"
-msgstr "%1$s прокомментировал на [zrl=%2$s]a %3$s[/zrl]"
+#: ../../include/nav.php:79
+msgid "Your photos"
+msgstr "Ваши фотографии"
-#: ../../include/enotify.php:136
-#, php-format
-msgid "%1$s commented on [zrl=%2$s]%3$s's %4$s[/zrl]"
-msgstr "%1$s прокомментировал на [zrl=%2$s]%3$s's %4$s[/zrl]"
+#: ../../include/nav.php:85 ../../boot.php:1416
+msgid "Login"
+msgstr "Войти"
-#: ../../include/enotify.php:144
-#, php-format
-msgid "%1$s commented on [zrl=%2$s]your %3$s[/zrl]"
-msgstr "%1$s прокомментировал на [zrl=%2$s]your %3$s[/zrl]"
+#: ../../include/nav.php:85
+msgid "Sign in"
+msgstr "Войти"
-#: ../../include/enotify.php:154
+#: ../../include/nav.php:102
#, php-format
-msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Red:Уведомление] Комментарий к разговору #%1$d по %2$s"
+msgid "%s - click to logout"
+msgstr "%s - нажмите чтобы выйти"
-#: ../../include/enotify.php:155
-#, php-format
-msgid "%s commented on an item/conversation you have been following."
+#: ../../include/nav.php:107
+msgid "Click to authenticate to your home hub"
msgstr ""
-#: ../../include/enotify.php:158 ../../include/enotify.php:175
-#: ../../include/enotify.php:201 ../../include/enotify.php:219
-#: ../../include/enotify.php:232
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "ПожалуйÑта, поÑетите %s Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра и/или ответа разговора."
+#: ../../include/nav.php:121
+msgid "Home Page"
+msgstr "ÐœÐ¾Ñ Ñтраница"
-#: ../../include/enotify.php:165
-#, php-format
-msgid "[Red:Notify] %s posted to your profile wall"
-msgstr "[Red:Уведомление] %s добавил Ñообщениe на Ñтену вашего профилÑ"
+#: ../../include/nav.php:125 ../../mod/register.php:206 ../../boot.php:1392
+msgid "Register"
+msgstr "РегиÑтрациÑ"
-#: ../../include/enotify.php:167
-#, php-format
-msgid "%1$s posted to your profile wall at %2$s"
-msgstr "%1$s добавил Ñообщениe на Ñтену вашего Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð² %2$s"
+#: ../../include/nav.php:125
+msgid "Create an account"
+msgstr "Создать аккаунт"
-#: ../../include/enotify.php:169
-#, php-format
-msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]"
-msgstr "%1$s добавил Ñообщениe на [zrl=%2$s]Ñтену вашего профилÑ[/zrl]"
+#: ../../include/nav.php:130 ../../mod/help.php:60 ../../mod/help.php:64
+msgid "Help"
+msgstr "Помощь"
-#: ../../include/enotify.php:195
-#, php-format
-msgid "[Red:Notify] %s tagged you"
-msgstr "[Red:Уведомление] %s добавил у Ð²Ð°Ñ Ñ‚ÐµÐ³"
+#: ../../include/nav.php:130
+msgid "Help and documentation"
+msgstr "Ð¡Ð¿Ñ€Ð°Ð²Ð¾Ñ‡Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ документациÑ"
-#: ../../include/enotify.php:196
-#, php-format
-msgid "%1$s tagged you at %2$s"
-msgstr "%1$s добавил у Ð²Ð°Ñ Ñ‚ÐµÐ³ в %2$s"
+#: ../../include/nav.php:133
+msgid "Apps"
+msgstr "ПриложениÑ"
-#: ../../include/enotify.php:197
-#, php-format
-msgid "%1$s [zrl=%2$s]tagged you[/zrl]."
-msgstr "%1$s [zrl=%2$s]добавил у Ð²Ð°Ñ Ñ‚ÐµÐ³[/zrl]."
+#: ../../include/nav.php:133
+msgid "Addon applications, utilities, games"
+msgstr ""
-#: ../../include/enotify.php:209
-#, php-format
-msgid "[Red:Notify] %1$s poked you"
-msgstr "[Red:Уведомление] %1$s подпихнул ваÑ"
+#: ../../include/nav.php:135 ../../include/text.php:736
+#: ../../include/text.php:750 ../../mod/search.php:28
+msgid "Search"
+msgstr "ПоиÑк"
-#: ../../include/enotify.php:210
-#, php-format
-msgid "%1$s poked you at %2$s"
-msgstr "%1$s подпихнул Ð²Ð°Ñ Ð² %2$s"
+#: ../../include/nav.php:135
+msgid "Search site content"
+msgstr "ПоиÑк по Ñодержанию Ñайту"
-#: ../../include/enotify.php:211
-#, php-format
-msgid "%1$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s [zrl=%2$s]подпихнул ваÑ[/zrl]."
+#: ../../include/nav.php:138 ../../mod/directory.php:209
+msgid "Directory"
+msgstr "Каталог"
-#: ../../include/enotify.php:226
-#, php-format
-msgid "[Red:Notify] %s tagged your post"
-msgstr "[Red:Уведомление] %s добавил у Ð²Ð°Ñ Ð² Ñообщении тег"
+#: ../../include/nav.php:138
+msgid "Channel Locator"
+msgstr "Локатор каналов"
-#: ../../include/enotify.php:227
-#, php-format
-msgid "%1$s tagged your post at %2$s"
-msgstr "%1$s добавил у Ð²Ð°Ñ Ð² Ñообщении тег %2$s"
+#: ../../include/nav.php:149
+msgid "Matrix"
+msgstr "Матрица"
-#: ../../include/enotify.php:228
-#, php-format
-msgid "%1$s tagged [zrl=%2$s]your post[/zrl]"
-msgstr "%1$s добавил тег [zrl=%2$s] у Ð²Ð°Ñ Ð² Ñообщении[/zrl]"
+#: ../../include/nav.php:149
+msgid "Your matrix"
+msgstr "СобÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ð°"
-#: ../../include/enotify.php:239
-msgid "[Red:Notify] Introduction received"
-msgstr "[Red:Уведомление] введение получено"
+#: ../../include/nav.php:150
+msgid "Mark all matrix notifications seen"
+msgstr "Пометить вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ñ‹ как прочитанное"
-#: ../../include/enotify.php:240
-#, php-format
-msgid "You've received an introduction from '%1$s' at %2$s"
-msgstr "Вы получили введение от '%1$s' at %2$s"
+#: ../../include/nav.php:152
+msgid "Channel Home"
+msgstr ""
-#: ../../include/enotify.php:241
-#, php-format
-msgid "You've received [zrl=%1$s]an introduction[/zrl] from %2$s."
-msgstr "Вы получили [zrl=%1$s]введение[/zrl] от %2$s."
+#: ../../include/nav.php:152
+msgid "Channel home"
+msgstr ""
-#: ../../include/enotify.php:244 ../../include/enotify.php:262
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Ð’Ñ‹ можете поÑетить ​​профиль в %s"
+#: ../../include/nav.php:153
+msgid "Mark all channel notifications seen"
+msgstr "Пометить вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð° как прочитанное"
-#: ../../include/enotify.php:246
-#, php-format
-msgid "Please visit %s to approve or reject the introduction."
-msgstr ""
+#: ../../include/nav.php:156
+msgid "Intros"
+msgstr "Контакты"
-#: ../../include/enotify.php:253
-msgid "[Red:Notify] Friend suggestion received"
-msgstr "[Red:Уведомление] Получено предложение дружить"
+#: ../../include/nav.php:156 ../../mod/connections.php:242
+msgid "New Connections"
+msgstr "Ðовые контакты"
-#: ../../include/enotify.php:254
-#, php-format
-msgid "You've received a friend suggestion from '%1$s' at %2$s"
-msgstr "Ð’Ñ‹ получили предложение дружить Ñ '%1$s' от %2$s"
+#: ../../include/nav.php:159
+msgid "Notices"
+msgstr "ОповещениÑ"
-#: ../../include/enotify.php:255
-#, php-format
-msgid ""
-"You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s."
-msgstr ""
+#: ../../include/nav.php:159
+msgid "Notifications"
+msgstr "ОповещениÑ"
-#: ../../include/enotify.php:260
-msgid "Name:"
-msgstr "ИмÑ:"
+#: ../../include/nav.php:160
+msgid "See all notifications"
+msgstr "ПроÑмотреть вÑе оповещениÑ"
-#: ../../include/enotify.php:261
-msgid "Photo:"
-msgstr "Фото:"
+#: ../../include/nav.php:161
+msgid "Mark all system notifications seen"
+msgstr "Пометить вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ðº прочитанное"
-#: ../../include/enotify.php:264
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr ""
+#: ../../include/nav.php:163
+msgid "Mail"
+msgstr "ПерепиÑка"
-#: ../../include/comanche.php:33
-msgid "Default"
+#: ../../include/nav.php:163
+msgid "Private mail"
+msgstr "Ваша Ð»Ð¸Ñ‡Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¿Ð¸Ñка"
+
+#: ../../include/nav.php:164
+msgid "See all private messages"
+msgstr "ПроÑмотреть вÑе личные ÑообщениÑ"
+
+#: ../../include/nav.php:165
+msgid "Mark all private messages seen"
+msgstr "Пометить вÑе личные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ðº прочитанное"
+
+#: ../../include/nav.php:166
+msgid "Inbox"
+msgstr "ВходÑщие"
+
+#: ../../include/nav.php:167
+msgid "Outbox"
+msgstr "ИÑходÑщие"
+
+#: ../../include/nav.php:168 ../../include/widgets.php:509
+msgid "New Message"
+msgstr "Ðовое личное Ñообщение"
+
+#: ../../include/nav.php:171 ../../include/conversation.php:1482
+#: ../../mod/events.php:354
+msgid "Events"
+msgstr "МероприÑтиÑ"
+
+#: ../../include/nav.php:171
+msgid "Event Calendar"
+msgstr "Календарь мероприÑтий"
+
+#: ../../include/nav.php:172
+msgid "See all events"
+msgstr "Показать вÑе мероприÑтиÑ"
+
+#: ../../include/nav.php:173
+msgid "Mark all events seen"
+msgstr "Пометить вÑе мероприÑÑ‚Ð¸Ñ ÐºÐ°Ðº прочитанное"
+
+#: ../../include/nav.php:175
+msgid "Channel Select"
+msgstr "Выбор канала"
+
+#: ../../include/nav.php:175
+msgid "Manage Your Channels"
+msgstr "Управление каналов"
+
+#: ../../include/nav.php:177 ../../include/widgets.php:487
+#: ../../mod/admin.php:785 ../../mod/admin.php:990
+msgid "Settings"
+msgstr "ÐаÑтройки"
+
+#: ../../include/nav.php:177
+msgid "Account/Channel Settings"
+msgstr "ÐаÑтройки аккаунта/канала"
+
+#: ../../include/nav.php:179 ../../mod/connections.php:349
+msgid "Connections"
+msgstr "Контакты"
+
+#: ../../include/nav.php:179
+msgid "Manage/Edit Friends and Connections"
+msgstr "Управление/Редактирование друзей и ÑвÑзей"
+
+#: ../../include/nav.php:186 ../../mod/admin.php:111
+msgid "Admin"
+msgstr "ÐдминиÑтрациÑ"
+
+#: ../../include/nav.php:186
+msgid "Site Setup and Configuration"
+msgstr "УÑтановка и ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñайта"
+
+#: ../../include/nav.php:212
+msgid "Nothing new here"
+msgstr "Ðичего нового здеÑÑŒ"
+
+#: ../../include/nav.php:217
+msgid "Please wait..."
+msgstr "Подождите пожалуйÑта ..."
+
+#: ../../include/reddav.php:940
+msgid "Edit File properties"
msgstr ""
-#: ../../include/Contact.php:87 ../../include/contact_widgets.php:23
-#: ../../mod/directory.php:163 ../../mod/match.php:58 ../../mod/suggest.php:56
-#: ../../boot.php:1696
+#: ../../include/Contact.php:104 ../../include/widgets.php:115
+#: ../../include/widgets.php:155 ../../include/identity.php:625
+#: ../../mod/directory.php:182 ../../mod/match.php:62 ../../mod/suggest.php:51
+#: ../../mod/dirprofile.php:165
msgid "Connect"
msgstr "Подключить"
-#: ../../include/Contact.php:103
+#: ../../include/Contact.php:120
msgid "New window"
msgstr "Ðовое окно"
-#: ../../include/Contact.php:104
+#: ../../include/Contact.php:121
msgid "Open the selected location in a different window or browser tab"
msgstr ""
-#: ../../include/Contact.php:462 ../../include/conversation.php:920
-msgid "Poke"
-msgstr "Подпихнуть"
+#: ../../include/widgets.php:29 ../../include/contact_widgets.php:87
+msgid "Categories"
+msgstr "Категории"
-#: ../../include/Contact.php:463 ../../include/conversation.php:914
-msgid "View Status"
-msgstr "ПроÑмотр ÑоÑтоÑниÑ"
+#: ../../include/widgets.php:117 ../../mod/suggest.php:53
+msgid "Ignore/Hide"
+msgstr "Игнорировать / Скрыть"
-#: ../../include/Contact.php:464 ../../include/nav.php:75
-#: ../../include/conversation.php:915 ../../mod/connections.php:304
-#: ../../mod/connections.php:411
-msgid "View Profile"
-msgstr "ПроÑмотр профилÑ"
+#: ../../include/widgets.php:123 ../../mod/connections.php:236
+msgid "Suggestions"
+msgstr "Рекомендации"
-#: ../../include/Contact.php:465 ../../include/conversation.php:916
-msgid "View Photos"
-msgstr "ПроÑмотр фотографий"
+#: ../../include/widgets.php:124
+msgid "See more..."
+msgstr "ПроÑмотреть больше..."
-#: ../../include/Contact.php:466 ../../include/conversation.php:917
-msgid "Network Posts"
-msgstr "Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñети"
+#: ../../include/widgets.php:146
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr ""
-#: ../../include/Contact.php:467 ../../include/conversation.php:918
-msgid "Edit Contact"
-msgstr "Редактировать контакт"
+#: ../../include/widgets.php:152
+msgid "Add New Connection"
+msgstr "Добавить новый контакт"
-#: ../../include/Contact.php:468 ../../include/conversation.php:919
-msgid "Send PM"
-msgstr "Отправить личное Ñообщение"
+#: ../../include/widgets.php:153
+msgid "Enter the channel address"
+msgstr "Введите Ð°Ð´Ñ€ÐµÑ ÐºÐ°Ð½Ð°Ð»Ð°"
+
+#: ../../include/widgets.php:154
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Пример: bob@example.com, http://example.com/barbara"
+
+#: ../../include/widgets.php:171
+msgid "Notes"
+msgstr "Заметки"
+
+#: ../../include/widgets.php:173 ../../include/text.php:738
+#: ../../include/text.php:752 ../../mod/filer.php:36
+msgid "Save"
+msgstr "Запомнить"
+
+#: ../../include/widgets.php:243
+msgid "Remove term"
+msgstr "Удалить термин"
+
+#: ../../include/widgets.php:252 ../../include/features.php:50
+msgid "Saved Searches"
+msgstr "Запомненные поиÑки"
+
+#: ../../include/widgets.php:253 ../../include/group.php:290
+msgid "add"
+msgstr "добавить"
+
+#: ../../include/widgets.php:283 ../../include/features.php:64
+#: ../../include/contact_widgets.php:53
+msgid "Saved Folders"
+msgstr "Запомненные папки"
+
+#: ../../include/widgets.php:286 ../../include/contact_widgets.php:56
+#: ../../include/contact_widgets.php:90
+msgid "Everything"
+msgstr "Ð’Ñе"
+
+#: ../../include/widgets.php:318 ../../include/items.php:3566
+msgid "Archives"
+msgstr "Ðрхивы"
+
+#: ../../include/widgets.php:370
+msgid "Refresh"
+msgstr "Обновить"
+
+#: ../../include/widgets.php:371 ../../mod/connedit.php:386
+msgid "Me"
+msgstr "Я"
+
+#: ../../include/widgets.php:372 ../../mod/connedit.php:388
+msgid "Best Friends"
+msgstr "Лучшие друзьÑ"
+
+#: ../../include/widgets.php:373 ../../include/profile_selectors.php:42
+#: ../../include/identity.php:310 ../../mod/connedit.php:389
+msgid "Friends"
+msgstr "ДрузьÑ"
+
+#: ../../include/widgets.php:374
+msgid "Co-workers"
+msgstr "Сотрудники"
+
+#: ../../include/widgets.php:375 ../../mod/connedit.php:390
+msgid "Former Friends"
+msgstr "ПриÑтели"
+
+#: ../../include/widgets.php:376 ../../mod/connedit.php:391
+msgid "Acquaintances"
+msgstr "Знакомые"
+
+#: ../../include/widgets.php:377
+msgid "Everybody"
+msgstr "Ð’Ñе"
+
+#: ../../include/widgets.php:409
+msgid "Account settings"
+msgstr "ÐаÑтройки аккаунта"
+
+#: ../../include/widgets.php:415
+msgid "Channel settings"
+msgstr "ÐаÑтройки канала"
+
+#: ../../include/widgets.php:421
+msgid "Additional features"
+msgstr "Дополнительные функции"
+
+#: ../../include/widgets.php:427
+msgid "Feature settings"
+msgstr "ÐаÑтройки компонентов"
+
+#: ../../include/widgets.php:433
+msgid "Display settings"
+msgstr "ÐаÑтройки отображениÑ"
+
+#: ../../include/widgets.php:439
+msgid "Connected apps"
+msgstr "Подключенные приложениÑ"
+
+#: ../../include/widgets.php:445
+msgid "Export channel"
+msgstr "ЭкÑпорт канала"
+
+#: ../../include/widgets.php:457
+msgid "Automatic Permissions (Advanced)"
+msgstr "ÐвтоматичеÑкие Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ (дополнительно)"
+
+#: ../../include/widgets.php:467
+msgid "Premium Channel Settings"
+msgstr ""
+
+#: ../../include/widgets.php:476 ../../include/features.php:41
+#: ../../mod/sources.php:81
+msgid "Channel Sources"
+msgstr ""
+
+#: ../../include/widgets.php:504
+msgid "Check Mail"
+msgstr "Проверить Ñнова"
#: ../../include/contact_selectors.php:30
msgid "Unknown | Not categorised"
@@ -351,8 +520,8 @@ msgstr "OStatus"
msgid "RSS/Atom"
msgstr "RSS/Atom"
-#: ../../include/contact_selectors.php:77 ../../mod/admin.php:636
-#: ../../mod/admin.php:645 ../../boot.php:1431
+#: ../../include/contact_selectors.php:77 ../../mod/admin.php:689
+#: ../../mod/admin.php:698 ../../boot.php:1418
msgid "Email"
msgstr "E-mail"
@@ -470,206 +639,340 @@ msgstr "Ðачало:"
msgid "Finishes:"
msgstr "\t\nКонец:"
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:455
-#: ../../mod/events.php:450 ../../mod/directory.php:138 ../../boot.php:1746
+#: ../../include/event.php:40 ../../include/identity.php:676
+#: ../../include/bb2diaspora.php:455 ../../mod/events.php:463
+#: ../../mod/directory.php:156 ../../mod/dirprofile.php:108
msgid "Location:"
msgstr "Откуда:"
-#: ../../include/features.php:21
-msgid "General Features"
-msgstr "Главные функции"
+#: ../../include/text.php:315
+msgid "prev"
+msgstr "предыдущий"
-#: ../../include/features.php:24
-msgid "Multiple Profiles"
-msgstr "ÐеÑколько профилей"
+#: ../../include/text.php:317
+msgid "first"
+msgstr "первый"
-#: ../../include/features.php:24
-msgid "Ability to create multiple profiles"
-msgstr "ВозможноÑÑ‚ÑŒ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½ÐµÑкольких профилей"
+#: ../../include/text.php:346
+msgid "last"
+msgstr "поÑледний"
-#: ../../include/features.php:25
-msgid "Web Pages"
-msgstr "Веб-Ñтраницы"
+#: ../../include/text.php:349
+msgid "next"
+msgstr "Ñледующий"
-#: ../../include/features.php:25
-msgid "Provide managed web pages on your channel"
-msgstr ""
+#: ../../include/text.php:361
+msgid "older"
+msgstr "Ñтарший"
-#: ../../include/features.php:26
-msgid "Enhanced Photo Albums"
-msgstr "РаÑширенные фотоальбомы"
+#: ../../include/text.php:363
+msgid "newer"
+msgstr "новее"
-#: ../../include/features.php:26
-msgid "Enable photo album with enhanced features"
-msgstr "Включить фотоальбом Ñ Ñ€Ð°Ñширенными функциÑми"
+#: ../../include/text.php:654
+msgid "No connections"
+msgstr "Ðет каналов"
-#: ../../include/features.php:28
-msgid "Extended Identity Sharing"
-msgstr "РаÑширенный обмен идентичноÑти"
+#: ../../include/text.php:665
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "%d канал"
+msgstr[1] "%d канала"
+msgstr[2] "%d каналов"
-#: ../../include/features.php:28 ../../include/js_strings.php:28
-msgid " "
-msgstr " "
+#: ../../include/text.php:677
+msgid "View Connections"
+msgstr "ПроÑмотр контактов"
-#: ../../include/features.php:29
-msgid "Expert Mode"
-msgstr "ЭкÑпертный режим"
+#: ../../include/text.php:818
+msgid "poke"
+msgstr "подпихнуть"
-#: ../../include/features.php:29
-msgid "Enable Expert Mode to provide advanced configuration options"
+#: ../../include/text.php:818 ../../include/conversation.php:240
+msgid "poked"
+msgstr "подпихнул"
+
+#: ../../include/text.php:819
+msgid "ping"
msgstr ""
-#: ../../include/features.php:30
-msgid "Premium Channel"
+#: ../../include/text.php:819
+msgid "pinged"
msgstr ""
-#: ../../include/features.php:30
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
+#: ../../include/text.php:820
+msgid "prod"
msgstr ""
-#: ../../include/features.php:35
-msgid "Post Composition Features"
+#: ../../include/text.php:820
+msgid "prodded"
msgstr ""
-#: ../../include/features.php:36
-msgid "Richtext Editor"
-msgstr "Редактор RichText"
+#: ../../include/text.php:821
+msgid "slap"
+msgstr ""
-#: ../../include/features.php:36
-msgid "Enable richtext editor"
-msgstr "Включить редактор RichText"
+#: ../../include/text.php:821
+msgid "slapped"
+msgstr ""
-#: ../../include/features.php:37
-msgid "Post Preview"
-msgstr "Предварительный проÑмотр ÑообщениÑ"
+#: ../../include/text.php:822
+msgid "finger"
+msgstr ""
-#: ../../include/features.php:37
-msgid "Allow previewing posts and comments before publishing them"
-msgstr "Разрешить предварительный проÑмотр Ñообщений и комментариев перед их публикацией"
+#: ../../include/text.php:822
+msgid "fingered"
+msgstr ""
-#: ../../include/features.php:42
-msgid "Network and Stream Filtering"
-msgstr "Ð¤Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ñети и потока"
+#: ../../include/text.php:823
+msgid "rebuff"
+msgstr ""
-#: ../../include/features.php:43
-msgid "Search by Date"
-msgstr "ПоиÑк по дате"
+#: ../../include/text.php:823
+msgid "rebuffed"
+msgstr ""
-#: ../../include/features.php:43
-msgid "Ability to select posts by date ranges"
-msgstr "ВозможноÑÑ‚ÑŒ выбора Ñообщений по датам"
+#: ../../include/text.php:835
+msgid "happy"
+msgstr "ÑчаÑтливый"
-#: ../../include/features.php:44
-msgid "Collections Filter"
-msgstr "Фильтр коллекций"
+#: ../../include/text.php:836
+msgid "sad"
+msgstr ""
-#: ../../include/features.php:44
-msgid "Enable widget to display Network posts only from selected collections"
+#: ../../include/text.php:837
+msgid "mellow"
msgstr ""
-#: ../../include/features.php:45 ../../mod/network.php:150
-#: ../../mod/search.php:17
-msgid "Saved Searches"
-msgstr "Запомненные поиÑки"
+#: ../../include/text.php:838
+msgid "tired"
+msgstr ""
-#: ../../include/features.php:45
-msgid "Save search terms for re-use"
-msgstr "СохранÑÑ‚ÑŒ результаты поиÑка Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ иÑпользованиÑ"
+#: ../../include/text.php:839
+msgid "perky"
+msgstr ""
-#: ../../include/features.php:46
-msgid "Network Personal Tab"
+#: ../../include/text.php:840
+msgid "angry"
+msgstr "Ñердитый"
+
+#: ../../include/text.php:841
+msgid "stupified"
msgstr ""
-#: ../../include/features.php:46
-msgid "Enable tab to display only Network posts that you've interacted on"
+#: ../../include/text.php:842
+msgid "puzzled"
msgstr ""
-#: ../../include/features.php:47
-msgid "Network New Tab"
+#: ../../include/text.php:843
+msgid "interested"
msgstr ""
-#: ../../include/features.php:47
-msgid "Enable tab to display all new Network activity"
+#: ../../include/text.php:844
+msgid "bitter"
+msgstr "озлобленный"
+
+#: ../../include/text.php:845
+msgid "cheerful"
msgstr ""
-#: ../../include/features.php:48
-msgid "Affinity Tool"
+#: ../../include/text.php:846
+msgid "alive"
msgstr ""
-#: ../../include/features.php:48
-msgid "Filter stream activity by depth of relationships"
+#: ../../include/text.php:847
+msgid "annoyed"
msgstr ""
-#: ../../include/features.php:53
-msgid "Post/Comment Tools"
-msgstr "ИнÑтрументы Ñообщений/комментарий "
+#: ../../include/text.php:848
+msgid "anxious"
+msgstr ""
-#: ../../include/features.php:54
-msgid "Multiple Deletion"
-msgstr "МножеÑтвенное удаление"
+#: ../../include/text.php:849
+msgid "cranky"
+msgstr "капризный"
-#: ../../include/features.php:54
-msgid "Select and delete multiple posts/comments at once"
-msgstr "Выбор и удаление неÑкольких Ñообщений/комментариев Ñразу"
+#: ../../include/text.php:850
+msgid "disturbed"
+msgstr "вÑтревоженный"
-#: ../../include/features.php:55
-msgid "Edit Sent Posts"
-msgstr "Редактировать отправленные ÑообщениÑ"
+#: ../../include/text.php:851
+msgid "frustrated"
+msgstr "разочарованный"
-#: ../../include/features.php:55
-msgid "Edit and correct posts and comments after sending"
-msgstr "Редактировать и иÑправлÑÑ‚ÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸ комментарии поÑле отправки"
+#: ../../include/text.php:852
+msgid "motivated"
+msgstr "мотивированный"
-#: ../../include/features.php:56
-msgid "Tagging"
-msgstr "Пометка"
+#: ../../include/text.php:853
+msgid "relaxed"
+msgstr "раÑÑлабленный"
-#: ../../include/features.php:56
-msgid "Ability to tag existing posts"
+#: ../../include/text.php:854
+msgid "surprised"
+msgstr "удивленный"
+
+#: ../../include/text.php:1016
+msgid "Monday"
+msgstr "Понедельник"
+
+#: ../../include/text.php:1016
+msgid "Tuesday"
+msgstr "Вторник"
+
+#: ../../include/text.php:1016
+msgid "Wednesday"
+msgstr "Среда"
+
+#: ../../include/text.php:1016
+msgid "Thursday"
+msgstr "Четверг"
+
+#: ../../include/text.php:1016
+msgid "Friday"
+msgstr "ПÑтница"
+
+#: ../../include/text.php:1016
+msgid "Saturday"
+msgstr "Суббота"
+
+#: ../../include/text.php:1016
+msgid "Sunday"
+msgstr "ВоÑкреÑенье"
+
+#: ../../include/text.php:1020
+msgid "January"
+msgstr "Январь"
+
+#: ../../include/text.php:1020
+msgid "February"
+msgstr "Февраль"
+
+#: ../../include/text.php:1020
+msgid "March"
+msgstr "Март"
+
+#: ../../include/text.php:1020
+msgid "April"
+msgstr "Ðпрель"
+
+#: ../../include/text.php:1020
+msgid "May"
+msgstr "Май"
+
+#: ../../include/text.php:1020
+msgid "June"
+msgstr "Июнь"
+
+#: ../../include/text.php:1020
+msgid "July"
+msgstr "Июль"
+
+#: ../../include/text.php:1020
+msgid "August"
+msgstr "ÐвгуÑÑ‚"
+
+#: ../../include/text.php:1020
+msgid "September"
+msgstr "СентÑбрь"
+
+#: ../../include/text.php:1020
+msgid "October"
+msgstr "ОктÑбрь"
+
+#: ../../include/text.php:1020
+msgid "November"
+msgstr "ÐоÑбрь"
+
+#: ../../include/text.php:1020
+msgid "December"
+msgstr "Декабрь"
+
+#: ../../include/text.php:1098
+msgid "unknown.???"
+msgstr "неизвеÑтный.???"
+
+#: ../../include/text.php:1099
+msgid "bytes"
+msgstr "байт"
+
+#: ../../include/text.php:1134
+msgid "remove category"
msgstr ""
-#: ../../include/features.php:57
-msgid "Post Categories"
-msgstr "Категории ÑообщениÑ"
+#: ../../include/text.php:1156
+msgid "remove from file"
+msgstr ""
-#: ../../include/features.php:57
-msgid "Add categories to your posts"
-msgstr "Добавить категории Ð´Ð»Ñ Ð²Ð°ÑˆÐ¸Ñ… Ñообщений"
+#: ../../include/text.php:1214 ../../include/text.php:1226
+msgid "Click to open/close"
+msgstr "Ðажмите, чтобы открыть/закрыть"
-#: ../../include/features.php:58 ../../include/contact_widgets.php:76
-msgid "Saved Folders"
-msgstr "Запомненные папки"
+#: ../../include/text.php:1402 ../../mod/events.php:332
+msgid "link to source"
+msgstr "ÑÑылка на иÑточник"
-#: ../../include/features.php:58
-msgid "Ability to file posts under folders"
+#: ../../include/text.php:1421
+msgid "Select a page layout: "
msgstr ""
-#: ../../include/features.php:59
-msgid "Dislike Posts"
-msgstr "Сообщение не нравитÑÑ"
+#: ../../include/text.php:1424 ../../include/text.php:1489
+msgid "default"
+msgstr "по умолчанию"
-#: ../../include/features.php:59
-msgid "Ability to dislike posts/comments"
+#: ../../include/text.php:1460
+msgid "Page content type: "
msgstr ""
-#: ../../include/features.php:60
-msgid "Star Posts"
-msgstr "Помечать ÑообщениÑ"
+#: ../../include/text.php:1501
+msgid "Select an alternate language"
+msgstr "Выбор альтернативного Ñзыка"
-#: ../../include/features.php:60
-msgid "Ability to mark special posts with a star indicator"
+#: ../../include/text.php:1653 ../../include/conversation.php:117
+#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:45
+msgid "photo"
+msgstr "фото"
+
+#: ../../include/text.php:1656 ../../include/conversation.php:120
+#: ../../mod/tagger.php:49
+msgid "event"
+msgstr "мероприÑтие"
+
+#: ../../include/text.php:1659 ../../include/conversation.php:145
+#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:53
+msgid "status"
+msgstr "ÑтатуÑ"
+
+#: ../../include/text.php:1661 ../../include/conversation.php:147
+#: ../../mod/tagger.php:55
+msgid "comment"
+msgstr "комментарий"
+
+#: ../../include/text.php:1666
+msgid "activity"
+msgstr "активноÑÑ‚ÑŒ"
+
+#: ../../include/text.php:1928
+msgid "Design"
+msgstr "Дизайн"
+
+#: ../../include/text.php:1930
+msgid "Blocks"
msgstr ""
-#: ../../include/features.php:61
-msgid "Tag Cloud"
-msgstr "Облако тегов"
+#: ../../include/text.php:1931
+msgid "Menus"
+msgstr ""
-#: ../../include/features.php:61
-msgid "Provide a personal tag cloud on your channel page"
+#: ../../include/text.php:1932
+msgid "Layouts"
msgstr ""
+#: ../../include/text.php:1933
+msgid "Pages"
+msgstr "Страницы"
+
#: ../../include/group.php:25
msgid ""
"A deleted group with this name was revived. Existing item permissions "
@@ -681,11 +984,11 @@ msgstr ""
msgid "Default privacy group for new contacts"
msgstr ""
-#: ../../include/group.php:242
+#: ../../include/group.php:242 ../../mod/admin.php:698
msgid "All Channels"
msgstr "Ð’Ñе каналы"
-#: ../../include/group.php:264 ../../include/page_widgets.php:8
+#: ../../include/group.php:264
msgid "edit"
msgstr "редактировать"
@@ -705,21 +1008,17 @@ msgstr "Создать новую коллекцию"
msgid "Channels not in any collection"
msgstr "Контакты не в какой коллекции"
-#: ../../include/group.php:290 ../../mod/network.php:151
-msgid "add"
-msgstr "добавить"
-
#: ../../include/js_strings.php:5
msgid "Delete this item?"
msgstr "Удалить Ñтот Ñлемент?"
-#: ../../include/js_strings.php:6 ../../include/ItemObject.php:504
-#: ../../mod/photos.php:1075 ../../mod/photos.php:1159
+#: ../../include/js_strings.php:6 ../../include/ItemObject.php:536
+#: ../../mod/photos.php:1099 ../../mod/photos.php:1186
msgid "Comment"
msgstr "Комментарий"
-#: ../../include/js_strings.php:7 ../../include/contact_widgets.php:148
-#: ../../include/ItemObject.php:255
+#: ../../include/js_strings.php:7 ../../include/contact_widgets.php:125
+#: ../../include/ItemObject.php:270
msgid "show more"
msgstr "показать вÑе"
@@ -735,76 +1034,88 @@ msgstr "Пароль Ñлишком короткий"
msgid "Passwords do not match"
msgstr "Пароли не Ñовпадают"
-#: ../../include/js_strings.php:11 ../../mod/photos.php:45
+#: ../../include/js_strings.php:11 ../../mod/photos.php:39
msgid "everybody"
msgstr "вÑе"
+#: ../../include/js_strings.php:12
+msgid "Secret Passphrase"
+msgstr ""
+
#: ../../include/js_strings.php:13
+msgid "Passphrase hint"
+msgstr ""
+
+#: ../../include/js_strings.php:15
msgid "timeago.prefixAgo"
msgstr "timeago.prefixAgo"
-#: ../../include/js_strings.php:14
+#: ../../include/js_strings.php:16
msgid "timeago.suffixAgo"
msgstr "timeago.suffixAgo"
-#: ../../include/js_strings.php:15
+#: ../../include/js_strings.php:17
msgid "ago"
msgstr "тому назад"
-#: ../../include/js_strings.php:16
+#: ../../include/js_strings.php:18
msgid "from now"
msgstr "Ñ Ñтого времени"
-#: ../../include/js_strings.php:17
+#: ../../include/js_strings.php:19
msgid "less than a minute"
msgstr "менее чем одну минуту назад"
-#: ../../include/js_strings.php:18
+#: ../../include/js_strings.php:20
msgid "about a minute"
msgstr "около минуты"
-#: ../../include/js_strings.php:19
+#: ../../include/js_strings.php:21
#, php-format
msgid "%d minutes"
msgstr "%d мин."
-#: ../../include/js_strings.php:20
+#: ../../include/js_strings.php:22
msgid "about an hour"
msgstr "около чаÑа"
-#: ../../include/js_strings.php:21
+#: ../../include/js_strings.php:23
#, php-format
msgid "about %d hours"
msgstr "около %d чаÑ."
-#: ../../include/js_strings.php:22
+#: ../../include/js_strings.php:24
msgid "a day"
msgstr "день"
-#: ../../include/js_strings.php:23
+#: ../../include/js_strings.php:25
#, php-format
msgid "%d days"
msgstr "%d дней"
-#: ../../include/js_strings.php:24
+#: ../../include/js_strings.php:26
msgid "about a month"
msgstr "около меÑÑца"
-#: ../../include/js_strings.php:25
+#: ../../include/js_strings.php:27
#, php-format
msgid "%d months"
msgstr "%d меÑ."
-#: ../../include/js_strings.php:26
+#: ../../include/js_strings.php:28
msgid "about a year"
msgstr "около года"
-#: ../../include/js_strings.php:27
+#: ../../include/js_strings.php:29
#, php-format
msgid "%d years"
msgstr "%d лет"
-#: ../../include/js_strings.php:29
+#: ../../include/js_strings.php:30
+msgid " "
+msgstr " "
+
+#: ../../include/js_strings.php:31
msgid "timeago.numbers"
msgstr "timeago.numbers"
@@ -816,407 +1127,702 @@ msgstr ""
msgid "[no subject]"
msgstr "[без темы]"
-#: ../../include/message.php:38
+#: ../../include/message.php:42
msgid "Unable to determine sender."
msgstr "Ðевозможно определить отправителÑ."
-#: ../../include/message.php:138
+#: ../../include/message.php:143
msgid "Stored post could not be verified."
msgstr ""
-#: ../../include/network.php:1113
+#: ../../include/photo/photo_driver.php:637 ../../include/photos.php:51
+#: ../../mod/photos.php:91 ../../mod/photos.php:783 ../../mod/photos.php:805
+#: ../../mod/profile_photo.php:78 ../../mod/profile_photo.php:225
+#: ../../mod/profile_photo.php:336
+msgid "Profile Photos"
+msgstr "Фотографии профилÑ"
+
+#: ../../include/network.php:640
msgid "view full size"
msgstr "поÑмотреть в полный размер"
-#: ../../include/photo/photo_driver.php:609 ../../include/photos.php:51
-#: ../../mod/photos.php:97 ../../mod/photos.php:757 ../../mod/photos.php:779
-#: ../../mod/profile_photo.php:88 ../../mod/profile_photo.php:235
-#: ../../mod/profile_photo.php:346
-msgid "Profile Photos"
-msgstr "Фотографии профилÑ"
+#: ../../include/bbcode.php:94 ../../include/bbcode.php:509
+#: ../../include/bbcode.php:512
+msgid "Image/photo"
+msgstr "Изображение / фото"
-#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:118
-#: ../../mod/profperm.php:112
-msgid "Profile"
-msgstr "Профиль"
+#: ../../include/bbcode.php:129 ../../include/bbcode.php:517
+msgid "Encrypted content"
+msgstr "Зашифрованное Ñодержание"
-#: ../../include/profile_advanced.php:15 ../../mod/settings.php:1031
-msgid "Full Name:"
-msgstr "Полное имÑ:"
+#: ../../include/bbcode.php:136
+msgid "QR code"
+msgstr "QR код"
-#: ../../include/profile_advanced.php:17 ../../mod/directory.php:140
-#: ../../boot.php:1748
-msgid "Gender:"
-msgstr "Пол:"
+#: ../../include/bbcode.php:179
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s напиÑал Ñледующее %2$s %3$s"
-#: ../../include/profile_advanced.php:22
-msgid "j F, Y"
-msgstr "j F, Y"
+#: ../../include/bbcode.php:181
+msgid "post"
+msgstr "Ñообщение"
-#: ../../include/profile_advanced.php:23
-msgid "j F"
-msgstr "j F"
+#: ../../include/bbcode.php:469 ../../include/bbcode.php:489
+msgid "$1 wrote:"
+msgstr "$1 пиÑал:"
-#: ../../include/profile_advanced.php:30
-msgid "Birthday:"
-msgstr "День РождениÑ:"
+#: ../../include/oembed.php:150
+msgid "Embedded content"
+msgstr ""
-#: ../../include/profile_advanced.php:34
-msgid "Age:"
-msgstr "ВозраÑÑ‚:"
+#: ../../include/oembed.php:159
+msgid "Embedding disabled"
+msgstr ""
-#: ../../include/profile_advanced.php:37 ../../mod/directory.php:142
-#: ../../boot.php:1749
-msgid "Status:"
-msgstr "СтатуÑ:"
+#: ../../include/features.php:21
+msgid "General Features"
+msgstr "Главные функции"
-#: ../../include/profile_advanced.php:43
-#, php-format
-msgid "for %1$d %2$s"
-msgstr "Ð´Ð»Ñ %1$d %2$s"
+#: ../../include/features.php:23
+msgid "Content Expiration"
+msgstr ""
-#: ../../include/profile_advanced.php:46 ../../mod/profiles.php:549
-msgid "Sexual Preference:"
-msgstr "СекÑÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ:"
+#: ../../include/features.php:23
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr ""
-#: ../../include/profile_advanced.php:48 ../../mod/directory.php:144
-#: ../../boot.php:1750
-msgid "Homepage:"
-msgstr "ДомашнÑÑ Ñтраница:"
+#: ../../include/features.php:24
+msgid "Multiple Profiles"
+msgstr "ÐеÑколько профилей"
-#: ../../include/profile_advanced.php:50 ../../mod/profiles.php:551
-msgid "Hometown:"
-msgstr "Родной город:"
+#: ../../include/features.php:24
+msgid "Ability to create multiple profiles"
+msgstr "ВозможноÑÑ‚ÑŒ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½ÐµÑкольких профилей"
-#: ../../include/profile_advanced.php:52
-msgid "Tags:"
-msgstr "ТÑги:"
+#: ../../include/features.php:25
+msgid "Web Pages"
+msgstr "Веб-Ñтраницы"
-#: ../../include/profile_advanced.php:54 ../../mod/profiles.php:552
-msgid "Political Views:"
-msgstr "ПолитичеÑкие взглÑды:"
+#: ../../include/features.php:25
+msgid "Provide managed web pages on your channel"
+msgstr ""
-#: ../../include/profile_advanced.php:56
-msgid "Religion:"
-msgstr "РелигиÑ:"
+#: ../../include/features.php:26
+msgid "Private Notes"
+msgstr "Личные заметки"
-#: ../../include/profile_advanced.php:58 ../../mod/directory.php:146
-msgid "About:"
-msgstr "О Ñебе:"
+#: ../../include/features.php:26
+msgid "Enables a tool to store notes and reminders"
+msgstr ""
-#: ../../include/profile_advanced.php:60
-msgid "Hobbies/Interests:"
-msgstr "Хобби / интереÑÑ‹:"
+#: ../../include/features.php:31
+msgid "Extended Identity Sharing"
+msgstr "РаÑширенный обмен идентичноÑти"
-#: ../../include/profile_advanced.php:62 ../../mod/profiles.php:555
-msgid "Likes:"
-msgstr "Что вам нравитÑÑ:"
+#: ../../include/features.php:31
+msgid ""
+"Share your identity with all websites on the internet. When disabled, "
+"identity is only shared with sites in the matrix."
+msgstr ""
-#: ../../include/profile_advanced.php:64 ../../mod/profiles.php:556
-msgid "Dislikes:"
-msgstr "Что вам не нравитÑÑ:"
+#: ../../include/features.php:32
+msgid "Expert Mode"
+msgstr "ЭкÑпертный режим"
-#: ../../include/profile_advanced.php:67
-msgid "Contact information and Social Networks:"
-msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ Ñоциальные Ñети контакта:"
+#: ../../include/features.php:32
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr ""
-#: ../../include/profile_advanced.php:69
-msgid "Musical interests:"
-msgstr "Музыкальные интереÑÑ‹:"
+#: ../../include/features.php:33
+msgid "Premium Channel"
+msgstr ""
-#: ../../include/profile_advanced.php:71
-msgid "Books, literature:"
-msgstr "Книги, литература:"
+#: ../../include/features.php:33
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr ""
-#: ../../include/profile_advanced.php:73
-msgid "Television:"
-msgstr "Телевидение:"
+#: ../../include/features.php:38
+msgid "Post Composition Features"
+msgstr ""
-#: ../../include/profile_advanced.php:75
-msgid "Film/dance/culture/entertainment:"
-msgstr "Кино / танцы / культура / развлечениÑ:"
+#: ../../include/features.php:39
+msgid "Richtext Editor"
+msgstr "Редактор RichText"
-#: ../../include/profile_advanced.php:77
-msgid "Love/Romance:"
-msgstr "Любовь / РоманÑ:"
+#: ../../include/features.php:39
+msgid "Enable richtext editor"
+msgstr "Включить редактор RichText"
-#: ../../include/profile_advanced.php:79
-msgid "Work/employment:"
-msgstr "Работа / ЗанÑтоÑÑ‚ÑŒ:"
+#: ../../include/features.php:40
+msgid "Post Preview"
+msgstr "Предварительный проÑмотр ÑообщениÑ"
-#: ../../include/profile_advanced.php:81
-msgid "School/education:"
-msgstr "Школа / образование:"
+#: ../../include/features.php:40
+msgid "Allow previewing posts and comments before publishing them"
+msgstr "Разрешить предварительный проÑмотр Ñообщений и комментариев перед их публикацией"
-#: ../../include/nav.php:71 ../../include/nav.php:86 ../../boot.php:1428
-msgid "Logout"
-msgstr "Выход"
+#: ../../include/features.php:41
+msgid "Automatically import channel content from other channels or feeds"
+msgstr ""
-#: ../../include/nav.php:71 ../../include/nav.php:86
-msgid "End this session"
-msgstr "Закончить Ñту ÑеÑÑию"
+#: ../../include/features.php:42
+msgid "Even More Encryption"
+msgstr ""
-#: ../../include/nav.php:74 ../../include/nav.php:116
-#: ../../include/nav.php:148
-msgid "Home"
-msgstr "Мой канал"
+#: ../../include/features.php:42
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr ""
-#: ../../include/nav.php:74 ../../include/nav.php:148
-msgid "Your posts and conversations"
-msgstr "Ваши ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸ разговоры"
+#: ../../include/features.php:47
+msgid "Network and Stream Filtering"
+msgstr "Ð¤Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ñети и потока"
-#: ../../include/nav.php:75
-msgid "Your profile page"
-msgstr "Страницa вашего профилÑ"
+#: ../../include/features.php:48
+msgid "Search by Date"
+msgstr "ПоиÑк по дате"
-#: ../../include/nav.php:77
-msgid "Edit Profiles"
-msgstr "Редактирование профилей"
+#: ../../include/features.php:48
+msgid "Ability to select posts by date ranges"
+msgstr "ВозможноÑÑ‚ÑŒ выбора Ñообщений по датам"
-#: ../../include/nav.php:77
-msgid "Manage/Edit Profiles"
-msgstr "Управление / Редактирование профилей"
+#: ../../include/features.php:49
+msgid "Collections Filter"
+msgstr "Фильтр коллекций"
-#: ../../include/nav.php:78 ../../mod/fbrowser.php:25 ../../boot.php:2189
-msgid "Photos"
-msgstr "Фотографии"
+#: ../../include/features.php:49
+msgid "Enable widget to display Network posts only from selected collections"
+msgstr ""
-#: ../../include/nav.php:78
-msgid "Your photos"
-msgstr "Ваши фотографии"
+#: ../../include/features.php:50
+msgid "Save search terms for re-use"
+msgstr "СохранÑÑ‚ÑŒ результаты поиÑка Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ иÑпользованиÑ"
-#: ../../include/nav.php:84 ../../boot.php:1429
-msgid "Login"
-msgstr "Войти"
+#: ../../include/features.php:51
+msgid "Network Personal Tab"
+msgstr ""
-#: ../../include/nav.php:84
-msgid "Sign in"
-msgstr "Войти"
+#: ../../include/features.php:51
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr ""
+
+#: ../../include/features.php:52
+msgid "Network New Tab"
+msgstr ""
+
+#: ../../include/features.php:52
+msgid "Enable tab to display all new Network activity"
+msgstr ""
+
+#: ../../include/features.php:53
+msgid "Affinity Tool"
+msgstr ""
+
+#: ../../include/features.php:53
+msgid "Filter stream activity by depth of relationships"
+msgstr ""
+
+#: ../../include/features.php:54
+msgid "Suggest Channels"
+msgstr ""
+
+#: ../../include/features.php:54
+msgid "Show channel suggestions"
+msgstr ""
+
+#: ../../include/features.php:59
+msgid "Post/Comment Tools"
+msgstr "ИнÑтрументы Ñообщений/комментарий "
+
+#: ../../include/features.php:61
+msgid "Edit Sent Posts"
+msgstr "Редактировать отправленные ÑообщениÑ"
+
+#: ../../include/features.php:61
+msgid "Edit and correct posts and comments after sending"
+msgstr "Редактировать и иÑправлÑÑ‚ÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸ комментарии поÑле отправки"
+
+#: ../../include/features.php:62
+msgid "Tagging"
+msgstr "Пометка"
+
+#: ../../include/features.php:62
+msgid "Ability to tag existing posts"
+msgstr ""
+
+#: ../../include/features.php:63
+msgid "Post Categories"
+msgstr "Категории ÑообщениÑ"
+
+#: ../../include/features.php:63
+msgid "Add categories to your posts"
+msgstr "Добавить категории Ð´Ð»Ñ Ð²Ð°ÑˆÐ¸Ñ… Ñообщений"
+
+#: ../../include/features.php:64
+msgid "Ability to file posts under folders"
+msgstr ""
+
+#: ../../include/features.php:65
+msgid "Dislike Posts"
+msgstr "Сообщение не нравитÑÑ"
+
+#: ../../include/features.php:65
+msgid "Ability to dislike posts/comments"
+msgstr ""
+
+#: ../../include/features.php:66
+msgid "Star Posts"
+msgstr "Помечать ÑообщениÑ"
+
+#: ../../include/features.php:66
+msgid "Ability to mark special posts with a star indicator"
+msgstr ""
+
+#: ../../include/features.php:67
+msgid "Tag Cloud"
+msgstr "Облако тегов"
-#: ../../include/nav.php:100
+#: ../../include/features.php:67
+msgid "Provide a personal tag cloud on your channel page"
+msgstr ""
+
+#: ../../include/conversation.php:123
+msgid "channel"
+msgstr "канал"
+
+#: ../../include/conversation.php:161 ../../mod/like.php:134
#, php-format
-msgid "%s - click to logout"
-msgstr "%s - нажмите чтобы выйти"
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s нравитÑÑ %2$s's %3$s"
-#: ../../include/nav.php:103
-msgid "Click to authenticate to your home hub"
+#: ../../include/conversation.php:164 ../../mod/like.php:136
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s не нравитÑÑ %2$s's %3$s"
+
+#: ../../include/conversation.php:201
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s теперь Ñоединен Ñ %2$s"
+
+#: ../../include/conversation.php:236
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s подпихнул %2$s"
+
+#: ../../include/conversation.php:258 ../../mod/mood.php:63
+#, php-format
+msgid "%1$s is currently %2$s"
+msgstr "%1$s в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ %2$s"
+
+#: ../../include/conversation.php:631 ../../include/ItemObject.php:114
+msgid "Select"
+msgstr "Выбрать"
+
+#: ../../include/conversation.php:632 ../../include/ItemObject.php:108
+#: ../../mod/thing.php:230 ../../mod/connedit.php:356 ../../mod/admin.php:693
+#: ../../mod/group.php:176 ../../mod/photos.php:1150
+#: ../../mod/filestorage.php:172 ../../mod/settings.php:570
+msgid "Delete"
+msgstr "Удалить"
+
+#: ../../include/conversation.php:642 ../../include/ItemObject.php:161
+msgid "Message is verified"
msgstr ""
-#: ../../include/nav.php:116
-msgid "Home Page"
-msgstr "ÐœÐ¾Ñ Ñтраница"
+#: ../../include/conversation.php:662
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "ПроÑмотр %s's Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ @ %s"
-#: ../../include/nav.php:120 ../../mod/register.php:187 ../../boot.php:1404
-msgid "Register"
-msgstr "РегиÑтрациÑ"
+#: ../../include/conversation.php:676
+msgid "Categories:"
+msgstr "Категории:"
-#: ../../include/nav.php:120
-msgid "Create an account"
-msgstr "Создать аккаунт"
+#: ../../include/conversation.php:677
+msgid "Filed under:"
+msgstr "Хранить под:"
-#: ../../include/nav.php:125 ../../mod/help.php:34
-msgid "Help"
-msgstr "Помощь"
+#: ../../include/conversation.php:686 ../../include/ItemObject.php:217
+#, php-format
+msgid " from %s"
+msgstr " от %s"
-#: ../../include/nav.php:125
-msgid "Help and documentation"
-msgstr "Ð¡Ð¿Ñ€Ð°Ð²Ð¾Ñ‡Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ документациÑ"
+#: ../../include/conversation.php:689 ../../include/ItemObject.php:220
+#, php-format
+msgid "last edited: %s"
+msgstr ""
-#: ../../include/nav.php:128
-msgid "Apps"
-msgstr "ПриложениÑ"
+#: ../../include/conversation.php:704
+msgid "View in context"
+msgstr "Показать в контекÑте"
-#: ../../include/nav.php:128
-msgid "Addon applications, utilities, games"
+#: ../../include/conversation.php:706 ../../include/conversation.php:1119
+#: ../../include/ItemObject.php:248 ../../mod/photos.php:1081
+#: ../../mod/mail.php:222 ../../mod/mail.php:336 ../../mod/editlayout.php:110
+#: ../../mod/editpost.php:107 ../../mod/editwebpage.php:153
+#: ../../mod/editblock.php:124
+msgid "Please wait"
+msgstr "Подождите пожалуйÑта"
+
+#: ../../include/conversation.php:833
+msgid "remove"
+msgstr "удалить"
+
+#: ../../include/conversation.php:837
+msgid "Loading..."
+msgstr "Загрузка..."
+
+#: ../../include/conversation.php:838
+msgid "Delete Selected Items"
+msgstr "Удалить выбранные Ñлементы"
+
+#: ../../include/conversation.php:929
+msgid "View Source"
msgstr ""
-#: ../../include/nav.php:130 ../../include/text.php:729
-#: ../../include/text.php:730 ../../mod/search.php:96
-msgid "Search"
-msgstr "ПоиÑк"
+#: ../../include/conversation.php:930
+msgid "Follow Thread"
+msgstr "Следобать теме"
-#: ../../include/nav.php:130
-msgid "Search site content"
-msgstr "ПоиÑк по Ñодержанию Ñайту"
+#: ../../include/conversation.php:931
+msgid "View Status"
+msgstr "ПроÑмотр ÑоÑтоÑниÑ"
-#: ../../include/nav.php:133 ../../mod/directory.php:186
-msgid "Directory"
-msgstr "Каталог"
+#: ../../include/conversation.php:933
+msgid "View Photos"
+msgstr "ПроÑмотр фотографий"
-#: ../../include/nav.php:133
-msgid "Channel Locator"
-msgstr "Локатор каналов"
+#: ../../include/conversation.php:934
+msgid "Matrix Activity"
+msgstr "ÐктивноÑÑ‚ÑŒ матрицы"
-#: ../../include/nav.php:144
-msgid "Matrix"
-msgstr "Матрица"
+#: ../../include/conversation.php:935
+msgid "Edit Contact"
+msgstr "Редактировать контакт"
-#: ../../include/nav.php:144
-msgid "Conversations from your grid"
+#: ../../include/conversation.php:936
+msgid "Send PM"
+msgstr "Отправить личное Ñообщение"
+
+#: ../../include/conversation.php:937
+msgid "Poke"
+msgstr "Подпихнуть"
+
+#: ../../include/conversation.php:999
+#, php-format
+msgid "%s likes this."
+msgstr "%s нравитÑÑ Ñто."
+
+#: ../../include/conversation.php:999
+#, php-format
+msgid "%s doesn't like this."
+msgstr "%s не нравитÑÑ Ñто."
+
+#: ../../include/conversation.php:1003
+#, 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] ""
+msgstr[2] "<span %1$s>%2$d чел.</span> нравитÑÑ Ñто."
+
+#: ../../include/conversation.php:1005
+#, 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] ""
+msgstr[2] "<span %1$s>%2$d чел.</span> не нравитÑÑ Ñто."
+
+#: ../../include/conversation.php:1011
+msgid "and"
+msgstr "и"
+
+#: ../../include/conversation.php:1014
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ", и %d другие люди"
+
+#: ../../include/conversation.php:1015
+#, php-format
+msgid "%s like this."
+msgstr "%s нравитÑÑ Ñто."
+
+#: ../../include/conversation.php:1015
+#, php-format
+msgid "%s don't like this."
+msgstr "%s не нравитÑÑ Ñто."
+
+#: ../../include/conversation.php:1065
+msgid "Visible to <strong>everybody</strong>"
+msgstr "Видно Ð´Ð»Ñ <strong>вÑех</strong>"
+
+#: ../../include/conversation.php:1066 ../../mod/mail.php:171
+#: ../../mod/mail.php:269
+msgid "Please enter a link URL:"
+msgstr "ПожалуйÑта, введите URL ÑÑылки:"
+
+#: ../../include/conversation.php:1067
+msgid "Please enter a video link/URL:"
+msgstr "ПожалуйÑта, введите URL видео-ÑÑылки:"
+
+#: ../../include/conversation.php:1068
+msgid "Please enter an audio link/URL:"
+msgstr "ПожалуйÑта, введите URL аудио-ÑÑылки:"
+
+#: ../../include/conversation.php:1069
+msgid "Tag term:"
+msgstr "Теги:"
+
+#: ../../include/conversation.php:1070 ../../mod/filer.php:35
+msgid "Save to Folder:"
+msgstr "Сохранить в папку:"
+
+#: ../../include/conversation.php:1071
+msgid "Where are you right now?"
+msgstr "Где вы ÑейчаÑ?"
+
+#: ../../include/conversation.php:1072 ../../mod/mail.php:172
+#: ../../mod/mail.php:270 ../../mod/editpost.php:52
+msgid "Expires YYYY-MM-DD HH:MM"
msgstr ""
-#: ../../include/nav.php:145
-msgid "See all matrix notifications"
-msgstr "ПроÑмотреть вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ñ‹"
+#: ../../include/conversation.php:1082 ../../include/ItemObject.php:546
+#: ../../mod/webpages.php:122 ../../mod/photos.php:1101
+#: ../../mod/editlayout.php:130 ../../mod/editpost.php:127
+#: ../../mod/editwebpage.php:177 ../../mod/editblock.php:145
+msgid "Preview"
+msgstr "Предварительный проÑмотр"
-#: ../../include/nav.php:146
-msgid "Mark all matrix notifications seen"
-msgstr "Пометить вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ñ‹ как прочитанное"
+#: ../../include/conversation.php:1096 ../../mod/photos.php:1080
+msgid "Share"
+msgstr "ПоделитьÑÑ"
-#: ../../include/nav.php:149
-msgid "See all channel notifications"
-msgstr "ПроÑмотреть вÑе ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð°"
+#: ../../include/conversation.php:1098 ../../mod/editwebpage.php:140
+msgid "Page link title"
+msgstr "СÑылка заголовока Ñтраницы"
-#: ../../include/nav.php:150
-msgid "Mark all channel notifications seen"
-msgstr "Пометить вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð° как прочитанное"
+#: ../../include/conversation.php:1100 ../../mod/mail.php:219
+#: ../../mod/mail.php:332 ../../mod/editlayout.php:102
+#: ../../mod/editpost.php:99 ../../mod/editwebpage.php:145
+#: ../../mod/editblock.php:116
+msgid "Upload photo"
+msgstr "Загрузить фотографию"
-#: ../../include/nav.php:153
-msgid "Intros"
-msgstr "Контакты"
+#: ../../include/conversation.php:1101
+msgid "upload photo"
+msgstr "загрузить фотографию"
-#: ../../include/nav.php:153 ../../mod/connections.php:554
-msgid "New Connections"
-msgstr "Ðовые контакты"
+#: ../../include/conversation.php:1102 ../../mod/mail.php:220
+#: ../../mod/mail.php:333 ../../mod/editlayout.php:103
+#: ../../mod/editpost.php:100 ../../mod/editwebpage.php:146
+#: ../../mod/editblock.php:117
+msgid "Attach file"
+msgstr "Прикрепить файл"
-#: ../../include/nav.php:154
-msgid "See all channel introductions"
-msgstr "ПроÑмотреть вÑе Ð²Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð°"
+#: ../../include/conversation.php:1103
+msgid "attach file"
+msgstr "прикрепить файл"
-#: ../../include/nav.php:157
-msgid "Notices"
-msgstr "ОповещениÑ"
+#: ../../include/conversation.php:1104 ../../mod/mail.php:221
+#: ../../mod/mail.php:334 ../../mod/editlayout.php:104
+#: ../../mod/editpost.php:101 ../../mod/editwebpage.php:147
+#: ../../mod/editblock.php:118
+msgid "Insert web link"
+msgstr "Ð’Ñтавить веб-ÑÑылку"
-#: ../../include/nav.php:157 ../../mod/notifications.php:218
-msgid "Notifications"
-msgstr "ОповещениÑ"
+#: ../../include/conversation.php:1105
+msgid "web link"
+msgstr "веб-ÑÑылка"
-#: ../../include/nav.php:158
-msgid "See all notifications"
-msgstr "ПроÑмотреть вÑе оповещениÑ"
+#: ../../include/conversation.php:1106
+msgid "Insert video link"
+msgstr "Ð’Ñтавить видео-ÑÑылку"
-#: ../../include/nav.php:159
-msgid "Mark all system notifications seen"
-msgstr "Пометить вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ðº прочитанное"
+#: ../../include/conversation.php:1107
+msgid "video link"
+msgstr "видео-ÑÑылка"
-#: ../../include/nav.php:161
-msgid "Mail"
-msgstr "ПерепиÑка"
+#: ../../include/conversation.php:1108
+msgid "Insert audio link"
+msgstr "Ð’Ñтавить аудио-ÑÑылку"
-#: ../../include/nav.php:161
-msgid "Private mail"
-msgstr "Ваша Ð»Ð¸Ñ‡Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¿Ð¸Ñка"
+#: ../../include/conversation.php:1109
+msgid "audio link"
+msgstr "аудио-ÑÑылка"
-#: ../../include/nav.php:162
-msgid "See all private messages"
-msgstr "ПроÑмотреть вÑе личные ÑообщениÑ"
+#: ../../include/conversation.php:1110 ../../mod/editlayout.php:108
+#: ../../mod/editpost.php:105 ../../mod/editwebpage.php:151
+#: ../../mod/editblock.php:122
+msgid "Set your location"
+msgstr "Указание Ñвоего раÑположениÑ"
-#: ../../include/nav.php:163
-msgid "Mark all private messages seen"
-msgstr "Пометить вÑе личные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ðº прочитанное"
+#: ../../include/conversation.php:1111
+msgid "set location"
+msgstr "указание раÑположениÑ"
-#: ../../include/nav.php:164
-msgid "Inbox"
-msgstr "ВходÑщие"
+#: ../../include/conversation.php:1112 ../../mod/editlayout.php:109
+#: ../../mod/editpost.php:106 ../../mod/editwebpage.php:152
+#: ../../mod/editblock.php:123
+msgid "Clear browser location"
+msgstr "Стереть указание раÑположениÑ"
-#: ../../include/nav.php:165
-msgid "Outbox"
-msgstr "ИÑходÑщие"
+#: ../../include/conversation.php:1113
+msgid "clear location"
+msgstr "Ñтереть указание раÑположениÑ"
-#: ../../include/nav.php:166 ../../mod/message.php:21
-msgid "New Message"
-msgstr "Ðовое личное Ñообщение"
+#: ../../include/conversation.php:1115 ../../mod/editlayout.php:122
+#: ../../mod/editpost.php:119 ../../mod/editwebpage.php:169
+#: ../../mod/editblock.php:137
+msgid "Set title"
+msgstr "Заголовок"
-#: ../../include/nav.php:169 ../../mod/events.php:348 ../../boot.php:2200
-msgid "Events"
-msgstr "МероприÑтиÑ"
+#: ../../include/conversation.php:1118 ../../mod/editlayout.php:124
+#: ../../mod/editpost.php:121 ../../mod/editwebpage.php:171
+#: ../../mod/editblock.php:139
+msgid "Categories (comma-separated list)"
+msgstr "Категории (ÑпиÑок через запÑтую)"
-#: ../../include/nav.php:169
-msgid "Event Calendar"
-msgstr "Календарь мероприÑтий"
+#: ../../include/conversation.php:1120 ../../mod/editlayout.php:111
+#: ../../mod/editpost.php:108 ../../mod/editwebpage.php:154
+#: ../../mod/editblock.php:125
+msgid "Permission settings"
+msgstr "ÐаÑтройки разрешений"
-#: ../../include/nav.php:170
-msgid "See all events"
-msgstr "Показать вÑе мероприÑтиÑ"
+#: ../../include/conversation.php:1121
+msgid "permissions"
+msgstr "разрешениÑ"
-#: ../../include/nav.php:171
-msgid "Mark all events seen"
-msgstr "Пометить вÑе мероприÑÑ‚Ð¸Ñ ÐºÐ°Ðº прочитанное"
+#: ../../include/conversation.php:1129 ../../mod/editlayout.php:119
+#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:164
+#: ../../mod/editblock.php:134
+msgid "Public post"
+msgstr "Публичное Ñообщение"
-#: ../../include/nav.php:173
-msgid "Channel Select"
-msgstr "Выбор канала"
+#: ../../include/conversation.php:1131 ../../mod/editlayout.php:125
+#: ../../mod/editpost.php:122 ../../mod/editwebpage.php:172
+#: ../../mod/editblock.php:140
+msgid "Example: bob@example.com, mary@example.com"
+msgstr "Пример: bob@example.com, mary@example.com"
-#: ../../include/nav.php:173
-msgid "Manage Your Channels"
-msgstr "Управление каналов"
+#: ../../include/conversation.php:1144 ../../mod/mail.php:226
+#: ../../mod/mail.php:339 ../../mod/editlayout.php:135
+#: ../../mod/editpost.php:133 ../../mod/editwebpage.php:182
+#: ../../mod/editblock.php:150
+msgid "Set expiration date"
+msgstr ""
-#: ../../include/nav.php:175 ../../mod/settings.php:120
-#: ../../mod/admin.php:728 ../../mod/admin.php:933
-msgid "Settings"
-msgstr "ÐаÑтройки"
+#: ../../include/conversation.php:1146 ../../include/ItemObject.php:549
+#: ../../mod/mail.php:228 ../../mod/mail.php:341 ../../mod/editpost.php:135
+msgid "Encrypt text"
+msgstr ""
-#: ../../include/nav.php:175
-msgid "Account/Channel Settings"
-msgstr "ÐаÑтройки аккаунта/канала"
+#: ../../include/conversation.php:1148 ../../mod/editpost.php:136
+msgid "OK"
+msgstr "OK"
-#: ../../include/nav.php:177 ../../mod/connections.php:660
-msgid "Connections"
-msgstr "Контакты"
+#: ../../include/conversation.php:1149 ../../mod/tagrm.php:11
+#: ../../mod/tagrm.php:94 ../../mod/settings.php:508
+#: ../../mod/settings.php:534 ../../mod/editpost.php:137
+#: ../../mod/fbrowser.php:82 ../../mod/fbrowser.php:117
+msgid "Cancel"
+msgstr "Отменить"
-#: ../../include/nav.php:177
-msgid "Manage/Edit Friends and Connections"
-msgstr "Управление/Редактирование друзей и ÑвÑзей"
+#: ../../include/conversation.php:1376
+msgid "Commented Order"
+msgstr "По комментириÑм"
-#: ../../include/nav.php:184 ../../mod/admin.php:106
-msgid "Admin"
-msgstr "ÐдминиÑтрациÑ"
+#: ../../include/conversation.php:1379
+msgid "Sort by Comment Date"
+msgstr "Сортировка по дате ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸ÐµÐ²"
-#: ../../include/nav.php:184
-msgid "Site Setup and Configuration"
-msgstr "УÑтановка и ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñайта"
+#: ../../include/conversation.php:1382
+msgid "Posted Order"
+msgstr "По добавлениÑм"
-#: ../../include/nav.php:207
-msgid "Nothing new here"
-msgstr "Ðичего нового здеÑÑŒ"
+#: ../../include/conversation.php:1385
+msgid "Sort by Post Date"
+msgstr "Сортировка по дате ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑообщениÑ"
-#: ../../include/nav.php:212
-msgid "Please wait..."
-msgstr "Подождите пожалуйÑта ..."
+#: ../../include/conversation.php:1389
+msgid "Personal"
+msgstr "Личные"
-#: ../../include/identity.php:14 ../../mod/item.php:1148
-msgid "Unable to obtain identity information from database"
-msgstr "Ðевозможно получить идентификационную информацию из базы данных"
+#: ../../include/conversation.php:1392
+msgid "Posts that mention or involve you"
+msgstr "СообщениÑ, в которых упоминули или вовлекли ваÑ"
-#: ../../include/identity.php:36
-msgid "Empty name"
-msgstr "ПуÑтое имÑ"
+#: ../../include/conversation.php:1395 ../../mod/menu.php:57
+#: ../../mod/connections.php:209
+msgid "New"
+msgstr "Ðовые"
-#: ../../include/identity.php:38
-msgid "Name too long"
-msgstr "Слишком длинное имÑ"
+#: ../../include/conversation.php:1398
+msgid "Activity Stream - by date"
+msgstr "Лента активноÑти - по дате"
-#: ../../include/identity.php:80
-msgid "No account identifier"
-msgstr "идентификатор аккаунта отÑутÑтвует"
+#: ../../include/conversation.php:1405
+msgid "Starred"
+msgstr "Помеченные"
-#: ../../include/identity.php:98
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "ПÑевдоним имеет недопуÑтимые Ñимволы или уже иÑпользуетÑÑ Ð½Ð° Ñтом Ñайте."
+#: ../../include/conversation.php:1408
+msgid "Favourite Posts"
+msgstr "Фаворит-ÑообщениÑ"
-#: ../../include/identity.php:157
-msgid "Unable to retrieve created identity"
+#: ../../include/conversation.php:1415
+msgid "Spam"
+msgstr "Спам"
+
+#: ../../include/conversation.php:1418
+msgid "Posts flagged as SPAM"
+msgstr "Как СПÐÐœ помеченные ÑообщениÑ"
+
+#: ../../include/conversation.php:1448
+msgid "Channel"
+msgstr "Канал"
+
+#: ../../include/conversation.php:1451
+msgid "Status Messages and Posts"
msgstr ""
-#: ../../include/identity.php:214
-msgid "Default Profile"
-msgstr "Профиль по умолчанию"
+#: ../../include/conversation.php:1455
+msgid "About"
+msgstr "О Ñебе"
-#: ../../include/identity.php:239 ../../include/profile_selectors.php:42
-#: ../../mod/network.php:364 ../../mod/connections.php:377
-msgid "Friends"
-msgstr "ДрузьÑ"
+#: ../../include/conversation.php:1458
+msgid "Profile Details"
+msgstr "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ профиле"
+
+#: ../../include/conversation.php:1465 ../../include/photos.php:297
+msgid "Photo Albums"
+msgstr "Фотоальбомы"
+
+#: ../../include/conversation.php:1470 ../../mod/fbrowser.php:114
+msgid "Files"
+msgstr "Файлы"
+
+#: ../../include/conversation.php:1473
+msgid "Files and Storage"
+msgstr ""
+
+#: ../../include/conversation.php:1485
+msgid "Events and Calendar"
+msgstr "МероприÑÑ‚Ð¸Ñ Ð¸ календарь"
+
+#: ../../include/conversation.php:1490
+msgid "Webpages"
+msgstr "Веб-Ñтраницы"
+
+#: ../../include/conversation.php:1493
+msgid "Manage Webpages"
+msgstr "Управление веб-Ñтраниц"
#: ../../include/notify.php:23
msgid "created a new post"
@@ -1227,41 +1833,39 @@ msgstr "Ñоздал новое Ñообщение"
msgid "commented on %s's post"
msgstr "прокомментировал %s's Ñообщение"
-#: ../../include/oembed.php:148
-msgid "Embedded content"
-msgstr ""
-
-#: ../../include/oembed.php:157
-msgid "Embedding disabled"
-msgstr ""
-
-#: ../../include/photos.php:15 ../../include/attach.php:102
-#: ../../include/attach.php:133 ../../include/attach.php:189
-#: ../../include/attach.php:204 ../../include/attach.php:237
-#: ../../include/attach.php:251 ../../include/attach.php:272
-#: ../../include/attach.php:464 ../../include/items.php:3359
-#: ../../mod/common.php:43 ../../mod/events.php:134 ../../mod/invite.php:13
-#: ../../mod/invite.php:102 ../../mod/allfriends.php:10
-#: ../../mod/webpages.php:40 ../../mod/api.php:26 ../../mod/api.php:31
-#: ../../mod/lastpost.php:93 ../../mod/page.php:30 ../../mod/setup.php:181
-#: ../../mod/settings.php:598 ../../mod/viewconnections.php:33
-#: ../../mod/viewconnections.php:38 ../../mod/delegate.php:6
-#: ../../mod/mitem.php:92 ../../mod/group.php:15 ../../mod/photos.php:74
-#: ../../mod/photos.php:647 ../../mod/viewsrc.php:12 ../../mod/menu.php:40
-#: ../../mod/message.php:204 ../../mod/layouts.php:27 ../../mod/layouts.php:42
-#: ../../mod/network.php:7 ../../mod/intro.php:50
-#: ../../mod/connections.php:174 ../../mod/profiles.php:163
-#: ../../mod/profiles.php:476 ../../mod/new_channel.php:66
-#: ../../mod/new_channel.php:97 ../../mod/manage.php:6
-#: ../../mod/crepair.php:115 ../../mod/editlayout.php:49
-#: ../../mod/nogroup.php:25 ../../mod/profile_photo.php:197
-#: ../../mod/profile_photo.php:210 ../../mod/editwebpage.php:43
-#: ../../mod/editwebpage.php:65 ../../mod/notifications.php:66
-#: ../../mod/blocks.php:29 ../../mod/blocks.php:44 ../../mod/editpost.php:13
-#: ../../mod/poke.php:128 ../../mod/channel.php:117 ../../mod/fsuggest.php:78
-#: ../../mod/editblock.php:49 ../../mod/item.php:163 ../../mod/suggest.php:32
-#: ../../mod/register.php:60 ../../mod/regmod.php:18 ../../mod/mood.php:114
-#: ../../index.php:178 ../../index.php:340
+#: ../../include/photos.php:15 ../../include/attach.php:97
+#: ../../include/attach.php:128 ../../include/attach.php:184
+#: ../../include/attach.php:199 ../../include/attach.php:232
+#: ../../include/attach.php:246 ../../include/attach.php:267
+#: ../../include/attach.php:461 ../../include/attach.php:539
+#: ../../include/items.php:3445 ../../mod/common.php:35
+#: ../../mod/events.php:140 ../../mod/thing.php:241 ../../mod/thing.php:257
+#: ../../mod/thing.php:291 ../../mod/invite.php:13 ../../mod/invite.php:104
+#: ../../mod/connedit.php:179 ../../mod/webpages.php:40 ../../mod/api.php:26
+#: ../../mod/api.php:31 ../../mod/page.php:30 ../../mod/page.php:80
+#: ../../mod/setup.php:200 ../../mod/viewconnections.php:22
+#: ../../mod/viewconnections.php:27 ../../mod/delegate.php:6
+#: ../../mod/sources.php:62 ../../mod/mitem.php:73 ../../mod/group.php:9
+#: ../../mod/photos.php:68 ../../mod/photos.php:653 ../../mod/viewsrc.php:12
+#: ../../mod/menu.php:40 ../../mod/connections.php:167
+#: ../../mod/layouts.php:27 ../../mod/layouts.php:42 ../../mod/network.php:12
+#: ../../mod/profiles.php:152 ../../mod/profiles.php:465
+#: ../../mod/new_channel.php:66 ../../mod/new_channel.php:97
+#: ../../mod/achievements.php:27 ../../mod/filestorage.php:10
+#: ../../mod/filestorage.php:59 ../../mod/filestorage.php:76
+#: ../../mod/filestorage.php:99 ../../mod/manage.php:6
+#: ../../mod/settings.php:484 ../../mod/mail.php:108
+#: ../../mod/editlayout.php:48 ../../mod/profile_photo.php:187
+#: ../../mod/profile_photo.php:200 ../../mod/editpost.php:13
+#: ../../mod/notifications.php:66 ../../mod/blocks.php:29
+#: ../../mod/blocks.php:44 ../../mod/editwebpage.php:44
+#: ../../mod/editwebpage.php:83 ../../mod/poke.php:128
+#: ../../mod/channel.php:88 ../../mod/channel.php:225
+#: ../../mod/fsuggest.php:78 ../../mod/editblock.php:48
+#: ../../mod/suggest.php:26 ../../mod/message.php:16 ../../mod/register.php:68
+#: ../../mod/regmod.php:18 ../../mod/authtest.php:13 ../../mod/item.php:182
+#: ../../mod/item.php:190 ../../mod/mood.php:119 ../../index.php:176
+#: ../../index.php:344
msgid "Permission denied."
msgstr "ДоÑтуп запрещен."
@@ -1274,20 +1878,16 @@ msgstr ""
msgid "Image file is empty."
msgstr "файл пуÑÑ‚."
-#: ../../include/photos.php:124 ../../mod/profile_photo.php:157
+#: ../../include/photos.php:122 ../../mod/profile_photo.php:147
msgid "Unable to process image"
msgstr ""
-#: ../../include/photos.php:186
+#: ../../include/photos.php:184
msgid "Photo storage failed."
msgstr ""
-#: ../../include/photos.php:288 ../../boot.php:2192
-msgid "Photo Albums"
-msgstr "Фотоальбомы"
-
-#: ../../include/photos.php:292 ../../mod/photos.php:795
-#: ../../mod/photos.php:1269
+#: ../../include/photos.php:301 ../../mod/photos.php:821
+#: ../../mod/photos.php:1296
msgid "Upload New Photos"
msgstr "Загрузить новые фотографии"
@@ -1519,44 +2119,104 @@ msgstr "Ðе заботьтеÑÑŒ"
msgid "Ask me"
msgstr "СпроÑи менÑ"
-#: ../../include/attach.php:184 ../../include/attach.php:232
+#: ../../include/attach.php:179 ../../include/attach.php:227
msgid "Item was not found."
msgstr "Элемент не найден."
-#: ../../include/attach.php:285
+#: ../../include/attach.php:280
msgid "No source file."
msgstr "Ðет иÑходного файла."
-#: ../../include/attach.php:302
+#: ../../include/attach.php:297
msgid "Cannot locate file to replace"
msgstr "Ðе удаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ файл, чтобы заменить"
-#: ../../include/attach.php:320
+#: ../../include/attach.php:315
msgid "Cannot locate file to revise/update"
msgstr "Ðе удаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ файл Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑмотра / обновлениÑ"
-#: ../../include/attach.php:331
+#: ../../include/attach.php:326
#, php-format
msgid "File exceeds size limit of %d"
msgstr "Файл превышает предельный размер %d"
-#: ../../include/attach.php:342
+#: ../../include/attach.php:337
#, php-format
msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr ""
-#: ../../include/attach.php:424
+#: ../../include/attach.php:421
msgid "File upload failed. Possible system limit or action terminated."
msgstr "Загрузка файла не удалаÑÑŒ. Возможно ÑиÑтема перегружена или попытка прекращена."
-#: ../../include/attach.php:436
+#: ../../include/attach.php:433
msgid "Stored file could not be verified. Upload failed."
msgstr ""
-#: ../../include/attach.php:480 ../../include/attach.php:497
+#: ../../include/attach.php:477 ../../include/attach.php:494
msgid "Path not available."
msgstr "Путь недоÑтупен."
+#: ../../include/attach.php:544
+msgid "Empty pathname"
+msgstr ""
+
+#: ../../include/attach.php:562
+msgid "duplicate filename or path"
+msgstr ""
+
+#: ../../include/attach.php:587
+msgid "Path not found."
+msgstr "Путь не найден."
+
+#: ../../include/attach.php:632
+msgid "mkdir failed."
+msgstr ""
+
+#: ../../include/attach.php:636
+msgid "database storage failed."
+msgstr ""
+
+#: ../../include/taxonomy.php:210
+msgid "Tags"
+msgstr "ТÑги"
+
+#: ../../include/taxonomy.php:227
+msgid "Keywords"
+msgstr "Ключевые Ñлова"
+
+#: ../../include/taxonomy.php:252
+msgid "have"
+msgstr "иметь"
+
+#: ../../include/taxonomy.php:252
+msgid "has"
+msgstr "еÑÑ‚ÑŒ"
+
+#: ../../include/taxonomy.php:253
+msgid "want"
+msgstr "хотеть"
+
+#: ../../include/taxonomy.php:253
+msgid "wants"
+msgstr "хочет"
+
+#: ../../include/taxonomy.php:254 ../../include/ItemObject.php:175
+msgid "like"
+msgstr "мне нравитьÑÑ"
+
+#: ../../include/taxonomy.php:254
+msgid "likes"
+msgstr "мне нравитьÑÑ"
+
+#: ../../include/taxonomy.php:255 ../../include/ItemObject.php:176
+msgid "dislike"
+msgstr "мне не-нравитьÑÑ"
+
+#: ../../include/taxonomy.php:255
+msgid "dislikes"
+msgstr "мне не-нравитьÑÑ"
+
#: ../../include/account.php:23
msgid "Not a valid email address"
msgstr "Ðе дейÑтвительный Ð°Ð´Ñ€ÐµÑ Ñлектронной почты"
@@ -1577,492 +2237,315 @@ msgstr "ТребуетÑÑ Ð¿Ñ€Ð¸Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ðµ."
msgid "Invitation could not be verified."
msgstr "Ðе удалоÑÑŒ проверить приглашение."
-#: ../../include/account.php:118
+#: ../../include/account.php:119
msgid "Please enter the required information."
msgstr "ПожалуйÑта, введите необходимую информацию."
-#: ../../include/account.php:186
+#: ../../include/account.php:187
msgid "Failed to store account information."
msgstr "Ðе удалоÑÑŒ Ñохранить информацию аккаунта."
-#: ../../include/account.php:272
+#: ../../include/account.php:273
#, php-format
msgid "Registration request at %s"
msgstr "ТребуетÑÑ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð½Ð° %s"
-#: ../../include/account.php:274 ../../include/account.php:301
-#: ../../include/account.php:358
+#: ../../include/account.php:275 ../../include/account.php:302
+#: ../../include/account.php:359
msgid "Administrator"
msgstr "ÐдминиÑтратор"
-#: ../../include/account.php:296
+#: ../../include/account.php:297
msgid "your registration password"
msgstr "Ваш пароль региÑтрации"
-#: ../../include/account.php:299 ../../include/account.php:356
+#: ../../include/account.php:300 ../../include/account.php:357
#, php-format
msgid "Registration details for %s"
msgstr "РегиÑтрационные данные Ð´Ð»Ñ %s"
-#: ../../include/account.php:365
+#: ../../include/account.php:366
msgid "Account approved."
msgstr "Ðккаунт утвержден."
-#: ../../include/account.php:399
+#: ../../include/account.php:400
#, php-format
msgid "Registration revoked for %s"
msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ð¾Ð·Ð²Ð°Ð½Ð° Ð´Ð»Ñ %s"
-#: ../../include/bbcode.php:94 ../../include/bbcode.php:423
-#: ../../include/bbcode.php:426
-msgid "Image/photo"
-msgstr "Изображение / фото"
-
-#: ../../include/bbcode.php:141
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s напиÑал Ñледующее %2$s %3$s"
-
-#: ../../include/bbcode.php:143
-msgid "post"
-msgstr "Ñообщение"
+#: ../../include/dir_fns.php:15
+msgid "Sort Options"
+msgstr ""
-#: ../../include/bbcode.php:383 ../../include/bbcode.php:403
-msgid "$1 wrote:"
-msgstr "$1 пиÑал:"
+#: ../../include/dir_fns.php:16
+msgid "Alphabetic"
+msgstr "По алфавиту"
-#: ../../include/bbcode.php:430 ../../include/bbcode.php:431
-msgid "Encrypted content"
-msgstr "Зашифрованное Ñодержание"
+#: ../../include/dir_fns.php:17
+msgid "Reverse Alphabetic"
+msgstr "По обратному алфавиту"
-#: ../../include/text.php:309
-msgid "prev"
-msgstr "предыдущий"
+#: ../../include/dir_fns.php:18
+msgid "Newest to Oldest"
+msgstr "От новых к Ñтарым"
-#: ../../include/text.php:311
-msgid "first"
-msgstr "первый"
+#: ../../include/dir_fns.php:30
+msgid "Enable Safe Search"
+msgstr ""
-#: ../../include/text.php:340
-msgid "last"
-msgstr "поÑледний"
+#: ../../include/dir_fns.php:32
+msgid "Disable Safe Search"
+msgstr ""
-#: ../../include/text.php:343
-msgid "next"
-msgstr "Ñледующий"
+#: ../../include/dir_fns.php:34
+msgid "Safe Mode"
+msgstr ""
-#: ../../include/text.php:355
-msgid "older"
-msgstr "Ñтарший"
+#: ../../include/enotify.php:40
+msgid "Red Matrix Notification"
+msgstr "ÐžÐ¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Red матрицы"
-#: ../../include/text.php:357
-msgid "newer"
-msgstr "новее"
+#: ../../include/enotify.php:41
+msgid "redmatrix"
+msgstr "redmatrix"
-#: ../../include/text.php:648
-msgid "No connections"
-msgstr "Ðет каналов"
+#: ../../include/enotify.php:43
+msgid "Thank You,"
+msgstr "СпаÑибо,"
-#: ../../include/text.php:659
+#: ../../include/enotify.php:45
#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] "%d канал"
-msgstr[1] "%d канала"
-msgstr[2] "%d каналов"
-
-#: ../../include/text.php:671
-msgid "View Connections"
-msgstr "ПроÑмотр контактов"
-
-#: ../../include/text.php:732 ../../mod/filer.php:36
-msgid "Save"
-msgstr "Запомнить"
+msgid "%s Administrator"
+msgstr "%s админиÑтратор"
-#: ../../include/text.php:770
-msgid "poke"
-msgstr "подпихнуть"
+#: ../../include/enotify.php:80
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
-#: ../../include/text.php:770 ../../include/conversation.php:236
-msgid "poked"
-msgstr "подпихнул"
+#: ../../include/enotify.php:84
+#, php-format
+msgid "[Red:Notify] New mail received at %s"
+msgstr "[Red:Уведомление] Получено новое Ñообщение в %s"
-#: ../../include/text.php:771
-msgid "ping"
+#: ../../include/enotify.php:86
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
msgstr ""
-#: ../../include/text.php:771
-msgid "pinged"
-msgstr ""
+#: ../../include/enotify.php:87
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s поÑлал вам %2$s."
-#: ../../include/text.php:772
-msgid "prod"
-msgstr ""
+#: ../../include/enotify.php:87
+msgid "a private message"
+msgstr "личное Ñообщение"
-#: ../../include/text.php:772
-msgid "prodded"
-msgstr ""
+#: ../../include/enotify.php:88
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "ПожалуйÑта, поÑетите %s Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра и/или ответа на ваши личные ÑообщениÑ."
-#: ../../include/text.php:773
-msgid "slap"
+#: ../../include/enotify.php:142
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
msgstr ""
-#: ../../include/text.php:773
-msgid "slapped"
+#: ../../include/enotify.php:150
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
msgstr ""
-#: ../../include/text.php:774
-msgid "finger"
+#: ../../include/enotify.php:159
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
msgstr ""
-#: ../../include/text.php:774
-msgid "fingered"
-msgstr ""
+#: ../../include/enotify.php:170
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Red:Уведомление] Комментарий к разговору #%1$d по %2$s"
-#: ../../include/text.php:775
-msgid "rebuff"
+#: ../../include/enotify.php:171
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
msgstr ""
-#: ../../include/text.php:775
-msgid "rebuffed"
-msgstr ""
+#: ../../include/enotify.php:174 ../../include/enotify.php:189
+#: ../../include/enotify.php:215 ../../include/enotify.php:234
+#: ../../include/enotify.php:248
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "ПожалуйÑта, поÑетите %s Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра и/или ответа разговора."
-#: ../../include/text.php:787
-msgid "happy"
-msgstr "ÑчаÑтливый"
+#: ../../include/enotify.php:180
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
+msgstr "[Red:Уведомление] %s добавил Ñообщениe на Ñтену вашего профилÑ"
-#: ../../include/text.php:788
-msgid "sad"
+#: ../../include/enotify.php:182
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
msgstr ""
-#: ../../include/text.php:789
-msgid "mellow"
+#: ../../include/enotify.php:184
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
msgstr ""
-#: ../../include/text.php:790
-msgid "tired"
-msgstr ""
+#: ../../include/enotify.php:208
+#, php-format
+msgid "[Red:Notify] %s tagged you"
+msgstr "[Red:Уведомление] %s добавил у Ð²Ð°Ñ Ñ‚ÐµÐ³"
-#: ../../include/text.php:791
-msgid "perky"
+#: ../../include/enotify.php:209
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
msgstr ""
-#: ../../include/text.php:792
-msgid "angry"
-msgstr "Ñердитый"
-
-#: ../../include/text.php:793
-msgid "stupified"
+#: ../../include/enotify.php:210
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
msgstr ""
-#: ../../include/text.php:794
-msgid "puzzled"
-msgstr ""
+#: ../../include/enotify.php:223
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
+msgstr "[Red:Уведомление] %1$s подпихнул ваÑ"
-#: ../../include/text.php:795
-msgid "interested"
+#: ../../include/enotify.php:224
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
msgstr ""
-#: ../../include/text.php:796
-msgid "bitter"
-msgstr "озлобленный"
-
-#: ../../include/text.php:797
-msgid "cheerful"
+#: ../../include/enotify.php:225
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
msgstr ""
-#: ../../include/text.php:798
-msgid "alive"
-msgstr ""
+#: ../../include/enotify.php:241
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
+msgstr "[Red:Уведомление] %s добавил у Ð²Ð°Ñ Ð² Ñообщении тег"
-#: ../../include/text.php:799
-msgid "annoyed"
+#: ../../include/enotify.php:242
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
msgstr ""
-#: ../../include/text.php:800
-msgid "anxious"
+#: ../../include/enotify.php:243
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
msgstr ""
-#: ../../include/text.php:801
-msgid "cranky"
-msgstr "капризный"
-
-#: ../../include/text.php:802
-msgid "disturbed"
-msgstr "вÑтревоженный"
-
-#: ../../include/text.php:803
-msgid "frustrated"
-msgstr "разочарованный"
-
-#: ../../include/text.php:804
-msgid "motivated"
-msgstr "мотивированный"
-
-#: ../../include/text.php:805
-msgid "relaxed"
-msgstr "раÑÑлабленный"
-
-#: ../../include/text.php:806
-msgid "surprised"
-msgstr "удивленный"
-
-#: ../../include/text.php:968
-msgid "Monday"
-msgstr "Понедельник"
-
-#: ../../include/text.php:968
-msgid "Tuesday"
-msgstr "Вторник"
-
-#: ../../include/text.php:968
-msgid "Wednesday"
-msgstr "Среда"
-
-#: ../../include/text.php:968
-msgid "Thursday"
-msgstr "Четверг"
-
-#: ../../include/text.php:968
-msgid "Friday"
-msgstr "ПÑтница"
-
-#: ../../include/text.php:968
-msgid "Saturday"
-msgstr "Суббота"
-
-#: ../../include/text.php:968
-msgid "Sunday"
-msgstr "ВоÑкреÑенье"
-
-#: ../../include/text.php:972
-msgid "January"
-msgstr "Январь"
-
-#: ../../include/text.php:972
-msgid "February"
-msgstr "Февраль"
-
-#: ../../include/text.php:972
-msgid "March"
-msgstr "Март"
-
-#: ../../include/text.php:972
-msgid "April"
-msgstr "Ðпрель"
-
-#: ../../include/text.php:972
-msgid "May"
-msgstr "Май"
-
-#: ../../include/text.php:972
-msgid "June"
-msgstr "Июнь"
-
-#: ../../include/text.php:972
-msgid "July"
-msgstr "Июль"
-
-#: ../../include/text.php:972
-msgid "August"
-msgstr "ÐвгуÑÑ‚"
-
-#: ../../include/text.php:972
-msgid "September"
-msgstr "СентÑбрь"
-
-#: ../../include/text.php:972
-msgid "October"
-msgstr "ОктÑбрь"
-
-#: ../../include/text.php:972
-msgid "November"
-msgstr "ÐоÑбрь"
-
-#: ../../include/text.php:972
-msgid "December"
-msgstr "Декабрь"
-
-#: ../../include/text.php:1057 ../../mod/message.php:400
-msgid "unknown.???"
-msgstr "неизвеÑтный.???"
-
-#: ../../include/text.php:1058 ../../mod/message.php:401
-msgid "bytes"
-msgstr "байт"
-
-#: ../../include/text.php:1094 ../../include/text.php:1109
-#: ../../include/conversation.php:820
-msgid "remove"
-msgstr "удалить"
-
-#: ../../include/text.php:1094 ../../include/text.php:1109
-msgid "[remove]"
-msgstr "[удалить]"
-
-#: ../../include/text.php:1097 ../../include/conversation.php:667
-msgid "Categories:"
-msgstr "Категории:"
-
-#: ../../include/text.php:1112 ../../include/conversation.php:668
-msgid "Filed under:"
-msgstr "Хранить под:"
-
-#: ../../include/text.php:1128 ../../include/text.php:1140
-msgid "Click to open/close"
-msgstr "Ðажмите, чтобы открыть/закрыть"
-
-#: ../../include/text.php:1311 ../../mod/events.php:326
-msgid "link to source"
-msgstr "ÑÑылка на иÑточник"
+#: ../../include/enotify.php:255
+msgid "[Red:Notify] Introduction received"
+msgstr "[Red:Уведомление] введение получено"
-#: ../../include/text.php:1330
-msgid "Select a page layout: "
+#: ../../include/enotify.php:256
+#, php-format
+msgid "%1$s, you've received an introduction from '%2$s' at %3$s"
msgstr ""
-#: ../../include/text.php:1333 ../../include/text.php:1398
-msgid "default"
-msgstr "по умолчанию"
-
-#: ../../include/text.php:1369
-msgid "Page content type: "
+#: ../../include/enotify.php:257
+#, php-format
+msgid "%1$s, you've received [zrl=%2$s]an introduction[/zrl] from %3$s."
msgstr ""
-#: ../../include/text.php:1410
-msgid "Select an alternate language"
-msgstr "Выбор альтернативного Ñзыка"
-
-#: ../../include/text.php:1562 ../../include/conversation.php:117
-#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:45
-msgid "photo"
-msgstr "фото"
-
-#: ../../include/text.php:1565 ../../include/conversation.php:120
-#: ../../mod/tagger.php:49
-msgid "event"
-msgstr "мероприÑтие"
-
-#: ../../include/text.php:1568 ../../include/conversation.php:145
-#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:53
-msgid "status"
-msgstr "ÑтатуÑ"
-
-#: ../../include/text.php:1570 ../../include/conversation.php:147
-#: ../../mod/tagger.php:55
-msgid "comment"
-msgstr "комментарий"
-
-#: ../../include/text.php:1575
-msgid "activity"
-msgstr "активноÑÑ‚ÑŒ"
+#: ../../include/enotify.php:261 ../../include/enotify.php:280
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Ð’Ñ‹ можете поÑетить ​​профиль в %s"
-#: ../../include/text.php:1836
-msgid "Design"
+#: ../../include/enotify.php:263
+#, php-format
+msgid "Please visit %s to approve or reject the introduction."
msgstr ""
-#: ../../include/text.php:1837
-msgid "Blocks"
-msgstr ""
+#: ../../include/enotify.php:270
+msgid "[Red:Notify] Friend suggestion received"
+msgstr "[Red:Уведомление] Получено предложение дружить"
-#: ../../include/text.php:1838
-msgid "Menus"
+#: ../../include/enotify.php:271
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
msgstr ""
-#: ../../include/text.php:1839
-msgid "Layouts"
+#: ../../include/enotify.php:272
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
msgstr ""
-#: ../../include/text.php:1840
-msgid "Pages"
-msgstr ""
+#: ../../include/enotify.php:278
+msgid "Name:"
+msgstr "ИмÑ:"
-#: ../../include/page_widgets.php:6
-msgid "New Page"
+#: ../../include/enotify.php:279
+msgid "Photo:"
+msgstr "Фото:"
+
+#: ../../include/enotify.php:282
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
msgstr ""
-#: ../../include/auth.php:66
+#: ../../include/auth.php:69
msgid "Logged out."
msgstr "Вышел из ÑиÑтемы."
-#: ../../include/auth.php:178
+#: ../../include/auth.php:181
msgid "Failed authentication"
msgstr "Ошибка аутентификации"
-#: ../../include/auth.php:187
+#: ../../include/auth.php:190
msgid "Login failed."
msgstr "Ðе удалоÑÑŒ войти."
#: ../../include/contact_widgets.php:14
#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr ""
-
-#: ../../include/contact_widgets.php:20
-msgid "Add New Connection"
-msgstr "Добавить новый контакт"
-
-#: ../../include/contact_widgets.php:21
-msgid "Enter the channel address"
-msgstr "Введите Ð°Ð´Ñ€ÐµÑ ÐºÐ°Ð½Ð°Ð»Ð°"
-
-#: ../../include/contact_widgets.php:22
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Пример: bob@example.com, http://example.com/barbara"
-
-#: ../../include/contact_widgets.php:38
-#, php-format
msgid "%d invitation available"
msgid_plural "%d invitations available"
msgstr[0] "имеетÑÑ %d приглашение"
msgstr[1] "имеютÑÑ %d приглашениÑ"
msgstr[2] "имеетÑÑ %d приглашений"
-#: ../../include/contact_widgets.php:44
+#: ../../include/contact_widgets.php:20
msgid "Find Channels"
msgstr "ПоиÑк контактов"
-#: ../../include/contact_widgets.php:45
+#: ../../include/contact_widgets.php:21
msgid "Enter name or interest"
msgstr "Впишите Ð¸Ð¼Ñ Ð¸Ð»Ð¸ интереÑ"
-#: ../../include/contact_widgets.php:46
+#: ../../include/contact_widgets.php:22
msgid "Connect/Follow"
msgstr "Подключить/Ñледовать"
-#: ../../include/contact_widgets.php:47
+#: ../../include/contact_widgets.php:23
msgid "Examples: Robert Morgenstein, Fishing"
msgstr "Примеры: Владимир Ильич, Революционер"
-#: ../../include/contact_widgets.php:48 ../../mod/directory.php:182
-#: ../../mod/directory.php:187 ../../mod/connections.php:666
+#: ../../include/contact_widgets.php:24 ../../mod/directory.php:205
+#: ../../mod/directory.php:210 ../../mod/connections.php:355
msgid "Find"
msgstr "ПоиÑк"
-#: ../../include/contact_widgets.php:49 ../../mod/suggest.php:64
+#: ../../include/contact_widgets.php:25 ../../mod/suggest.php:59
msgid "Channel Suggestions"
msgstr "Рекомендации каналов"
-#: ../../include/contact_widgets.php:50
-msgid "Similar Interests"
-msgstr "Похожие интереÑÑ‹"
-
-#: ../../include/contact_widgets.php:51
+#: ../../include/contact_widgets.php:27
msgid "Random Profile"
msgstr "Случайные"
-#: ../../include/contact_widgets.php:52
+#: ../../include/contact_widgets.php:28
msgid "Invite Friends"
msgstr "ПриглаÑить друзей"
-#: ../../include/contact_widgets.php:79 ../../include/contact_widgets.php:113
-msgid "Everything"
-msgstr "Ð’Ñе"
-
-#: ../../include/contact_widgets.php:110
-msgid "Categories"
-msgstr "Категории"
-
-#: ../../include/contact_widgets.php:143
+#: ../../include/contact_widgets.php:120
#, php-format
msgid "%d connection in common"
msgid_plural "%d connections in common"
@@ -2070,6 +2553,31 @@ msgstr[0] "%d ÑовмеÑтный контакт"
msgstr[1] "%d ÑовмеÑтных контакта"
msgstr[2] "%d ÑовмеÑтных контактов"
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "ÐÐ¾Ð²Ð°Ñ Ñтраница"
+
+#: ../../include/page_widgets.php:8 ../../include/ItemObject.php:96
+#: ../../mod/thing.php:229 ../../mod/webpages.php:118 ../../mod/menu.php:55
+#: ../../mod/layouts.php:102 ../../mod/filestorage.php:171
+#: ../../mod/settings.php:569 ../../mod/editlayout.php:101
+#: ../../mod/editpost.php:98 ../../mod/blocks.php:93
+#: ../../mod/editwebpage.php:144 ../../mod/editblock.php:115
+msgid "Edit"
+msgstr "Редактировать"
+
+#: ../../include/plugin.php:475 ../../include/plugin.php:477
+msgid "Click here to upgrade."
+msgstr "Ðажмите здеÑÑŒ, чтобы обновить."
+
+#: ../../include/plugin.php:483
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr ""
+
+#: ../../include/plugin.php:488
+msgid "This action is not available under your subscription plan."
+msgstr ""
+
#: ../../include/follow.php:21
msgid "Channel is blocked on this site."
msgstr "Канал блокируетÑÑ Ð½Ð° Ñтом Ñайте."
@@ -2167,156 +2675,359 @@ msgid "Can edit my \"public\" pages"
msgstr "Может редактировать мои \"публичные\" Ñтраницы"
#: ../../include/permissions.php:31
+msgid "Can source my \"public\" posts in derived channels"
+msgstr ""
+
+#: ../../include/permissions.php:31
+msgid "Somewhat advanced - very useful in open communities"
+msgstr ""
+
+#: ../../include/permissions.php:32
msgid "Can administer my channel resources"
msgstr "Может админиÑтрировать мои реÑурÑÑ‹ канала"
-#: ../../include/permissions.php:31
+#: ../../include/permissions.php:32
msgid ""
"Extremely advanced. Leave this alone unless you know what you are doing"
msgstr ""
-#: ../../include/taxonomy.php:166
-msgid "Tags"
-msgstr "ТÑги"
+#: ../../include/comanche.php:35 ../../view/theme/redbasic/php/config.php:62
+#: ../../view/theme/apw/php/config.php:176
+msgid "Default"
+msgstr "По умолчанию"
-#: ../../include/taxonomy.php:187
-msgid "have"
-msgstr "иметь"
+#: ../../include/identity.php:29 ../../mod/item.php:1143
+msgid "Unable to obtain identity information from database"
+msgstr "Ðевозможно получить идентификационную информацию из базы данных"
-#: ../../include/taxonomy.php:187
-msgid "has"
-msgstr "еÑÑ‚ÑŒ"
+#: ../../include/identity.php:62
+msgid "Empty name"
+msgstr "ПуÑтое имÑ"
-#: ../../include/taxonomy.php:188
-msgid "want"
-msgstr "хотеть"
+#: ../../include/identity.php:64
+msgid "Name too long"
+msgstr "Слишком длинное имÑ"
-#: ../../include/taxonomy.php:188
-msgid "wants"
-msgstr "хочет"
+#: ../../include/identity.php:143
+msgid "No account identifier"
+msgstr "идентификатор аккаунта отÑутÑтвует"
-#: ../../include/taxonomy.php:189 ../../include/ItemObject.php:165
-msgid "like"
-msgstr "мне нравитьÑÑ"
+#: ../../include/identity.php:153
+msgid "Nickname is required."
+msgstr "ТребуетÑÑ Ð¿Ñевдоним."
-#: ../../include/taxonomy.php:189
-msgid "likes"
-msgstr "мне нравитьÑÑ"
+#: ../../include/identity.php:167
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "ПÑевдоним имеет недопуÑтимые Ñимволы или уже иÑпользуетÑÑ Ð½Ð° Ñтом Ñайте."
-#: ../../include/taxonomy.php:190 ../../include/ItemObject.php:166
-msgid "dislike"
-msgstr "мне не-нравитьÑÑ"
+#: ../../include/identity.php:226
+msgid "Unable to retrieve created identity"
+msgstr ""
-#: ../../include/taxonomy.php:190
-msgid "dislikes"
-msgstr "мне не-нравитьÑÑ"
+#: ../../include/identity.php:285
+msgid "Default Profile"
+msgstr "Профиль по умолчанию"
-#: ../../include/plugin.php:440 ../../include/plugin.php:442
-msgid "Click here to upgrade."
-msgstr "Ðажмите здеÑÑŒ, чтобы обновить."
+#: ../../include/identity.php:477
+msgid "Requested channel is not available."
+msgstr "Запрашиваемый канал не доÑтупен."
-#: ../../include/plugin.php:448
-msgid "This action exceeds the limits set by your subscription plan."
+#: ../../include/identity.php:489
+msgid " Sorry, you don't have the permission to view this profile. "
msgstr ""
-#: ../../include/plugin.php:453
-msgid "This action is not available under your subscription plan."
-msgstr ""
+#: ../../include/identity.php:524 ../../mod/webpages.php:8
+#: ../../mod/connect.php:13 ../../mod/layouts.php:8
+#: ../../mod/achievements.php:8 ../../mod/filestorage.php:40
+#: ../../mod/blocks.php:10 ../../mod/profile.php:16
+msgid "Requested profile is not available."
+msgstr "Запрашиваемый профиль не доÑтупен."
-#: ../../include/ItemObject.php:87 ../../mod/photos.php:945
-msgid "Private Message"
-msgstr "Личное Ñообщение"
+#: ../../include/identity.php:639 ../../mod/profiles.php:615
+msgid "Change profile photo"
+msgstr "Изменить фотографию профилÑ"
-#: ../../include/ItemObject.php:92 ../../mod/webpages.php:98
-#: ../../mod/settings.php:683 ../../mod/menu.php:55 ../../mod/layouts.php:89
-#: ../../mod/editlayout.php:101 ../../mod/editwebpage.php:120
-#: ../../mod/blocks.php:92 ../../mod/editpost.php:94
-#: ../../mod/editblock.php:115
-msgid "Edit"
-msgstr "Редактировать"
+#: ../../include/identity.php:645
+msgid "Profiles"
+msgstr "Профили"
-#: ../../include/ItemObject.php:104 ../../include/conversation.php:631
-#: ../../mod/settings.php:684 ../../mod/group.php:182
-#: ../../mod/photos.php:1125 ../../mod/connections.php:344
-#: ../../mod/admin.php:640 ../../mod/filestorage.php:62
-msgid "Delete"
-msgstr "Удалить"
+#: ../../include/identity.php:645
+msgid "Manage/edit profiles"
+msgstr "Управление / Редактирование профилей"
-#: ../../include/ItemObject.php:110 ../../include/conversation.php:630
-msgid "Select"
-msgstr "Выбрать"
+#: ../../include/identity.php:646 ../../mod/profiles.php:616
+msgid "Create New Profile"
+msgstr "Создать новый профиль"
-#: ../../include/ItemObject.php:114
+#: ../../include/identity.php:649
+msgid "Edit Profile"
+msgstr "Редактировать профиль"
+
+#: ../../include/identity.php:660 ../../mod/profiles.php:627
+msgid "Profile Image"
+msgstr "Изображение профилÑ"
+
+#: ../../include/identity.php:663 ../../mod/profiles.php:630
+msgid "visible to everybody"
+msgstr "видно вÑем"
+
+#: ../../include/identity.php:664 ../../mod/profiles.php:631
+msgid "Edit visibility"
+msgstr "Редактировать видимоÑÑ‚ÑŒ"
+
+#: ../../include/identity.php:678 ../../include/identity.php:903
+#: ../../mod/directory.php:158
+msgid "Gender:"
+msgstr "Пол:"
+
+#: ../../include/identity.php:679 ../../include/identity.php:923
+#: ../../mod/directory.php:160
+msgid "Status:"
+msgstr "СтатуÑ:"
+
+#: ../../include/identity.php:680 ../../include/identity.php:934
+#: ../../mod/directory.php:162
+msgid "Homepage:"
+msgstr "ДомашнÑÑ Ñтраница:"
+
+#: ../../include/identity.php:747 ../../include/identity.php:827
+#: ../../mod/ping.php:230
+msgid "g A l F d"
+msgstr "g A l F d"
+
+#: ../../include/identity.php:748 ../../include/identity.php:828
+msgid "F d"
+msgstr "F d"
+
+#: ../../include/identity.php:793 ../../include/identity.php:868
+#: ../../mod/ping.php:252
+msgid "[today]"
+msgstr "[ÑегоднÑ]"
+
+#: ../../include/identity.php:805
+msgid "Birthday Reminders"
+msgstr "ÐÐ°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¾ ДнÑÑ… РождениÑ"
+
+#: ../../include/identity.php:806
+msgid "Birthdays this week:"
+msgstr "Дни Ð Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð½Ð° Ñтой неделе:"
+
+#: ../../include/identity.php:861
+msgid "[No description]"
+msgstr "[без опиÑаниÑ]"
+
+#: ../../include/identity.php:879
+msgid "Event Reminders"
+msgstr "ÐÐ°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¼ÐµÑ€Ð¾Ð¿Ñ€Ð¸Ñтий"
+
+#: ../../include/identity.php:880
+msgid "Events this week:"
+msgstr "МероприÑÑ‚Ð¸Ñ Ð½Ð° Ñтой неделе:"
+
+#: ../../include/identity.php:893 ../../include/identity.php:975
+#: ../../mod/profperm.php:103
+msgid "Profile"
+msgstr "Профиль"
+
+#: ../../include/identity.php:901 ../../mod/settings.php:911
+msgid "Full Name:"
+msgstr "Полное имÑ:"
+
+#: ../../include/identity.php:908
+msgid "j F, Y"
+msgstr "j F, Y"
+
+#: ../../include/identity.php:909
+msgid "j F"
+msgstr "j F"
+
+#: ../../include/identity.php:916
+msgid "Birthday:"
+msgstr "День РождениÑ:"
+
+#: ../../include/identity.php:920
+msgid "Age:"
+msgstr "ВозраÑÑ‚:"
+
+#: ../../include/identity.php:929
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "Ð´Ð»Ñ %1$d %2$s"
+
+#: ../../include/identity.php:932 ../../mod/profiles.php:538
+msgid "Sexual Preference:"
+msgstr "СекÑÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ:"
+
+#: ../../include/identity.php:936 ../../mod/profiles.php:540
+msgid "Hometown:"
+msgstr "Родной город:"
+
+#: ../../include/identity.php:938
+msgid "Tags:"
+msgstr "ТÑги:"
+
+#: ../../include/identity.php:940 ../../mod/profiles.php:541
+msgid "Political Views:"
+msgstr "ПолитичеÑкие взглÑды:"
+
+#: ../../include/identity.php:942
+msgid "Religion:"
+msgstr "РелигиÑ:"
+
+#: ../../include/identity.php:944 ../../mod/directory.php:164
+msgid "About:"
+msgstr "О Ñебе:"
+
+#: ../../include/identity.php:946
+msgid "Hobbies/Interests:"
+msgstr "Хобби / интереÑÑ‹:"
+
+#: ../../include/identity.php:948 ../../mod/profiles.php:544
+msgid "Likes:"
+msgstr "Что вам нравитÑÑ:"
+
+#: ../../include/identity.php:950 ../../mod/profiles.php:545
+msgid "Dislikes:"
+msgstr "Что вам не нравитÑÑ:"
+
+#: ../../include/identity.php:953
+msgid "Contact information and Social Networks:"
+msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ Ñоциальные Ñети контакта:"
+
+#: ../../include/identity.php:955
+msgid "Musical interests:"
+msgstr "Музыкальные интереÑÑ‹:"
+
+#: ../../include/identity.php:957
+msgid "Books, literature:"
+msgstr "Книги, литература:"
+
+#: ../../include/identity.php:959
+msgid "Television:"
+msgstr "Телевидение:"
+
+#: ../../include/identity.php:961
+msgid "Film/dance/culture/entertainment:"
+msgstr "Кино / танцы / культура / развлечениÑ:"
+
+#: ../../include/identity.php:963
+msgid "Love/Romance:"
+msgstr "Любовь / РоманÑ:"
+
+#: ../../include/identity.php:965
+msgid "Work/employment:"
+msgstr "Работа / ЗанÑтоÑÑ‚ÑŒ:"
+
+#: ../../include/identity.php:967
+msgid "School/education:"
+msgstr "Школа / образование:"
+
+#: ../../include/items.php:201 ../../mod/like.php:55 ../../mod/group.php:68
+#: ../../mod/profperm.php:19 ../../index.php:343
+msgid "Permission denied"
+msgstr "ДоÑтуп запрещен"
+
+#: ../../include/items.php:3383 ../../mod/thing.php:74 ../../mod/admin.php:150
+#: ../../mod/admin.php:730 ../../mod/admin.php:933 ../../mod/viewsrc.php:18
+#: ../../mod/home.php:63 ../../mod/filestorage.php:18 ../../mod/display.php:32
+#: ../../mod/channel.php:182
+msgid "Item not found."
+msgstr "Элемент не найден."
+
+#: ../../include/items.php:3734 ../../mod/group.php:38 ../../mod/group.php:140
+msgid "Collection not found."
+msgstr "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð½Ðµ найдена."
+
+#: ../../include/items.php:3749
+msgid "Collection is empty."
+msgstr "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð¿ÑƒÑта."
+
+#: ../../include/items.php:3756
+#, php-format
+msgid "Collection: %s"
+msgstr "Коллекции: %s"
+
+#: ../../include/items.php:3767
+#, php-format
+msgid "Connection: %s"
+msgstr "Контакты: %s"
+
+#: ../../include/items.php:3770
+msgid "Connection not found."
+msgstr "Контакт не найден."
+
+#: ../../include/ItemObject.php:89 ../../mod/photos.php:972
+msgid "Private Message"
+msgstr "Личное Ñообщение"
+
+#: ../../include/ItemObject.php:118
msgid "save to folder"
msgstr "Ñохранить в папку"
-#: ../../include/ItemObject.php:142
+#: ../../include/ItemObject.php:146
msgid "add star"
msgstr "добавить маркировку"
-#: ../../include/ItemObject.php:143
+#: ../../include/ItemObject.php:147
msgid "remove star"
msgstr "удалить маркировку"
-#: ../../include/ItemObject.php:144
+#: ../../include/ItemObject.php:148
msgid "toggle star status"
msgstr "переключение ÑтатуÑа маркировки"
-#: ../../include/ItemObject.php:148
+#: ../../include/ItemObject.php:152
msgid "starred"
msgstr "помеченные"
-#: ../../include/ItemObject.php:159
+#: ../../include/ItemObject.php:169
msgid "add tag"
msgstr "добавить тег"
-#: ../../include/ItemObject.php:165 ../../mod/photos.php:1055
+#: ../../include/ItemObject.php:175 ../../mod/photos.php:1078
msgid "I like this (toggle)"
msgstr "мне Ñто нравитÑÑ (переключение)"
-#: ../../include/ItemObject.php:166 ../../mod/photos.php:1056
+#: ../../include/ItemObject.php:176 ../../mod/photos.php:1079
msgid "I don't like this (toggle)"
msgstr "мне Ñто не нравитÑÑ (переключение)"
-#: ../../include/ItemObject.php:168
+#: ../../include/ItemObject.php:178
msgid "Share this"
msgstr "ПоделитьÑÑ Ñтим"
-#: ../../include/ItemObject.php:168
+#: ../../include/ItemObject.php:178
msgid "share"
msgstr "поделитьÑÑ"
-#: ../../include/ItemObject.php:192 ../../include/ItemObject.php:193
+#: ../../include/ItemObject.php:202 ../../include/ItemObject.php:203
#, php-format
msgid "View %s's profile - %s"
msgstr "ПроÑмотр %s's Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ - %s"
-#: ../../include/ItemObject.php:194
+#: ../../include/ItemObject.php:204
msgid "to"
msgstr "к"
-#: ../../include/ItemObject.php:195
+#: ../../include/ItemObject.php:205
+msgid "via"
+msgstr "через"
+
+#: ../../include/ItemObject.php:206
msgid "Wall-to-Wall"
msgstr "Стена-к-Стене"
-#: ../../include/ItemObject.php:196
+#: ../../include/ItemObject.php:207
msgid "via Wall-To-Wall:"
msgstr "через Стена-к-Стене:"
-#: ../../include/ItemObject.php:206 ../../include/conversation.php:677
+#: ../../include/ItemObject.php:221
#, php-format
-msgid " from %s"
-msgstr " от %s"
-
-#: ../../include/ItemObject.php:233 ../../include/conversation.php:696
-#: ../../include/conversation.php:1092 ../../mod/photos.php:1058
-#: ../../mod/message.php:298 ../../mod/message.php:461
-#: ../../mod/editlayout.php:110 ../../mod/editwebpage.php:129
-#: ../../mod/editpost.php:103 ../../mod/editblock.php:124
-msgid "Please wait"
-msgstr "Подождите пожалуйÑта"
+msgid "Expires: %s"
+msgstr ""
-#: ../../include/ItemObject.php:254
+#: ../../include/ItemObject.php:269
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
@@ -2324,325 +3035,64 @@ msgstr[0] "%d комментарий"
msgstr[1] "%d комментариÑ"
msgstr[2] "%d комментариев"
-#: ../../include/ItemObject.php:502 ../../mod/photos.php:1073
-#: ../../mod/photos.php:1157
+#: ../../include/ItemObject.php:534 ../../mod/photos.php:1097
+#: ../../mod/photos.php:1184
msgid "This is you"
msgstr "Это вы"
-#: ../../include/ItemObject.php:505 ../../mod/events.php:458
-#: ../../mod/thing.php:190 ../../mod/invite.php:153 ../../mod/setup.php:283
-#: ../../mod/setup.php:326 ../../mod/settings.php:621
-#: ../../mod/settings.php:733 ../../mod/settings.php:761
-#: ../../mod/settings.php:785 ../../mod/settings.php:856
-#: ../../mod/settings.php:1023 ../../mod/connect.php:96 ../../mod/group.php:87
-#: ../../mod/photos.php:678 ../../mod/photos.php:772 ../../mod/photos.php:1037
-#: ../../mod/photos.php:1076 ../../mod/photos.php:1160
-#: ../../mod/message.php:299 ../../mod/message.php:460
-#: ../../mod/connections.php:421 ../../mod/profiles.php:529
-#: ../../mod/admin.php:409 ../../mod/admin.php:633 ../../mod/admin.php:769
-#: ../../mod/admin.php:968 ../../mod/admin.php:1055 ../../mod/import.php:385
-#: ../../mod/crepair.php:166 ../../mod/poke.php:166 ../../mod/fsuggest.php:108
-#: ../../mod/mood.php:137 ../../view/theme/redbasic/php/config.php:136
-#: ../../view/theme/redbasic/php/config.php:154
-#: ../../view/theme/redstrap/php/config.php:131
+#: ../../include/ItemObject.php:537 ../../mod/events.php:470
+#: ../../mod/thing.php:276 ../../mod/thing.php:318 ../../mod/invite.php:156
+#: ../../mod/connedit.php:434 ../../mod/setup.php:304 ../../mod/setup.php:347
+#: ../../mod/connect.php:92 ../../mod/sources.php:97 ../../mod/sources.php:131
+#: ../../mod/admin.php:420 ../../mod/admin.php:686 ../../mod/admin.php:826
+#: ../../mod/admin.php:1025 ../../mod/admin.php:1112 ../../mod/group.php:81
+#: ../../mod/photos.php:693 ../../mod/photos.php:798 ../../mod/photos.php:1060
+#: ../../mod/photos.php:1100 ../../mod/photos.php:1187
+#: ../../mod/profiles.php:518 ../../mod/filestorage.php:132
+#: ../../mod/import.php:387 ../../mod/settings.php:507
+#: ../../mod/settings.php:619 ../../mod/settings.php:647
+#: ../../mod/settings.php:671 ../../mod/settings.php:742
+#: ../../mod/settings.php:903 ../../mod/mail.php:223 ../../mod/mail.php:335
+#: ../../mod/poke.php:166 ../../mod/fsuggest.php:108 ../../mod/mood.php:142
+#: ../../view/theme/redbasic/php/config.php:85
+#: ../../view/theme/apw/php/config.php:231
+#: ../../view/theme/blogga/view/theme/blog/config.php:67
+#: ../../view/theme/blogga/php/config.php:67
msgid "Submit"
msgstr "Отправить"
-#: ../../include/ItemObject.php:506
+#: ../../include/ItemObject.php:538
msgid "Bold"
msgstr "Жирный"
-#: ../../include/ItemObject.php:507
+#: ../../include/ItemObject.php:539
msgid "Italic"
msgstr "КурÑив"
-#: ../../include/ItemObject.php:508
+#: ../../include/ItemObject.php:540
msgid "Underline"
msgstr "Подчеркнутый"
-#: ../../include/ItemObject.php:509
+#: ../../include/ItemObject.php:541
msgid "Quote"
msgstr "Цитата"
-#: ../../include/ItemObject.php:510
+#: ../../include/ItemObject.php:542
msgid "Code"
msgstr "Код"
-#: ../../include/ItemObject.php:511
+#: ../../include/ItemObject.php:543
msgid "Image"
msgstr "Изображение"
-#: ../../include/ItemObject.php:512
+#: ../../include/ItemObject.php:544
msgid "Link"
msgstr "СÑылка"
-#: ../../include/ItemObject.php:513
+#: ../../include/ItemObject.php:545
msgid "Video"
msgstr "Видео"
-#: ../../include/ItemObject.php:514 ../../include/conversation.php:1112
-#: ../../mod/photos.php:1077 ../../mod/editlayout.php:130
-#: ../../mod/editwebpage.php:151 ../../mod/editpost.php:123
-#: ../../mod/editblock.php:145
-msgid "Preview"
-msgstr "Предварительный проÑмотр"
-
-#: ../../include/conversation.php:123
-msgid "channel"
-msgstr "канал"
-
-#: ../../include/conversation.php:161 ../../mod/like.php:134
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s нравитÑÑ %2$s's %3$s"
-
-#: ../../include/conversation.php:164 ../../mod/like.php:136
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s не нравитÑÑ %2$s's %3$s"
-
-#: ../../include/conversation.php:201
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s теперь Ñоединен Ñ %2$s"
-
-#: ../../include/conversation.php:232
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s подпихнул %2$s"
-
-#: ../../include/conversation.php:254 ../../mod/mood.php:63
-#, php-format
-msgid "%1$s is currently %2$s"
-msgstr "%1$s в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ %2$s"
-
-#: ../../include/conversation.php:655
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "ПроÑмотр %s's Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ @ %s"
-
-#: ../../include/conversation.php:694
-msgid "View in context"
-msgstr "Показать в контекÑте"
-
-#: ../../include/conversation.php:824
-msgid "Loading..."
-msgstr "Загрузка..."
-
-#: ../../include/conversation.php:825
-msgid "Delete Selected Items"
-msgstr "Удалить выбранные Ñлементы"
-
-#: ../../include/conversation.php:913
-msgid "Follow Thread"
-msgstr "Следобать теме"
-
-#: ../../include/conversation.php:982
-#, php-format
-msgid "%s likes this."
-msgstr "%s нравитÑÑ Ñто."
-
-#: ../../include/conversation.php:982
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s не нравитÑÑ Ñто."
-
-#: ../../include/conversation.php:986
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgstr "<span %1$s>%2$d чел.</span> нравитÑÑ Ñто."
-
-#: ../../include/conversation.php:988
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgstr "<span %1$s>%2$d чел.</span> не нравитÑÑ Ñто."
-
-#: ../../include/conversation.php:994
-msgid "and"
-msgstr "и"
-
-#: ../../include/conversation.php:997
-#, php-format
-msgid ", and %d other people"
-msgstr ", и %d другие люди"
-
-#: ../../include/conversation.php:998
-#, php-format
-msgid "%s like this."
-msgstr "%s нравитÑÑ Ñто."
-
-#: ../../include/conversation.php:998
-#, php-format
-msgid "%s don't like this."
-msgstr "%s не нравитÑÑ Ñто."
-
-#: ../../include/conversation.php:1048
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Видно Ð´Ð»Ñ <strong>вÑех</strong>"
-
-#: ../../include/conversation.php:1049 ../../mod/message.php:253
-#: ../../mod/message.php:365
-msgid "Please enter a link URL:"
-msgstr "ПожалуйÑта, введите URL ÑÑылки:"
-
-#: ../../include/conversation.php:1050
-msgid "Please enter a video link/URL:"
-msgstr "ПожалуйÑта, введите URL видео-ÑÑылки:"
-
-#: ../../include/conversation.php:1051
-msgid "Please enter an audio link/URL:"
-msgstr "ПожалуйÑта, введите URL аудио-ÑÑылки:"
-
-#: ../../include/conversation.php:1052
-msgid "Tag term:"
-msgstr "Теги:"
-
-#: ../../include/conversation.php:1053 ../../mod/filer.php:35
-msgid "Save to Folder:"
-msgstr "Сохранить в папку:"
-
-#: ../../include/conversation.php:1054
-msgid "Where are you right now?"
-msgstr "Где вы ÑейчаÑ?"
-
-#: ../../include/conversation.php:1069 ../../mod/photos.php:1057
-msgid "Share"
-msgstr "ПоделитьÑÑ"
-
-#: ../../include/conversation.php:1071
-msgid "Page link title"
-msgstr "СÑылка заголовока Ñтраницы"
-
-#: ../../include/conversation.php:1073 ../../mod/message.php:295
-#: ../../mod/message.php:457 ../../mod/editlayout.php:102
-#: ../../mod/editwebpage.php:121 ../../mod/editpost.php:95
-#: ../../mod/editblock.php:116
-msgid "Upload photo"
-msgstr "Загрузить фотографию"
-
-#: ../../include/conversation.php:1074
-msgid "upload photo"
-msgstr "загрузить фотографию"
-
-#: ../../include/conversation.php:1075 ../../mod/message.php:296
-#: ../../mod/message.php:458 ../../mod/editlayout.php:103
-#: ../../mod/editwebpage.php:122 ../../mod/editpost.php:96
-#: ../../mod/editblock.php:117
-msgid "Attach file"
-msgstr "Прикрепить файл"
-
-#: ../../include/conversation.php:1076
-msgid "attach file"
-msgstr "прикрепить файл"
-
-#: ../../include/conversation.php:1077 ../../mod/message.php:297
-#: ../../mod/message.php:459 ../../mod/editlayout.php:104
-#: ../../mod/editwebpage.php:123 ../../mod/editpost.php:97
-#: ../../mod/editblock.php:118
-msgid "Insert web link"
-msgstr "Ð’Ñтавить веб-ÑÑылку"
-
-#: ../../include/conversation.php:1078
-msgid "web link"
-msgstr "веб-ÑÑылка"
-
-#: ../../include/conversation.php:1079
-msgid "Insert video link"
-msgstr "Ð’Ñтавить видео-ÑÑылку"
-
-#: ../../include/conversation.php:1080
-msgid "video link"
-msgstr "видео-ÑÑылка"
-
-#: ../../include/conversation.php:1081
-msgid "Insert audio link"
-msgstr "Ð’Ñтавить аудио-ÑÑылку"
-
-#: ../../include/conversation.php:1082
-msgid "audio link"
-msgstr "аудио-ÑÑылка"
-
-#: ../../include/conversation.php:1083 ../../mod/editlayout.php:108
-#: ../../mod/editwebpage.php:127 ../../mod/editpost.php:101
-#: ../../mod/editblock.php:122
-msgid "Set your location"
-msgstr "Указание Ñвоего раÑположениÑ"
-
-#: ../../include/conversation.php:1084
-msgid "set location"
-msgstr "указание раÑположениÑ"
-
-#: ../../include/conversation.php:1085 ../../mod/editlayout.php:109
-#: ../../mod/editwebpage.php:128 ../../mod/editpost.php:102
-#: ../../mod/editblock.php:123
-msgid "Clear browser location"
-msgstr "Стереть указание раÑположениÑ"
-
-#: ../../include/conversation.php:1086
-msgid "clear location"
-msgstr "Ñтереть указание раÑположениÑ"
-
-#: ../../include/conversation.php:1088 ../../mod/editlayout.php:122
-#: ../../mod/editwebpage.php:143 ../../mod/editpost.php:115
-#: ../../mod/editblock.php:137
-msgid "Set title"
-msgstr "Заголовок"
-
-#: ../../include/conversation.php:1091 ../../mod/editlayout.php:124
-#: ../../mod/editwebpage.php:145 ../../mod/editpost.php:117
-#: ../../mod/editblock.php:139
-msgid "Categories (comma-separated list)"
-msgstr "Категории (ÑпиÑок через запÑтую)"
-
-#: ../../include/conversation.php:1093 ../../mod/editlayout.php:111
-#: ../../mod/editwebpage.php:130 ../../mod/editpost.php:104
-#: ../../mod/editblock.php:125
-msgid "Permission settings"
-msgstr "ÐаÑтройки разрешений"
-
-#: ../../include/conversation.php:1094
-msgid "permissions"
-msgstr "разрешениÑ"
-
-#: ../../include/conversation.php:1102 ../../mod/editlayout.php:119
-#: ../../mod/editwebpage.php:138 ../../mod/editpost.php:112
-#: ../../mod/editblock.php:134
-msgid "Public post"
-msgstr "Публичное Ñообщение"
-
-#: ../../include/conversation.php:1104 ../../mod/editlayout.php:125
-#: ../../mod/editwebpage.php:146 ../../mod/editpost.php:118
-#: ../../mod/editblock.php:140
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Пример: bob@example.com, mary@example.com"
-
-#: ../../include/items.php:157 ../../mod/like.php:55 ../../mod/group.php:74
-#: ../../mod/profperm.php:28 ../../index.php:339
-msgid "Permission denied"
-msgstr "ДоÑтуп запрещен"
-
-#: ../../include/items.php:3308 ../../mod/page.php:66 ../../mod/viewsrc.php:18
-#: ../../mod/home.php:64 ../../mod/admin.php:142 ../../mod/admin.php:677
-#: ../../mod/admin.php:876 ../../mod/display.php:32
-msgid "Item not found."
-msgstr "Элемент не найден."
-
-#: ../../include/items.php:3480
-msgid "Archives"
-msgstr "Ðрхивы"
-
-#: ../../include/items.php:3641 ../../mod/group.php:44 ../../mod/group.php:146
-msgid "Collection not found."
-msgstr "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð½Ðµ найдена."
-
-#: ../../include/items.php:3651
-msgid "Collection has no members."
-msgstr "Ð’ коллекции нет ни одного пользователÑ."
-
-#: ../../include/items.php:3667
-msgid "Connection not found."
-msgstr "Контакт не найден."
-
#: ../../include/security.php:49
msgid "Welcome "
msgstr "Добро пожаловать"
@@ -2655,21 +3105,21 @@ msgstr "Загрузите пожалуйÑта фотографию профиÐ
msgid "Welcome back "
msgstr "Добро пожаловать"
-#: ../../include/security.php:357
+#: ../../include/security.php:360
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 ""
-#: ../../include/zot.php:423
+#: ../../include/zot.php:545
msgid "Invalid data packet"
msgstr ""
-#: ../../include/zot.php:433
+#: ../../include/zot.php:555
msgid "Unable to verify channel signature"
msgstr "Ðевозможно проверить Ñигнатуру канала"
-#: ../../include/zot.php:571
+#: ../../include/zot.php:732
#, php-format
msgid "Unable to verify site signature for %s"
msgstr ""
@@ -2678,147 +3128,159 @@ msgstr ""
msgid "No channel."
msgstr "Ðе канал."
-#: ../../mod/common.php:47
+#: ../../mod/common.php:39
msgid "Common connections"
msgstr "Общие контакты"
-#: ../../mod/common.php:52
+#: ../../mod/common.php:44
msgid "No connections in common."
msgstr "Общих контактов нет."
-#: ../../mod/events.php:66
+#: ../../mod/events.php:72
msgid "Event title and start time are required."
msgstr "Ðазвание ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ Ð¸ Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° требуетÑÑ."
-#: ../../mod/events.php:281
+#: ../../mod/events.php:287
msgid "l, F j"
msgstr "l, F j"
-#: ../../mod/events.php:303
+#: ../../mod/events.php:309
msgid "Edit event"
msgstr "Редактировать мероприÑтие"
-#: ../../mod/events.php:349
+#: ../../mod/events.php:355
msgid "Create New Event"
msgstr "Создать новое мероприÑтие"
-#: ../../mod/events.php:350
+#: ../../mod/events.php:356
msgid "Previous"
msgstr "ПредыдущаÑ"
-#: ../../mod/events.php:351 ../../mod/setup.php:237
+#: ../../mod/events.php:357 ../../mod/setup.php:258
msgid "Next"
msgstr "СледующаÑ"
-#: ../../mod/events.php:425
+#: ../../mod/events.php:429
msgid "hour:minute"
msgstr "чаÑÑ‹:минуты"
-#: ../../mod/events.php:435
+#: ../../mod/events.php:448
msgid "Event details"
msgstr "Детали мероприÑтиÑ"
-#: ../../mod/events.php:436
+#: ../../mod/events.php:449
#, php-format
msgid "Format is %s %s. Starting date and Title are required."
msgstr "Формат: %s %s. Дата начала и название необходимы."
-#: ../../mod/events.php:438
+#: ../../mod/events.php:451
msgid "Event Starts:"
msgstr "Ðачало мероприÑтий:"
-#: ../../mod/events.php:438 ../../mod/events.php:452
+#: ../../mod/events.php:451 ../../mod/events.php:465
msgid "Required"
msgstr "Ðеобходимо"
-#: ../../mod/events.php:441
+#: ../../mod/events.php:454
msgid "Finish date/time is not known or not relevant"
msgstr "Дата Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ / Ð²Ñ€ÐµÐ¼Ñ Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ð½Ðµ извеÑтны или не релевантны"
-#: ../../mod/events.php:443
+#: ../../mod/events.php:456
msgid "Event Finishes:"
msgstr "\t\nКонец мероприÑтий:"
-#: ../../mod/events.php:446
+#: ../../mod/events.php:459
msgid "Adjust for viewer timezone"
msgstr "Отрегулируйте Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра чаÑовых поÑÑов"
-#: ../../mod/events.php:448
+#: ../../mod/events.php:461
msgid "Description:"
msgstr "ОпиÑание:"
-#: ../../mod/events.php:452
+#: ../../mod/events.php:465
msgid "Title:"
msgstr "Заголовок:"
-#: ../../mod/events.php:454
+#: ../../mod/events.php:467
msgid "Share this event"
msgstr "ПоделитьÑÑ Ñтим мероприÑтием"
-#: ../../mod/thing.php:109
+#: ../../mod/thing.php:94
+msgid "Thing updated"
+msgstr ""
+
+#: ../../mod/thing.php:153
msgid "Object store: failed"
msgstr ""
-#: ../../mod/thing.php:113
-msgid "thing/stuff added"
+#: ../../mod/thing.php:157
+msgid "Thing added"
msgstr ""
-#: ../../mod/thing.php:129
+#: ../../mod/thing.php:175
#, php-format
msgid "OBJ: %1$s %2$s %3$s"
msgstr ""
-#: ../../mod/thing.php:175
-msgid "not yet implemented."
-msgstr "еще не реализовано."
+#: ../../mod/thing.php:228
+msgid "Show Thing"
+msgstr ""
-#: ../../mod/thing.php:181
-msgid "Add Stuff to your Profile"
+#: ../../mod/thing.php:235
+msgid "item not found."
+msgstr "Элемент не найден."
+
+#: ../../mod/thing.php:263
+msgid "Edit Thing"
msgstr ""
-#: ../../mod/thing.php:183
+#: ../../mod/thing.php:265 ../../mod/thing.php:311
msgid "Select a profile"
msgstr "Выберите профиль"
-#: ../../mod/thing.php:185
+#: ../../mod/thing.php:267 ../../mod/thing.php:313
msgid "Select a category of stuff. e.g. I ______ something"
msgstr ""
-#: ../../mod/thing.php:187
-msgid "Name of thing or stuff e.g. something"
+#: ../../mod/thing.php:270 ../../mod/thing.php:315
+msgid "Name of thing e.g. something"
msgstr ""
-#: ../../mod/thing.php:188
-msgid "URL of thing or stuff (optional)"
+#: ../../mod/thing.php:272 ../../mod/thing.php:316
+msgid "URL of thing (optional)"
msgstr ""
-#: ../../mod/thing.php:189
-msgid "URL for photo of thing or stuff (optional)"
+#: ../../mod/thing.php:274 ../../mod/thing.php:317
+msgid "URL for photo of thing (optional)"
+msgstr ""
+
+#: ../../mod/thing.php:309
+msgid "Add Thing to your Profile"
msgstr ""
#: ../../mod/invite.php:25
msgid "Total invitation limit exceeded."
msgstr ""
-#: ../../mod/invite.php:47
+#: ../../mod/invite.php:49
#, php-format
msgid "%s : Not a valid email address."
msgstr "%s : Ðе дейÑтвительный Ð°Ð´Ñ€ÐµÑ Ñлектронной почты."
-#: ../../mod/invite.php:74
+#: ../../mod/invite.php:76
msgid "Please join us on Red"
msgstr "ПожалуйÑта, приÑоединÑйтеÑÑŒ к нам в Red"
-#: ../../mod/invite.php:85
+#: ../../mod/invite.php:87
msgid "Invitation limit exceeded. Please contact your site administrator."
msgstr ""
-#: ../../mod/invite.php:90
+#: ../../mod/invite.php:92
#, php-format
msgid "%s : Message delivery failed."
msgstr "%s : ДоÑтавка ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ðµ удалаÑÑŒ."
-#: ../../mod/invite.php:94
+#: ../../mod/invite.php:96
#, php-format
msgid "%d message sent."
msgid_plural "%d messages sent."
@@ -2826,65 +3288,380 @@ msgstr[0] "%d Ñообщение отправленно."
msgstr[1] "%d ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ð¾."
msgstr[2] "%d Ñообщений отправленно."
-#: ../../mod/invite.php:113
+#: ../../mod/invite.php:115
msgid "You have no more invitations available"
msgstr "У Ð²Ð°Ñ Ð±Ð¾Ð»ÑŒÑˆÐµ нет приглашений"
-#: ../../mod/invite.php:139
+#: ../../mod/invite.php:141
msgid "Send invitations"
msgstr "ПоÑлать приглашениÑ"
-#: ../../mod/invite.php:140
+#: ../../mod/invite.php:142
msgid "Enter email addresses, one per line:"
msgstr "Введите адреÑа Ñлектронной почты, по одному на Ñтроку:"
-#: ../../mod/invite.php:141 ../../mod/message.php:292
-#: ../../mod/message.php:453
+#: ../../mod/invite.php:143 ../../mod/mail.php:216 ../../mod/mail.php:328
msgid "Your message:"
msgstr "Ваше Ñообщение:"
-#: ../../mod/invite.php:142
+#: ../../mod/invite.php:144
msgid ""
"You are cordially invited to join me and some other close friends on the Red"
-" Matrix - a revolutionary new decentralised social and information tool."
+" Matrix - a revolutionary new decentralised communication and information "
+"tool."
msgstr ""
-#: ../../mod/invite.php:144
+#: ../../mod/invite.php:146
msgid "You will need to supply this invitation code: $invite_code"
msgstr ""
-#: ../../mod/invite.php:146
+#: ../../mod/invite.php:147
msgid "Please visit my channel at"
msgstr "ПожалуйÑта, поÑетите мой канал на"
-#: ../../mod/invite.php:150
+#: ../../mod/invite.php:151
msgid ""
-"Once you have registered, please connect with my Red Matrix channel address:"
+"Once you have registered (on ANY Red Matrix site - they are all inter-"
+"connected), please connect with my Red Matrix channel address:"
+msgstr ""
+
+#: ../../mod/invite.php:153
+msgid "Click the [Register] link on the following page to join."
msgstr ""
-#: ../../mod/invite.php:152
+#: ../../mod/invite.php:155
msgid ""
"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"
msgstr ""
-#: ../../mod/allfriends.php:35
+#: ../../mod/connedit.php:49 ../../mod/connections.php:37
+msgid "Could not access contact record."
+msgstr ""
+
+#: ../../mod/connedit.php:63 ../../mod/connections.php:51
+msgid "Could not locate selected profile."
+msgstr ""
+
+#: ../../mod/connedit.php:104 ../../mod/connections.php:92
+msgid "Connection updated."
+msgstr "Канал обновлен."
+
+#: ../../mod/connedit.php:106 ../../mod/connections.php:94
+msgid "Failed to update connection record."
+msgstr ""
+
+#: ../../mod/connedit.php:201
+msgid "Could not access address book record."
+msgstr ""
+
+#: ../../mod/connedit.php:215
+msgid "Refresh failed - channel is currently unavailable."
+msgstr ""
+
+#: ../../mod/connedit.php:222
+msgid "Channel has been unblocked"
+msgstr "Канал разблокирован"
+
+#: ../../mod/connedit.php:223
+msgid "Channel has been blocked"
+msgstr "Канал заблокирован"
+
+#: ../../mod/connedit.php:227 ../../mod/connedit.php:239
+#: ../../mod/connedit.php:251 ../../mod/connedit.php:263
+#: ../../mod/connedit.php:278
+msgid "Unable to set address book parameters."
+msgstr ""
+
+#: ../../mod/connedit.php:234
+msgid "Channel has been unignored"
+msgstr "Канал не проигнорирован"
+
+#: ../../mod/connedit.php:235
+msgid "Channel has been ignored"
+msgstr "Канал проигнорирован"
+
+#: ../../mod/connedit.php:246
+msgid "Channel has been unarchived"
+msgstr "Канал разархивирован"
+
+#: ../../mod/connedit.php:247
+msgid "Channel has been archived"
+msgstr "Канал заархивирован"
+
+#: ../../mod/connedit.php:258
+msgid "Channel has been unhidden"
+msgstr "Канал открыт"
+
+#: ../../mod/connedit.php:259
+msgid "Channel has been hidden"
+msgstr "Канал Ñкрыт"
+
+#: ../../mod/connedit.php:273
+msgid "Channel has been approved"
+msgstr "Канал одобрен"
+
+#: ../../mod/connedit.php:274
+msgid "Channel has been unapproved"
+msgstr "Канал не одобрен"
+
+#: ../../mod/connedit.php:292
+msgid "Contact has been removed."
+msgstr "Канал удален."
+
+#: ../../mod/connedit.php:312
#, php-format
-msgid "Friends of %s"
-msgstr "Ð”Ñ€ÑƒÐ·ÑŒÑ %s"
+msgid "View %s's profile"
+msgstr "ПроÑмотр %s's профилÑ"
-#: ../../mod/allfriends.php:41
-msgid "No friends to display."
-msgstr "Ðет друзей Ð´Ð»Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°."
+#: ../../mod/connedit.php:316
+msgid "Refresh Permissions"
+msgstr "Обновить разрешениÑ"
-#: ../../mod/webpages.php:8 ../../mod/connect.php:13 ../../mod/layouts.php:8
-#: ../../mod/blocks.php:10 ../../mod/profile.php:8 ../../mod/filestorage.php:8
-#: ../../boot.php:1602
-msgid "Requested profile is not available."
-msgstr "Запрашиваемый профиль не доÑтупен."
+#: ../../mod/connedit.php:319
+msgid "Fetch updated permissions"
+msgstr ""
+
+#: ../../mod/connedit.php:323
+msgid "Recent Activity"
+msgstr ""
-#: ../../mod/webpages.php:101 ../../mod/layouts.php:92 ../../mod/blocks.php:95
+#: ../../mod/connedit.php:326
+msgid "View recent posts and comments"
+msgstr ""
+
+#: ../../mod/connedit.php:330 ../../mod/connedit.php:472
+#: ../../mod/admin.php:695
+msgid "Unblock"
+msgstr "Разрешить"
+
+#: ../../mod/connedit.php:330 ../../mod/connedit.php:472
+#: ../../mod/admin.php:694
+msgid "Block"
+msgstr "Заблокировать"
+
+#: ../../mod/connedit.php:333
+msgid "Block or Unblock this connection"
+msgstr "Запретить или разрешить Ñтот канал"
+
+#: ../../mod/connedit.php:337 ../../mod/connedit.php:473
+msgid "Unignore"
+msgstr "Ðе игнорировать"
+
+#: ../../mod/connedit.php:337 ../../mod/connedit.php:473
+#: ../../mod/notifications.php:51
+msgid "Ignore"
+msgstr "Игнорировать"
+
+#: ../../mod/connedit.php:340
+msgid "Ignore or Unignore this connection"
+msgstr "Игнорировать или не игнорировать Ñтот канал"
+
+#: ../../mod/connedit.php:343
+msgid "Unarchive"
+msgstr "Разархивировать"
+
+#: ../../mod/connedit.php:343
+msgid "Archive"
+msgstr "Заархивировать"
+
+#: ../../mod/connedit.php:346
+msgid "Archive or Unarchive this connection"
+msgstr " Заархивировать или разархивировать Ñтот канал"
+
+#: ../../mod/connedit.php:349
+msgid "Unhide"
+msgstr "Показать"
+
+#: ../../mod/connedit.php:349
+msgid "Hide"
+msgstr "Скрыть"
+
+#: ../../mod/connedit.php:352
+msgid "Hide or Unhide this connection"
+msgstr "Скрыть или показывать Ñтот канал"
+
+#: ../../mod/connedit.php:359
+msgid "Delete this connection"
+msgstr "Удалить Ñтот контакт"
+
+#: ../../mod/connedit.php:392
+msgid "Unknown"
+msgstr "ÐеизвеÑтный"
+
+#: ../../mod/connedit.php:402 ../../mod/connedit.php:431
+msgid "Approve this connection"
+msgstr "Утвердить Ñтот контакт"
+
+#: ../../mod/connedit.php:402
+msgid "Accept connection to allow communication"
+msgstr ""
+
+#: ../../mod/connedit.php:418
+msgid "Automatic Permissions Settings"
+msgstr "ÐаÑтройки автоматичеÑких разрешений"
+
+#: ../../mod/connedit.php:418
+#, php-format
+msgid "Connections: settings for %s"
+msgstr ""
+
+#: ../../mod/connedit.php:422
+msgid ""
+"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 ""
+
+#: ../../mod/connedit.php:424
+msgid "Slide to adjust your degree of friendship"
+msgstr ""
+
+#: ../../mod/connedit.php:430
+msgid "inherited"
+msgstr "унаÑледованный"
+
+#: ../../mod/connedit.php:432
+msgid "Connection has no individual permissions!"
+msgstr ""
+
+#: ../../mod/connedit.php:433
+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:435
+msgid "Profile Visibility"
+msgstr "ВидимоÑÑ‚ÑŒ профилÑ"
+
+#: ../../mod/connedit.php:436
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr ""
+
+#: ../../mod/connedit.php:437
+msgid "Contact Information / Notes"
+msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ / ÐŸÑ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¾ канале"
+
+#: ../../mod/connedit.php:438
+msgid "Edit contact notes"
+msgstr "Редактировать Ð¿Ñ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð°"
+
+#: ../../mod/connedit.php:440
+msgid "Their Settings"
+msgstr "Их наÑтройки"
+
+#: ../../mod/connedit.php:441
+msgid "My Settings"
+msgstr "Мои наÑтройки"
+
+#: ../../mod/connedit.php:443
+msgid "Forum Members"
+msgstr "УчаÑтники форума"
+
+#: ../../mod/connedit.php:444
+msgid "Soapbox"
+msgstr "Soapbox"
+
+#: ../../mod/connedit.php:445
+msgid "Full Sharing"
+msgstr "Полный обмен"
+
+#: ../../mod/connedit.php:446
+msgid "Cautious Sharing"
+msgstr ""
+
+#: ../../mod/connedit.php:447
+msgid "Follow Only"
+msgstr "Только Ñледовать"
+
+#: ../../mod/connedit.php:448
+msgid "Individual Permissions"
+msgstr "Индивидуальные разрешениÑ"
+
+#: ../../mod/connedit.php:449
+msgid ""
+"Some permissions may be inherited from your channel <a "
+"href=\"settings\">privacy settings</a>, which have higher priority. Changing"
+" those inherited settings on this page will have no effect."
+msgstr ""
+
+#: ../../mod/connedit.php:450
+msgid "Advanced Permissions"
+msgstr "Дополнительные разрешениÑ"
+
+#: ../../mod/connedit.php:451
+msgid "Quick Links"
+msgstr "БыÑтрые ÑÑылки"
+
+#: ../../mod/connedit.php:455
+#, php-format
+msgid "Visit %s's profile - %s"
+msgstr "ПоÑетить %s's ​​профиль - %s"
+
+#: ../../mod/connedit.php:456
+msgid "Block/Unblock contact"
+msgstr "Запретить/разрешить контакт"
+
+#: ../../mod/connedit.php:457
+msgid "Ignore contact"
+msgstr "Игнорировать контакт"
+
+#: ../../mod/connedit.php:458
+msgid "Repair URL settings"
+msgstr "Ремонт наÑтройки URL"
+
+#: ../../mod/connedit.php:459
+msgid "View conversations"
+msgstr "ПроÑмотр разговоров"
+
+#: ../../mod/connedit.php:461
+msgid "Delete contact"
+msgstr "Удалить контакт"
+
+#: ../../mod/connedit.php:464
+msgid "Last update:"
+msgstr "ПоÑледнее обновление:"
+
+#: ../../mod/connedit.php:466
+msgid "Update public posts"
+msgstr "Обновить публичные ÑообщениÑ"
+
+#: ../../mod/connedit.php:468
+msgid "Update now"
+msgstr "Обновить ÑейчаÑ"
+
+#: ../../mod/connedit.php:474
+msgid "Currently blocked"
+msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²Ð°Ð½"
+
+#: ../../mod/connedit.php:475
+msgid "Currently ignored"
+msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÑŽÑ‚ÑÑ"
+
+#: ../../mod/connedit.php:476
+msgid "Currently archived"
+msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹"
+
+#: ../../mod/connedit.php:477
+msgid "Currently pending"
+msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð² ожидании"
+
+#: ../../mod/connedit.php:478
+msgid "Hide this contact from others"
+msgstr "Скрыть Ñтот канал от других"
+
+#: ../../mod/connedit.php:478
+msgid ""
+"Replies/likes to your public posts <strong>may</strong> still be visible"
+msgstr ""
+
+#: ../../mod/webpages.php:121 ../../mod/layouts.php:105
+#: ../../mod/blocks.php:96
msgid "View"
msgstr "ПроÑмотр"
@@ -2906,24 +3683,16 @@ msgid ""
" and/or create new posts for you?"
msgstr ""
-#: ../../mod/api.php:105 ../../mod/settings.php:978 ../../mod/settings.php:983
-#: ../../mod/settings.php:1006 ../../mod/settings.php:1008
-#: ../../mod/settings.php:1009 ../../mod/settings.php:1010
-#: ../../mod/profiles.php:506
+#: ../../mod/api.php:105 ../../mod/profiles.php:495 ../../mod/settings.php:865
+#: ../../mod/settings.php:870
msgid "Yes"
msgstr "Да"
-#: ../../mod/api.php:106 ../../mod/settings.php:978 ../../mod/settings.php:983
-#: ../../mod/settings.php:1006 ../../mod/settings.php:1008
-#: ../../mod/settings.php:1009 ../../mod/settings.php:1010
-#: ../../mod/profiles.php:507
+#: ../../mod/api.php:106 ../../mod/profiles.php:496 ../../mod/settings.php:865
+#: ../../mod/settings.php:870
msgid "No"
msgstr "Ðет"
-#: ../../mod/lastpost.php:16 ../../mod/channel.php:16
-msgid "You must be logged in to see this page."
-msgstr ""
-
#: ../../mod/apps.php:8
msgid "No installed applications."
msgstr "Ðет уÑтановленных приложений."
@@ -2936,350 +3705,369 @@ msgstr "ПриложениÑ"
msgid "Invalid item."
msgstr "ÐедейÑтвительный Ñлемент."
-#: ../../mod/page.php:47 ../../mod/chanview.php:78 ../../mod/home.php:51
-#: ../../mod/magic.php:63 ../../mod/wall_upload.php:35
+#: ../../mod/page.php:47 ../../mod/chanview.php:77 ../../mod/home.php:50
+#: ../../mod/wall_upload.php:35
msgid "Channel not found."
msgstr "Канал не найден."
+#: ../../mod/page.php:83 ../../mod/help.php:71 ../../mod/display.php:100
+#: ../../index.php:227
+msgid "Page not found."
+msgstr "Страница не найдена."
+
#: ../../mod/attach.php:9
msgid "Item not available."
msgstr "Элемент недоÑтупен."
-#: ../../mod/setup.php:142
+#: ../../mod/setup.php:161
msgid "Red Matrix Server - Setup"
msgstr "Red Matrix Сервер - УÑтановка"
-#: ../../mod/setup.php:148
+#: ../../mod/setup.php:167
msgid "Could not connect to database."
msgstr "Ðе удалоÑÑŒ подключитьÑÑ Ðº Ñерверу баз данных."
-#: ../../mod/setup.php:152
+#: ../../mod/setup.php:171
msgid ""
"Could not connect to specified site URL. Possible SSL certificate or DNS "
"issue."
msgstr ""
-#: ../../mod/setup.php:157
+#: ../../mod/setup.php:176
msgid "Could not create table."
msgstr "Ðе удалоÑÑŒ Ñоздать таблицу."
-#: ../../mod/setup.php:163
+#: ../../mod/setup.php:182
msgid "Your site database has been installed."
msgstr "Ваша база данных уÑтановлена."
-#: ../../mod/setup.php:168
+#: ../../mod/setup.php:187
msgid ""
"You may need to import the file \"install/database.sql\" manually using "
"phpmyadmin or mysql."
msgstr ""
-#: ../../mod/setup.php:169 ../../mod/setup.php:236 ../../mod/setup.php:565
+#: ../../mod/setup.php:188 ../../mod/setup.php:257 ../../mod/setup.php:606
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "ПожалуйÑта, обратитеÑÑŒ к файлу \"install/INSTALL.txt\"."
-#: ../../mod/setup.php:233
+#: ../../mod/setup.php:254
msgid "System check"
msgstr "Проверка ÑиÑтемы"
-#: ../../mod/setup.php:238
+#: ../../mod/setup.php:259
msgid "Check again"
msgstr "Проверить Ñнова"
-#: ../../mod/setup.php:260
+#: ../../mod/setup.php:281
msgid "Database connection"
msgstr "Подключение к базе данных"
-#: ../../mod/setup.php:261
+#: ../../mod/setup.php:282
msgid ""
"In order to install Red Matrix we need to know how to connect to your "
"database."
msgstr ""
-#: ../../mod/setup.php:262
+#: ../../mod/setup.php:283
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr ""
-#: ../../mod/setup.php:263
+#: ../../mod/setup.php:284
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr ""
-#: ../../mod/setup.php:267
+#: ../../mod/setup.php:288
msgid "Database Server Name"
msgstr "Ð˜Ð¼Ñ Ñервера базы данных"
-#: ../../mod/setup.php:267
+#: ../../mod/setup.php:288
msgid "Default is localhost"
msgstr "По умолчанию localhost"
-#: ../../mod/setup.php:268
+#: ../../mod/setup.php:289
msgid "Database Port"
msgstr "Порт базы данных"
-#: ../../mod/setup.php:268
+#: ../../mod/setup.php:289
msgid "Communication port number - use 0 for default"
msgstr "Порт коммуникации - иÑпользуйте 0 по умолчанию"
-#: ../../mod/setup.php:269
+#: ../../mod/setup.php:290
msgid "Database Login Name"
msgstr "Ð˜Ð¼Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº базе данных"
-#: ../../mod/setup.php:270
+#: ../../mod/setup.php:291
msgid "Database Login Password"
msgstr "Пароль Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº базе данных"
-#: ../../mod/setup.php:271
+#: ../../mod/setup.php:292
msgid "Database Name"
msgstr "Ð˜Ð¼Ñ Ð±Ð°Ð·Ñ‹ данных"
-#: ../../mod/setup.php:273 ../../mod/setup.php:315
+#: ../../mod/setup.php:294 ../../mod/setup.php:336
msgid "Site administrator email address"
msgstr "ÐÐ´Ñ€ÐµÑ Ñлектронной почты админиÑтратора Ñайта"
-#: ../../mod/setup.php:273 ../../mod/setup.php:315
+#: ../../mod/setup.php:294 ../../mod/setup.php:336
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr ""
-#: ../../mod/setup.php:274 ../../mod/setup.php:317
+#: ../../mod/setup.php:295 ../../mod/setup.php:338
msgid "Website URL"
msgstr "URL веб-Ñайта"
-#: ../../mod/setup.php:274 ../../mod/setup.php:317
+#: ../../mod/setup.php:295 ../../mod/setup.php:338
msgid "Please use SSL (https) URL if available."
msgstr "ПожалуйÑта, иÑпользуйте SSL (https) URL еÑли возможно."
-#: ../../mod/setup.php:277 ../../mod/setup.php:320
+#: ../../mod/setup.php:298 ../../mod/setup.php:341
msgid "Please select a default timezone for your website"
msgstr ""
-#: ../../mod/setup.php:304
+#: ../../mod/setup.php:325
msgid "Site settings"
msgstr "ÐаÑтройки Ñайта"
-#: ../../mod/setup.php:360
+#: ../../mod/setup.php:381
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr ""
-#: ../../mod/setup.php:361
+#: ../../mod/setup.php:382
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 ""
-#: ../../mod/setup.php:365
+#: ../../mod/setup.php:386
msgid "PHP executable path"
msgstr "PHP executable путь"
-#: ../../mod/setup.php:365
+#: ../../mod/setup.php:386
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr ""
-#: ../../mod/setup.php:370
+#: ../../mod/setup.php:391
msgid "Command line PHP"
msgstr "Command line PHP"
-#: ../../mod/setup.php:379
+#: ../../mod/setup.php:400
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr ""
-#: ../../mod/setup.php:380
+#: ../../mod/setup.php:401
msgid "This is required for message delivery to work."
msgstr ""
-#: ../../mod/setup.php:382
+#: ../../mod/setup.php:403
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../mod/setup.php:403
+#: ../../mod/setup.php:424
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr ""
-#: ../../mod/setup.php:404
+#: ../../mod/setup.php:425
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr ""
-#: ../../mod/setup.php:406
+#: ../../mod/setup.php:427
msgid "Generate encryption keys"
msgstr ""
-#: ../../mod/setup.php:413
+#: ../../mod/setup.php:434
msgid "libCurl PHP module"
msgstr "libCurl PHP модуль"
-#: ../../mod/setup.php:414
+#: ../../mod/setup.php:435
msgid "GD graphics PHP module"
msgstr "GD graphics PHP модуль"
-#: ../../mod/setup.php:415
+#: ../../mod/setup.php:436
msgid "OpenSSL PHP module"
msgstr "OpenSSL PHP модуль"
-#: ../../mod/setup.php:416
+#: ../../mod/setup.php:437
msgid "mysqli PHP module"
msgstr "mysqli PHP модуль"
-#: ../../mod/setup.php:417
+#: ../../mod/setup.php:438
msgid "mb_string PHP module"
msgstr "mb_string PHP модуль"
-#: ../../mod/setup.php:418
+#: ../../mod/setup.php:439
msgid "mcrypt PHP module"
msgstr "mcrypt PHP модуль"
-#: ../../mod/setup.php:423 ../../mod/setup.php:425
+#: ../../mod/setup.php:444 ../../mod/setup.php:446
msgid "Apache mod_rewrite module"
msgstr "Apache mod_rewrite модуль"
-#: ../../mod/setup.php:423
+#: ../../mod/setup.php:444
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr ""
-#: ../../mod/setup.php:429 ../../mod/setup.php:432
+#: ../../mod/setup.php:450 ../../mod/setup.php:453
msgid "proc_open"
msgstr "proc_open"
-#: ../../mod/setup.php:429
+#: ../../mod/setup.php:450
msgid ""
"Error: proc_open is required but is either not installed or has been "
"disabled in php.ini"
msgstr ""
-#: ../../mod/setup.php:437
+#: ../../mod/setup.php:458
msgid "Error: libCURL PHP module required but not installed."
msgstr ""
-#: ../../mod/setup.php:441
+#: ../../mod/setup.php:462
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr ""
-#: ../../mod/setup.php:445
+#: ../../mod/setup.php:466
msgid "Error: openssl PHP module required but not installed."
msgstr ""
-#: ../../mod/setup.php:449
+#: ../../mod/setup.php:470
msgid "Error: mysqli PHP module required but not installed."
msgstr ""
-#: ../../mod/setup.php:453
+#: ../../mod/setup.php:474
msgid "Error: mb_string PHP module required but not installed."
msgstr ""
-#: ../../mod/setup.php:457
+#: ../../mod/setup.php:478
msgid "Error: mcrypt PHP module required but not installed."
msgstr ""
-#: ../../mod/setup.php:473
+#: ../../mod/setup.php:494
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 ""
-#: ../../mod/setup.php:474
+#: ../../mod/setup.php:495
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 ""
-#: ../../mod/setup.php:475
+#: ../../mod/setup.php:496
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 ""
-#: ../../mod/setup.php:476
+#: ../../mod/setup.php:497
msgid ""
"You can alternatively skip this procedure and perform a manual installation."
" Please see the file \"install/INSTALL.txt\" for instructions."
msgstr ""
-#: ../../mod/setup.php:479
+#: ../../mod/setup.php:500
msgid ".htconfig.php is writable"
msgstr ".htconfig.php доÑтупен Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи"
-#: ../../mod/setup.php:489
+#: ../../mod/setup.php:510
msgid ""
"Red uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr ""
-#: ../../mod/setup.php:490
+#: ../../mod/setup.php:511
msgid ""
"In order to store these compiled templates, the web server needs to have "
"write access to the directory view/tpl/smarty3/ under the Red top level "
"folder."
msgstr ""
-#: ../../mod/setup.php:491
+#: ../../mod/setup.php:512 ../../mod/setup.php:530
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has"
" write access to this folder."
msgstr ""
-#: ../../mod/setup.php:492
+#: ../../mod/setup.php:513
msgid ""
"Note: as a security measure, you should give the web server write access to "
"view/tpl/smarty3/ only--not the template files (.tpl) that it contains."
msgstr ""
-#: ../../mod/setup.php:495
+#: ../../mod/setup.php:516
msgid "view/tpl/smarty3 is writable"
msgstr "view/tpl/smarty3 доÑтупен Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи"
-#: ../../mod/setup.php:509
+#: ../../mod/setup.php:529
+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 ""
+
+#: ../../mod/setup.php:533
+msgid "store is writable"
+msgstr ""
+
+#: ../../mod/setup.php:548
msgid "SSL certificate validation"
msgstr "проверка Ñертификата SSL"
-#: ../../mod/setup.php:509
+#: ../../mod/setup.php:548
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access"
" to this site."
msgstr ""
-#: ../../mod/setup.php:516
+#: ../../mod/setup.php:555
msgid ""
"Url rewrite in .htaccess is not working. Check your server configuration."
msgstr ""
-#: ../../mod/setup.php:518
+#: ../../mod/setup.php:557
msgid "Url rewrite is working"
msgstr "Url rewrite работает"
-#: ../../mod/setup.php:528
+#: ../../mod/setup.php:567
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 ""
-#: ../../mod/setup.php:552
+#: ../../mod/setup.php:591
msgid "Errors encountered creating database tables."
msgstr ""
-#: ../../mod/setup.php:563
+#: ../../mod/setup.php:604
msgid "<h1>What next</h1>"
msgstr "<h1>Что дальше</h1>"
-#: ../../mod/setup.php:564
+#: ../../mod/setup.php:605
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
msgstr ""
+#: ../../mod/rpost.php:84 ../../mod/editpost.php:42
+msgid "Edit post"
+msgstr "Редактировать Ñообщение"
+
#: ../../mod/subthread.php:105
#, php-format
msgid "%1$s is following %2$s's %3$s"
@@ -3291,7 +4079,7 @@ msgstr "%1$s Ñледит %2$s's %3$s"
msgid "[Embedded content - reload page to view]"
msgstr ""
-#: ../../mod/chanview.php:94
+#: ../../mod/chanview.php:97
msgid "toggle full screen mode"
msgstr "переключение полноÑкранного режима"
@@ -3300,948 +4088,1065 @@ msgstr "переключение полноÑкранного режима"
msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr ""
-#: ../../mod/settings.php:51
-msgid "Account settings"
-msgstr "ÐаÑтройки аккаунта"
+#: ../../mod/viewconnections.php:17 ../../mod/search.php:12
+#: ../../mod/photos.php:573 ../../mod/directory.php:15 ../../mod/display.php:9
+#: ../../mod/community.php:18 ../../mod/dirprofile.php:9
+msgid "Public access denied."
+msgstr "ОбщеÑтвенный доÑтуп запрещен."
-#: ../../mod/settings.php:57
-msgid "Channel settings"
-msgstr "ÐаÑтройки канала"
+#: ../../mod/viewconnections.php:43
+msgid "No connections."
+msgstr "Ðикаких ÑвÑзей."
-#: ../../mod/settings.php:63
-msgid "Additional features"
-msgstr "Дополнительные функции"
+#: ../../mod/viewconnections.php:55
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr "ПоÑетить %s's ​​профиль [%s]"
-#: ../../mod/settings.php:69
-msgid "Feature settings"
-msgstr "ÐаÑтройки компонентов"
+#: ../../mod/viewconnections.php:70
+msgid "View Connnections"
+msgstr "ПроÑмотр контактов"
-#: ../../mod/settings.php:75
-msgid "Display settings"
-msgstr "ÐаÑтройки отображениÑ"
+#: ../../mod/tagrm.php:41
+msgid "Tag removed"
+msgstr "Тег удален"
-#: ../../mod/settings.php:81
-msgid "Connected apps"
-msgstr "Подключенные приложениÑ"
+#: ../../mod/tagrm.php:79
+msgid "Remove Item Tag"
+msgstr "Удалить Тег"
-#: ../../mod/settings.php:87
-msgid "Export channel"
-msgstr "ЭкÑпорт канала"
+#: ../../mod/tagrm.php:81
+msgid "Select a tag to remove: "
+msgstr "Выбрать тег Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ: "
-#: ../../mod/settings.php:99
-msgid "Automatic Permissions (Advanced)"
-msgstr "ÐвтоматичеÑкие Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ (дополнительно)"
+#: ../../mod/tagrm.php:93 ../../mod/delegate.php:130
+msgid "Remove"
+msgstr "Удалить"
-#: ../../mod/settings.php:109
-msgid "Premium Channel Settings"
+#: ../../mod/connect.php:55 ../../mod/connect.php:103
+msgid "Continue"
msgstr ""
-#: ../../mod/settings.php:158
-msgid "Missing some important data!"
-msgstr "ОтÑутÑтвуют некоторые важные данные!"
+#: ../../mod/connect.php:84
+msgid "Premium Channel Setup"
+msgstr ""
-#: ../../mod/settings.php:161 ../../mod/settings.php:647
-msgid "Update"
-msgstr "Обновление"
+#: ../../mod/connect.php:86
+msgid "Enable premium channel connection restrictions"
+msgstr ""
-#: ../../mod/settings.php:274
-msgid "Passwords do not match. Password unchanged."
-msgstr "Пароли не Ñовпадают. Пароль не изменён."
+#: ../../mod/connect.php:87
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr ""
-#: ../../mod/settings.php:278
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "ПуÑтые пароли не допуÑкаютÑÑ. Пароль не изменён."
+#: ../../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 ""
-#: ../../mod/settings.php:291
-msgid "Password changed."
-msgstr "Пароль изменен."
+#: ../../mod/connect.php:90
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr ""
-#: ../../mod/settings.php:293
-msgid "Password update failed. Please try again."
-msgstr "Изменение Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð·Ð°ÐºÐ¾Ð½Ñ‡Ð¸Ð»Ð¾ÑÑŒ неуÑпешно. ПожалуйÑта, попробуйте еще раз."
+#: ../../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 ""
-#: ../../mod/settings.php:307
-msgid "Not valid email."
-msgstr "Ðе дейÑтвительный Ð°Ð´Ñ€ÐµÑ Ñлектронной почты."
+#: ../../mod/connect.php:100
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr ""
-#: ../../mod/settings.php:310
-msgid "Protected email address. Cannot change to that email."
+#: ../../mod/connect.php:108
+msgid "Restricted or Premium Channel"
msgstr ""
-#: ../../mod/settings.php:319
-msgid "System failure storing new email. Please try again."
+#: ../../mod/delegate.php:95
+msgid "No potential page delegates located."
msgstr ""
-#: ../../mod/settings.php:549
-msgid "Settings updated."
-msgstr "ÐаÑтройки обновленны."
+#: ../../mod/delegate.php:121
+msgid "Delegate Page Management"
+msgstr ""
-#: ../../mod/settings.php:620 ../../mod/settings.php:646
-#: ../../mod/settings.php:682
-msgid "Add application"
-msgstr "Добавить приложениÑ"
+#: ../../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 ""
-#: ../../mod/settings.php:622 ../../mod/settings.php:648
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94 ../../mod/fbrowser.php:81
-#: ../../mod/fbrowser.php:116
-msgid "Cancel"
-msgstr "Отменить"
+#: ../../mod/delegate.php:124
+msgid "Existing Page Managers"
+msgstr ""
-#: ../../mod/settings.php:623 ../../mod/settings.php:649
-#: ../../mod/admin.php:636 ../../mod/crepair.php:148
-msgid "Name"
-msgstr "ИмÑ"
+#: ../../mod/delegate.php:126
+msgid "Existing Page Delegates"
+msgstr ""
-#: ../../mod/settings.php:624 ../../mod/settings.php:650
-msgid "Consumer Key"
-msgstr "Ключ клиента"
+#: ../../mod/delegate.php:128
+msgid "Potential Delegates"
+msgstr ""
-#: ../../mod/settings.php:625 ../../mod/settings.php:651
-msgid "Consumer Secret"
-msgstr "Секрет клиента"
+#: ../../mod/delegate.php:131
+msgid "Add"
+msgstr "Добавить"
-#: ../../mod/settings.php:626 ../../mod/settings.php:652
-msgid "Redirect"
-msgstr "Перенаправление"
+#: ../../mod/delegate.php:132
+msgid "No entries."
+msgstr "Ðет запиÑей."
-#: ../../mod/settings.php:627 ../../mod/settings.php:653
-msgid "Icon url"
-msgstr "URL-Ð°Ð´Ñ€ÐµÑ Ð·Ð½Ð°Ñ‡ÐºÐ°"
+#: ../../mod/sources.php:28
+msgid "Failed to create source. No channel selected."
+msgstr ""
-#: ../../mod/settings.php:638
-msgid "You can't edit this application."
-msgstr "Ð’Ñ‹ не можете редактировать Ñто приложение."
+#: ../../mod/sources.php:41
+msgid "Source created."
+msgstr ""
-#: ../../mod/settings.php:681
-msgid "Connected Apps"
-msgstr "Подключенные приложениÑ"
+#: ../../mod/sources.php:53
+msgid "Source updated."
+msgstr ""
-#: ../../mod/settings.php:685
-msgid "Client key starts with"
+#: ../../mod/sources.php:82
+msgid "Manage remote sources of content for your channel."
msgstr ""
-#: ../../mod/settings.php:686
-msgid "No name"
-msgstr "Без названиÑ"
+#: ../../mod/sources.php:83 ../../mod/sources.php:93
+msgid "New Source"
+msgstr ""
-#: ../../mod/settings.php:687
-msgid "Remove authorization"
-msgstr "Удалить разрешение"
+#: ../../mod/sources.php:94 ../../mod/sources.php:126
+msgid ""
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr ""
-#: ../../mod/settings.php:698
-msgid "No feature settings configured"
-msgstr "Параметры функций не наÑтроены"
+#: ../../mod/sources.php:95 ../../mod/sources.php:127
+msgid "Only import content with these words (one per line)"
+msgstr ""
-#: ../../mod/settings.php:706
-msgid "Feature Settings"
-msgstr "ÐаÑтройки функции"
+#: ../../mod/sources.php:95 ../../mod/sources.php:127
+msgid "Leave blank to import all public content"
+msgstr ""
-#: ../../mod/settings.php:729
-msgid "Account Settings"
-msgstr "ÐаÑтройки аккаунта"
+#: ../../mod/sources.php:96 ../../mod/sources.php:130
+#: ../../mod/new_channel.php:110
+msgid "Channel Name"
+msgstr "Ð˜Ð¼Ñ ÐºÐ°Ð½Ð°Ð»Ð°"
-#: ../../mod/settings.php:730
-msgid "Password Settings"
-msgstr "ÐаÑтройки паролÑ"
+#: ../../mod/sources.php:116 ../../mod/sources.php:143
+msgid "Source not found."
+msgstr ""
-#: ../../mod/settings.php:731
-msgid "New Password:"
-msgstr "Ðовый пароль:"
+#: ../../mod/sources.php:123
+msgid "Edit Source"
+msgstr ""
-#: ../../mod/settings.php:732
-msgid "Confirm:"
-msgstr "Подтверждение:"
+#: ../../mod/sources.php:124
+msgid "Delete Source"
+msgstr ""
-#: ../../mod/settings.php:732
-msgid "Leave password fields blank unless changing"
-msgstr "ОÑтавьте Ð¿Ð¾Ð»Ñ Ð¿ÑƒÑтыми, еÑли не менÑетÑÑ"
+#: ../../mod/sources.php:151
+msgid "Source removed"
+msgstr ""
-#: ../../mod/settings.php:734 ../../mod/settings.php:1032
-msgid "Email Address:"
-msgstr "ÐÐ´Ñ€ÐµÑ Ñлектронной почты:"
+#: ../../mod/sources.php:153
+msgid "Unable to remove source."
+msgstr ""
-#: ../../mod/settings.php:735
-msgid "Remove Account"
-msgstr "Удалить аккаунт"
+#: ../../mod/admin.php:48
+msgid "Theme settings updated."
+msgstr "ÐаÑтройки темы обновленны."
-#: ../../mod/settings.php:736
-msgid "Warning: This action is permanent and cannot be reversed."
-msgstr ""
+#: ../../mod/admin.php:87 ../../mod/admin.php:419
+msgid "Site"
+msgstr "Сайт"
-#: ../../mod/settings.php:752
-msgid "Off"
-msgstr "Выкл."
+#: ../../mod/admin.php:88 ../../mod/admin.php:685 ../../mod/admin.php:697
+msgid "Users"
+msgstr "Пользователи"
-#: ../../mod/settings.php:752
-msgid "On"
-msgstr "Вкл."
+#: ../../mod/admin.php:89 ../../mod/admin.php:783 ../../mod/admin.php:825
+msgid "Plugins"
+msgstr "Плагины"
-#: ../../mod/settings.php:759
-msgid "Additional Features"
-msgstr "Дополнительные функции"
+#: ../../mod/admin.php:90 ../../mod/admin.php:988 ../../mod/admin.php:1024
+msgid "Themes"
+msgstr "Темы"
-#: ../../mod/settings.php:784
-msgid "Connector Settings"
-msgstr "ÐаÑтройки ÑоединителÑ"
+#: ../../mod/admin.php:91 ../../mod/admin.php:478
+msgid "Server"
+msgstr "Сервер"
+
+#: ../../mod/admin.php:92
+msgid "DB updates"
+msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ñ‹ данных"
+
+#: ../../mod/admin.php:106 ../../mod/admin.php:113 ../../mod/admin.php:1111
+msgid "Logs"
+msgstr "Журналы"
+
+#: ../../mod/admin.php:112
+msgid "Plugin Features"
+msgstr "Функции плагинов"
+
+#: ../../mod/admin.php:114
+msgid "User registrations waiting for confirmation"
+msgstr "РегиÑтрации пользователей, которые ждут подтверждениÑ"
+
+#: ../../mod/admin.php:188
+msgid "Message queues"
+msgstr "Очередь недоÑтавленных Ñообщений"
+
+#: ../../mod/admin.php:193 ../../mod/admin.php:418 ../../mod/admin.php:477
+#: ../../mod/admin.php:684 ../../mod/admin.php:782 ../../mod/admin.php:824
+#: ../../mod/admin.php:987 ../../mod/admin.php:1023 ../../mod/admin.php:1110
+msgid "Administration"
+msgstr "ÐдминиÑтрациÑ"
+
+#: ../../mod/admin.php:194
+msgid "Summary"
+msgstr "Резюме"
+
+#: ../../mod/admin.php:196
+msgid "Registered users"
+msgstr "Ð’Ñего пользователeй"
+
+#: ../../mod/admin.php:198 ../../mod/admin.php:481
+msgid "Pending registrations"
+msgstr "Ждут утверждениÑ"
+
+#: ../../mod/admin.php:199
+msgid "Version"
+msgstr "ВерÑÐ¸Ñ ÑиÑтемы"
-#: ../../mod/settings.php:814 ../../mod/admin.php:361
+#: ../../mod/admin.php:201 ../../mod/admin.php:482
+msgid "Active plugins"
+msgstr "Ðктивные плагины"
+
+#: ../../mod/admin.php:342
+msgid "Site settings updated."
+msgstr "ÐаÑтройки Ñайта обновлены."
+
+#: ../../mod/admin.php:371 ../../mod/settings.php:700
msgid "No special theme for mobile devices"
msgstr "Ðет Ñпециальной темы Ð´Ð»Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ñ… уÑтройÑтв"
-#: ../../mod/settings.php:854
-msgid "Display Settings"
-msgstr "ÐаÑтройки отображениÑ"
+#: ../../mod/admin.php:373
+msgid "No special theme for accessibility"
+msgstr ""
-#: ../../mod/settings.php:860
-msgid "Display Theme:"
-msgstr "Тема отображениÑ:"
+#: ../../mod/admin.php:398
+msgid "Closed"
+msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð°"
-#: ../../mod/settings.php:861
-msgid "Mobile Theme:"
-msgstr "ÐœÐ¾Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ñ‚ÐµÐ¼Ð° отображениÑ:"
+#: ../../mod/admin.php:399
+msgid "Requires approval"
+msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ подтверждениÑ"
-#: ../../mod/settings.php:862
-msgid "Update browser every xx seconds"
-msgstr "Обновление браузера каждые ХХ Ñекунд"
+#: ../../mod/admin.php:400
+msgid "Open"
+msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð°"
-#: ../../mod/settings.php:862
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Минимум 10 Ñекунд, без макÑимума"
+#: ../../mod/admin.php:405
+msgid "Private"
+msgstr "Личный доÑтуп"
-#: ../../mod/settings.php:863
-msgid "Maximum number of conversations to load at any time:"
-msgstr ""
+#: ../../mod/admin.php:406
+msgid "Paid Access"
+msgstr "Платный доÑтуп"
-#: ../../mod/settings.php:863
-msgid "Maximum of 100 items"
-msgstr "МакÑимум 100 Ñлементов"
+#: ../../mod/admin.php:407
+msgid "Free Access"
+msgstr "Свободный доÑтуп"
-#: ../../mod/settings.php:864
-msgid "Don't show emoticons"
-msgstr "Ðе показывать emoticons"
+#: ../../mod/admin.php:408
+msgid "Tiered Access"
+msgstr ""
-#: ../../mod/settings.php:900
-msgid "Nobody except yourself"
-msgstr "Ðикто, кроме ваÑ"
+#: ../../mod/admin.php:421 ../../mod/register.php:189
+msgid "Registration"
+msgstr "РегиÑтрациÑ"
-#: ../../mod/settings.php:901
-msgid "Only those you specifically allow"
-msgstr "Только комы вы разрешили"
+#: ../../mod/admin.php:422
+msgid "File upload"
+msgstr "Загрузка файла"
-#: ../../mod/settings.php:902
-msgid "Anybody in your address book"
-msgstr "Любой в вашей адреÑной книге"
+#: ../../mod/admin.php:423
+msgid "Policies"
+msgstr "Правила"
-#: ../../mod/settings.php:903
-msgid "Anybody on this website"
-msgstr "Любой на Ñтом веб-Ñайте"
+#: ../../mod/admin.php:424
+msgid "Advanced"
+msgstr "Дополнительно"
-#: ../../mod/settings.php:904
-msgid "Anybody in this network"
-msgstr "Любой в Ñтой Ñети"
+#: ../../mod/admin.php:428
+msgid "Site name"
+msgstr "Ðазвание Ñайта"
-#: ../../mod/settings.php:905
-msgid "Anybody on the internet"
-msgstr "Любой в интернете"
+#: ../../mod/admin.php:429
+msgid "Banner/Logo"
+msgstr "Баннер / логотип"
-#: ../../mod/settings.php:978
-msgid "Publish your default profile in the network directory"
-msgstr "ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ð¾ умолчанию в каталоге Ñети"
+#: ../../mod/admin.php:430
+msgid "System language"
+msgstr "Язык ÑиÑтемы"
-#: ../../mod/settings.php:983
-msgid "Allow us to suggest you as a potential friend to new members?"
+#: ../../mod/admin.php:431
+msgid "System theme"
+msgstr "Тема ÑиÑтемы"
+
+#: ../../mod/admin.php:431
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
msgstr ""
-#: ../../mod/settings.php:987 ../../mod/profile_photo.php:298
-msgid "or"
-msgstr "или"
+#: ../../mod/admin.php:432
+msgid "Mobile system theme"
+msgstr "ÐœÐ¾Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ñ‚ÐµÐ¼Ð° ÑиÑтемы"
-#: ../../mod/settings.php:992
-msgid "Your channel address is"
-msgstr "ÐÐ´Ñ€ÐµÑ Ð²Ð°ÑˆÐµÐ³Ð¾ канала:"
+#: ../../mod/admin.php:432
+msgid "Theme for mobile devices"
+msgstr "Тема Ð´Ð»Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ñ… уÑтройÑтв"
-#: ../../mod/settings.php:1003
-msgid "Automatically expire posts after this many days:"
+#: ../../mod/admin.php:433
+msgid "Accessibility system theme"
msgstr ""
-#: ../../mod/settings.php:1003
-msgid "If empty, posts will not expire. Expired posts will be deleted"
+#: ../../mod/admin.php:433
+msgid "Accessibility theme"
msgstr ""
-#: ../../mod/settings.php:1004
-msgid "Advanced expiration settings"
+#: ../../mod/admin.php:434
+msgid "Channel to use for this website's static pages"
msgstr ""
-#: ../../mod/settings.php:1005
-msgid "Advanced Expiration"
-msgstr "Дополнительное иÑтечение Ñрока давноÑти"
+#: ../../mod/admin.php:434
+msgid "Site Channel"
+msgstr "Канал Ñайта"
-#: ../../mod/settings.php:1006
-msgid "Expire posts:"
-msgstr ""
+#: ../../mod/admin.php:436
+msgid "Maximum image size"
+msgstr "МакÑимальный размер"
-#: ../../mod/settings.php:1008
-msgid "Expire starred posts:"
+#: ../../mod/admin.php:436
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
msgstr ""
-#: ../../mod/settings.php:1009
-msgid "Expire photos:"
-msgstr ""
+#: ../../mod/admin.php:437
+msgid "Register policy"
+msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ñ€ÐµÐ³Ð¸Ñтрации"
-#: ../../mod/settings.php:1010
-msgid "Only expire posts by others:"
-msgstr ""
+#: ../../mod/admin.php:438
+msgid "Access policy"
+msgstr "Правила доÑтупа"
-#: ../../mod/settings.php:1021
-msgid "Channel Settings"
-msgstr "ÐаÑтройки канала"
+#: ../../mod/admin.php:439
+msgid "Register text"
+msgstr "ТекÑÑ‚ региÑтрации"
-#: ../../mod/settings.php:1030
-msgid "Basic Settings"
-msgstr "ОÑновные наÑтройки"
+#: ../../mod/admin.php:439
+msgid "Will be displayed prominently on the registration page."
+msgstr ""
-#: ../../mod/settings.php:1033
-msgid "Your Timezone:"
-msgstr "Ваш чаÑовой поÑÑ:"
+#: ../../mod/admin.php:440
+msgid "Accounts abandoned after x days"
+msgstr ""
-#: ../../mod/settings.php:1034
-msgid "Default Post Location:"
-msgstr "Откуда по умолчанию:"
+#: ../../mod/admin.php:440
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr ""
-#: ../../mod/settings.php:1035
-msgid "Use Browser Location:"
-msgstr "ИÑпользуйте указание браузерa:"
+#: ../../mod/admin.php:441
+msgid "Allowed friend domains"
+msgstr ""
-#: ../../mod/settings.php:1038
-msgid "Security and Privacy Settings"
-msgstr "Параметры безопаÑноÑти и конфиденциальноÑти"
+#: ../../mod/admin.php:441
+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/settings.php:1040
-msgid "Quick Privacy Settings:"
-msgstr "БыÑтрые параметры безопаÑноÑти и конфиденциальноÑти:"
+#: ../../mod/admin.php:442
+msgid "Allowed email domains"
+msgstr ""
-#: ../../mod/settings.php:1041
-msgid "Very Public - extremely permissive"
-msgstr "Очень публично - чрезвычайно разрешающе"
+#: ../../mod/admin.php:442
+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/settings.php:1042
-msgid "Typical - default public, privacy when desired"
-msgstr "Типично - по умолчанию публично, конфиденциальноÑÑ‚ÑŒ, только еÑли наÑтроена"
+#: ../../mod/admin.php:443
+msgid "Block public"
+msgstr "Блокировать публичный доÑтуп"
-#: ../../mod/settings.php:1043
-msgid "Private - default private, rarely open or public"
-msgstr "ЧаÑтно - по умолчанию чаÑтно, редко открыто или публично"
+#: ../../mod/admin.php:443
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently logged in."
+msgstr ""
-#: ../../mod/settings.php:1044
-msgid "Blocked - default blocked to/from everybody"
-msgstr "Заблокированно - по умолчанию заблокировано длÑ/от вÑех"
+#: ../../mod/admin.php:444
+msgid "Force publish"
+msgstr "ЗаÑтавить публиковать"
-#: ../../mod/settings.php:1047
-msgid "Maximum Friend Requests/Day:"
+#: ../../mod/admin.php:444
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
msgstr ""
-#: ../../mod/settings.php:1047
-msgid "May reduce spam activity"
+#: ../../mod/admin.php:445
+msgid "No login on Homepage"
msgstr ""
-#: ../../mod/settings.php:1048
-msgid "Default Post Permissions"
+#: ../../mod/admin.php:445
+msgid ""
+"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/settings.php:1049
-msgid "(click to open/close)"
-msgstr "(нажмите, чтобы открыть / закрыть)"
+#: ../../mod/admin.php:447
+msgid "Proxy user"
+msgstr "Proxy пользователь"
-#: ../../mod/settings.php:1062
-msgid "Maximum private messages per day from unknown people:"
-msgstr ""
+#: ../../mod/admin.php:448
+msgid "Proxy URL"
+msgstr "Proxy URL"
-#: ../../mod/settings.php:1062
-msgid "Useful to reduce spamming"
+#: ../../mod/admin.php:449
+msgid "Network timeout"
+msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ñети"
+
+#: ../../mod/admin.php:449
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr ""
-#: ../../mod/settings.php:1065
-msgid "Notification Settings"
-msgstr "ÐаÑтройки уведомлений"
+#: ../../mod/admin.php:450
+msgid "Delivery interval"
+msgstr "Интервал доÑтавки"
-#: ../../mod/settings.php:1066
-msgid "By default post a status message when:"
+#: ../../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 ""
-#: ../../mod/settings.php:1067
-msgid "accepting a friend request"
+#: ../../mod/admin.php:451
+msgid "Poll interval"
+msgstr "Интервал опроÑа"
+
+#: ../../mod/admin.php:451
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
msgstr ""
-#: ../../mod/settings.php:1068
-msgid "joining a forum/community"
+#: ../../mod/admin.php:452
+msgid "Maximum Load Average"
msgstr ""
-#: ../../mod/settings.php:1069
-msgid "making an <em>interesting</em> profile change"
+#: ../../mod/admin.php:452
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
msgstr ""
-#: ../../mod/settings.php:1070
-msgid "Send a notification email when:"
-msgstr "Отправить уведомление по Ñлектронной почте, еÑли:"
+#: ../../mod/admin.php:469
+msgid "No server found"
+msgstr "Сервер не найден"
-#: ../../mod/settings.php:1071
-msgid "You receive an introduction"
-msgstr "Вы получили введение"
+#: ../../mod/admin.php:476 ../../mod/admin.php:698
+msgid "ID"
+msgstr "ID"
-#: ../../mod/settings.php:1072
-msgid "Your introductions are confirmed"
+#: ../../mod/admin.php:476
+msgid "for channel"
msgstr ""
-#: ../../mod/settings.php:1073
-msgid "Someone writes on your profile wall"
+#: ../../mod/admin.php:476
+msgid "on server"
msgstr ""
-#: ../../mod/settings.php:1074
-msgid "Someone writes a followup comment"
+#: ../../mod/admin.php:476
+msgid "Status"
+msgstr "СтатуÑ"
+
+#: ../../mod/admin.php:496
+msgid "Update has been marked successful"
msgstr ""
-#: ../../mod/settings.php:1075
-msgid "You receive a private message"
+#: ../../mod/admin.php:506
+#, php-format
+msgid "Executing %s failed. Check system logs."
msgstr ""
-#: ../../mod/settings.php:1076
-msgid "You receive a friend suggestion"
+#: ../../mod/admin.php:509
+#, php-format
+msgid "Update %s was successfully applied."
msgstr ""
-#: ../../mod/settings.php:1077
-msgid "You are tagged in a post"
+#: ../../mod/admin.php:513
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr ""
-#: ../../mod/settings.php:1078
-msgid "You are poked/prodded/etc. in a post"
+#: ../../mod/admin.php:516
+#, php-format
+msgid "Update function %s could not be found."
msgstr ""
-#: ../../mod/settings.php:1081
-msgid "Advanced Account/Page Type Settings"
+#: ../../mod/admin.php:531
+msgid "No failed updates."
+msgstr "Ошибок обновлений нет."
+
+#: ../../mod/admin.php:535
+msgid "Failed Updates"
+msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð¼Ð¸"
+
+#: ../../mod/admin.php:537
+msgid "Mark success (if update was manually applied)"
msgstr ""
-#: ../../mod/settings.php:1082
-msgid "Change the behaviour of this account for special situations"
+#: ../../mod/admin.php:538
+msgid "Attempt to execute this update step automatically"
msgstr ""
-#: ../../mod/viewconnections.php:28 ../../mod/directory.php:23
-#: ../../mod/photos.php:561 ../../mod/display.php:9 ../../mod/search.php:80
-#: ../../mod/community.php:18
-msgid "Public access denied."
-msgstr "ОбщеÑтвенный доÑтуп запрещен."
+#: ../../mod/admin.php:564
+#, php-format
+msgid "%s user blocked/unblocked"
+msgid_plural "%s users blocked/unblocked"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
-#: ../../mod/viewconnections.php:57
-msgid "No connections."
-msgstr "Ðикаких ÑвÑзей."
+#: ../../mod/admin.php:571
+#, php-format
+msgid "%s user deleted"
+msgid_plural "%s users deleted"
+msgstr[0] "%s канал удален"
+msgstr[1] "%s канала удалены"
+msgstr[2] "%s каналов удалено"
+
+#: ../../mod/admin.php:602
+msgid "Account not found"
+msgstr "Ðккаунт не найден"
-#: ../../mod/viewconnections.php:69 ../../mod/nogroup.php:40
+#: ../../mod/admin.php:613
#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "ПоÑетить %s's ​​профиль [%s]"
+msgid "User '%s' deleted"
+msgstr "Пользователь '%s' удален"
-#: ../../mod/viewconnections.php:84
-msgid "View Connnections"
-msgstr "ПроÑмотр контактов"
+#: ../../mod/admin.php:622
+#, php-format
+msgid "User '%s' unblocked"
+msgstr "Пользователь '%s' разрешен"
-#: ../../mod/tagrm.php:41
-msgid "Tag removed"
-msgstr "Тег удален"
+#: ../../mod/admin.php:622
+#, php-format
+msgid "User '%s' blocked"
+msgstr "Пользователь '%s' заблокирован"
-#: ../../mod/tagrm.php:79
-msgid "Remove Item Tag"
-msgstr "Удалить Тег"
+#: ../../mod/admin.php:687
+msgid "select all"
+msgstr "выбрать вÑе"
-#: ../../mod/tagrm.php:81
-msgid "Select a tag to remove: "
-msgstr "Выбрать тег Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ: "
+#: ../../mod/admin.php:688
+msgid "User registrations waiting for confirm"
+msgstr "РегиÑтрации пользователей ждут подтверждениÑ"
-#: ../../mod/tagrm.php:93 ../../mod/delegate.php:130
-msgid "Remove"
-msgstr "Удалить"
+#: ../../mod/admin.php:689
+msgid "Request date"
+msgstr "Дата запроÑа"
-#: ../../mod/connect.php:59 ../../mod/connect.php:107
-msgid "Continue"
-msgstr ""
+#: ../../mod/admin.php:689 ../../mod/settings.php:509
+#: ../../mod/settings.php:535
+msgid "Name"
+msgstr "ИмÑ"
-#: ../../mod/connect.php:88
-msgid "Premium Channel Setup"
-msgstr ""
+#: ../../mod/admin.php:690
+msgid "No registrations."
+msgstr "Ðовых региÑтраций пока нет."
-#: ../../mod/connect.php:90
-msgid "Enable premium channel connection restrictions"
-msgstr ""
+#: ../../mod/admin.php:691
+msgid "Approve"
+msgstr "Утвердить"
-#: ../../mod/connect.php:91
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr ""
+#: ../../mod/admin.php:692
+msgid "Deny"
+msgstr "Запретить"
-#: ../../mod/connect.php:93 ../../mod/connect.php:113
-msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr ""
+#: ../../mod/admin.php:698
+msgid "Register date"
+msgstr "Дата региÑтрации"
-#: ../../mod/connect.php:94
-msgid ""
-"Potential connections will then see the following text before proceeding:"
+#: ../../mod/admin.php:698
+msgid "Last login"
+msgstr "ПоÑледний вход"
+
+#: ../../mod/admin.php:698
+msgid "Expires"
msgstr ""
-#: ../../mod/connect.php:95 ../../mod/connect.php:116
+#: ../../mod/admin.php:698
+msgid "Service Class"
+msgstr "КлаÑÑ Ñлужбы"
+
+#: ../../mod/admin.php:700
msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
+"Selected users will be deleted!\\n\\nEverything these users had posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/connect.php:104
-msgid "(No specific instructions have been provided by the channel owner.)"
+#: ../../mod/admin.php:701
+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 ""
-#: ../../mod/connect.php:112
-msgid "Restricted or Premium Channel"
-msgstr ""
+#: ../../mod/admin.php:742
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "Плагин %s отключен."
-#: ../../mod/delegate.php:95
-msgid "No potential page delegates located."
-msgstr ""
+#: ../../mod/admin.php:746
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Плагин %s включен."
-#: ../../mod/delegate.php:121
-msgid "Delegate Page Management"
-msgstr ""
+#: ../../mod/admin.php:756 ../../mod/admin.php:958
+msgid "Disable"
+msgstr "Запретить"
-#: ../../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 ""
+#: ../../mod/admin.php:758 ../../mod/admin.php:960
+msgid "Enable"
+msgstr "Разрешить"
-#: ../../mod/delegate.php:124
-msgid "Existing Page Managers"
-msgstr ""
+#: ../../mod/admin.php:784 ../../mod/admin.php:989
+msgid "Toggle"
+msgstr "Переключить"
-#: ../../mod/delegate.php:126
-msgid "Existing Page Delegates"
-msgstr ""
+#: ../../mod/admin.php:792 ../../mod/admin.php:999
+msgid "Author: "
+msgstr "Ðвтор: "
-#: ../../mod/delegate.php:128
-msgid "Potential Delegates"
-msgstr ""
+#: ../../mod/admin.php:793 ../../mod/admin.php:1000
+msgid "Maintainer: "
+msgstr "ОбÑлуживающий: "
-#: ../../mod/delegate.php:131
-msgid "Add"
-msgstr "Добавить"
+#: ../../mod/admin.php:922
+msgid "No themes found."
+msgstr "Темы не найдены."
-#: ../../mod/delegate.php:132
-msgid "No entries."
-msgstr "Ðет запиÑей."
+#: ../../mod/admin.php:981
+msgid "Screenshot"
+msgstr "Скриншот"
-#: ../../mod/directory.php:125 ../../mod/profiles.php:584
-msgid "Age: "
-msgstr "ВозраÑÑ‚:"
+#: ../../mod/admin.php:1029
+msgid "[Experimental]"
+msgstr "[ÑкÑпериментальный]"
-#: ../../mod/directory.php:128
-msgid "Gender: "
-msgstr "Пол:"
+#: ../../mod/admin.php:1030
+msgid "[Unsupported]"
+msgstr "[неподдерживаемый]"
-#: ../../mod/directory.php:183
-msgid "Finding:"
-msgstr "ПоиÑк:"
+#: ../../mod/admin.php:1057
+msgid "Log settings updated."
+msgstr "ÐаÑтройки журнала обновленны."
-#: ../../mod/directory.php:191
-msgid "next page"
-msgstr "ÑÐ»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñтраница"
+#: ../../mod/admin.php:1113
+msgid "Clear"
+msgstr "ОчиÑтить"
-#: ../../mod/directory.php:191
-msgid "previous page"
-msgstr "Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ñтраница"
+#: ../../mod/admin.php:1119
+msgid "Debugging"
+msgstr "Включить/Выключить"
-#: ../../mod/directory.php:198
-msgid "No entries (some entries may be hidden)."
-msgstr ""
+#: ../../mod/admin.php:1120
+msgid "Log file"
+msgstr "Файл журнала"
-#: ../../mod/dirfind.php:26
-msgid "People Search"
-msgstr "ПоиÑк людей"
+#: ../../mod/admin.php:1120
+msgid ""
+"Must be writable by web server. Relative to your Red top-level directory."
+msgstr "Должна быть доÑтупна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи веб-Ñервером. ОтноÑительно верхнего ÑƒÑ€Ð¾Ð²Ð½Ñ Ð²ÐµÐ±-Ñайта."
-#: ../../mod/dirfind.php:60 ../../mod/match.php:65
-msgid "No matches"
-msgstr "Ðет ÑоответÑтвий"
+#: ../../mod/admin.php:1121
+msgid "Log level"
+msgstr "Уровень журнала"
-#: ../../mod/mitem.php:13 ../../mod/menu.php:87
+#: ../../mod/mitem.php:14 ../../mod/menu.php:87
msgid "Menu not found."
-msgstr ""
+msgstr "Меню не найдено."
-#: ../../mod/mitem.php:66
+#: ../../mod/mitem.php:47
msgid "Menu element updated."
-msgstr ""
+msgstr "Меню обновлено."
-#: ../../mod/mitem.php:70
+#: ../../mod/mitem.php:51
msgid "Unable to update menu element."
msgstr ""
-#: ../../mod/mitem.php:76
+#: ../../mod/mitem.php:57
msgid "Menu element added."
-msgstr ""
+msgstr "Элемент меню добавлен."
-#: ../../mod/mitem.php:80
+#: ../../mod/mitem.php:61
msgid "Unable to add menu element."
msgstr ""
-#: ../../mod/mitem.php:97 ../../mod/xchan.php:25 ../../mod/menu.php:113
+#: ../../mod/mitem.php:78 ../../mod/xchan.php:25 ../../mod/menu.php:113
+#: ../../mod/dirprofile.php:176
msgid "Not found."
msgstr "Ðе найдено."
-#: ../../mod/mitem.php:116
+#: ../../mod/mitem.php:96
msgid "Manage Menu Elements"
msgstr ""
-#: ../../mod/mitem.php:119
+#: ../../mod/mitem.php:99
msgid "Edit menu"
-msgstr ""
+msgstr "Редактировать меню"
-#: ../../mod/mitem.php:122
+#: ../../mod/mitem.php:102
msgid "Edit element"
-msgstr ""
+msgstr "Редактировать Ñлемент"
-#: ../../mod/mitem.php:123
+#: ../../mod/mitem.php:103
msgid "Drop element"
-msgstr ""
+msgstr "Удалить Ñлемент"
-#: ../../mod/mitem.php:124
+#: ../../mod/mitem.php:104
msgid "New element"
-msgstr ""
+msgstr "Ðовый Ñлемент"
-#: ../../mod/mitem.php:125
+#: ../../mod/mitem.php:105
msgid "Edit this menu container"
msgstr ""
-#: ../../mod/mitem.php:126
+#: ../../mod/mitem.php:106
msgid "Add menu element"
-msgstr ""
+msgstr "Добавить Ñлемент меню"
-#: ../../mod/mitem.php:127
+#: ../../mod/mitem.php:107
msgid "Delete this menu item"
msgstr ""
-#: ../../mod/mitem.php:128
+#: ../../mod/mitem.php:108
msgid "Edit this menu item"
msgstr ""
-#: ../../mod/mitem.php:141
+#: ../../mod/mitem.php:131
msgid "New Menu Element"
+msgstr "Ðовый Ñлемент меню"
+
+#: ../../mod/mitem.php:133 ../../mod/mitem.php:176
+msgid "Menu Item Permissions"
msgstr ""
-#: ../../mod/mitem.php:143 ../../mod/mitem.php:184
+#: ../../mod/mitem.php:134 ../../mod/mitem.php:177 ../../mod/settings.php:930
+msgid "(click to open/close)"
+msgstr "(нажмите, чтобы открыть / закрыть)"
+
+#: ../../mod/mitem.php:136 ../../mod/mitem.php:180
msgid "Link text"
-msgstr ""
+msgstr "ТекÑÑ‚ ÑÑылки"
-#: ../../mod/mitem.php:144 ../../mod/mitem.php:185
+#: ../../mod/mitem.php:137 ../../mod/mitem.php:181
msgid "URL of link"
msgstr ""
-#: ../../mod/mitem.php:145 ../../mod/mitem.php:186
+#: ../../mod/mitem.php:138 ../../mod/mitem.php:182
msgid "Use Red magic-auth if available"
msgstr ""
-#: ../../mod/mitem.php:146 ../../mod/mitem.php:187
+#: ../../mod/mitem.php:139 ../../mod/mitem.php:183
msgid "Open link in new window"
msgstr ""
-#: ../../mod/mitem.php:148 ../../mod/mitem.php:189
+#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
msgid "Order in list"
msgstr ""
-#: ../../mod/mitem.php:148 ../../mod/mitem.php:189
+#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
msgid "Higher numbers will sink to bottom of listing"
msgstr ""
-#: ../../mod/mitem.php:149 ../../mod/menu.php:79 ../../mod/new_channel.php:117
+#: ../../mod/mitem.php:142 ../../mod/menu.php:79 ../../mod/new_channel.php:117
msgid "Create"
msgstr "Создать"
-#: ../../mod/mitem.php:161
+#: ../../mod/mitem.php:154
msgid "Menu item not found."
-msgstr ""
+msgstr "Элемент меню не найден."
-#: ../../mod/mitem.php:170
+#: ../../mod/mitem.php:163
msgid "Menu item deleted."
msgstr ""
-#: ../../mod/mitem.php:172
+#: ../../mod/mitem.php:165
msgid "Menu item could not be deleted."
msgstr ""
-#: ../../mod/mitem.php:181
+#: ../../mod/mitem.php:174
msgid "Edit Menu Element"
-msgstr ""
+msgstr "Редактировать Ñлемент меню"
-#: ../../mod/mitem.php:190 ../../mod/menu.php:107
+#: ../../mod/mitem.php:186 ../../mod/menu.php:107
msgid "Modify"
msgstr ""
-#: ../../mod/group.php:26
+#: ../../mod/group.php:20
msgid "Collection created."
msgstr "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ñоздана."
-#: ../../mod/group.php:32
+#: ../../mod/group.php:26
msgid "Could not create collection."
msgstr "Ðе удалоÑÑŒ Ñоздать коллекцию."
-#: ../../mod/group.php:60
-msgid "Collection name changed."
-msgstr "Ð˜Ð¼Ñ ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ð¸ изменено."
+#: ../../mod/group.php:54
+msgid "Collection updated."
+msgstr ""
-#: ../../mod/group.php:92
+#: ../../mod/group.php:86
msgid "Create a collection of channels."
msgstr "Создать коллекцию контактов"
-#: ../../mod/group.php:93 ../../mod/group.php:189
+#: ../../mod/group.php:87 ../../mod/group.php:183
msgid "Collection Name: "
msgstr "Ðазвание коллекции:"
-#: ../../mod/group.php:95 ../../mod/group.php:192
+#: ../../mod/group.php:89 ../../mod/group.php:186
msgid "Members are visible to other channels"
msgstr ""
-#: ../../mod/group.php:113
+#: ../../mod/group.php:107
msgid "Collection removed."
msgstr "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð°."
-#: ../../mod/group.php:115
+#: ../../mod/group.php:109
msgid "Unable to remove collection."
msgstr "Ðевозможно удалить коллекцию."
-#: ../../mod/group.php:188
+#: ../../mod/group.php:182
msgid "Collection Editor"
msgstr "Редактор коллекций"
-#: ../../mod/group.php:202
+#: ../../mod/group.php:196
msgid "Members"
msgstr "УчаÑтники"
-#: ../../mod/group.php:204
+#: ../../mod/group.php:198
msgid "All Connected Channels"
msgstr "Ð’Ñе подключенные контакы"
-#: ../../mod/group.php:237
+#: ../../mod/group.php:231
msgid "Click on a channel to add or remove."
msgstr ""
-#: ../../mod/photos.php:83
+#: ../../mod/photos.php:77
msgid "Page owner information could not be retrieved."
msgstr ""
-#: ../../mod/photos.php:103
+#: ../../mod/photos.php:97
msgid "Album not found."
msgstr "Ðльбом не найден."
-#: ../../mod/photos.php:125 ../../mod/photos.php:773
+#: ../../mod/photos.php:119 ../../mod/photos.php:799
msgid "Delete Album"
msgstr "Удалить альбом"
-#: ../../mod/photos.php:165 ../../mod/photos.php:1038
+#: ../../mod/photos.php:159 ../../mod/photos.php:1061
msgid "Delete Photo"
msgstr "Удалить фотографию"
-#: ../../mod/photos.php:495
+#: ../../mod/photos.php:500
#, php-format
msgid "%1$s was tagged in %2$s by %3$s"
msgstr "%1$s добавил тег в %2$s на %3$s"
-#: ../../mod/photos.php:495
+#: ../../mod/photos.php:500
msgid "a photo"
msgstr "фотографиÑ"
-#: ../../mod/photos.php:571
+#: ../../mod/photos.php:583
msgid "No photos selected"
msgstr "Ðикакие фотографии не выбраны"
-#: ../../mod/photos.php:625
+#: ../../mod/photos.php:630
msgid "Access to this item is restricted."
msgstr "ДоÑтуп к Ñтому Ñлементу ограничен."
-#: ../../mod/photos.php:689
+#: ../../mod/photos.php:704
#, php-format
msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
msgstr ""
-#: ../../mod/photos.php:692
+#: ../../mod/photos.php:707
#, php-format
msgid "You have used %1$.2f Mbytes of photo storage."
msgstr ""
-#: ../../mod/photos.php:700
+#: ../../mod/photos.php:726
msgid "Upload Photos"
msgstr "Загрузить фотографии"
-#: ../../mod/photos.php:704 ../../mod/photos.php:768
+#: ../../mod/photos.php:730 ../../mod/photos.php:794
msgid "New album name: "
msgstr "Ðазвание нового альбома:"
-#: ../../mod/photos.php:705
+#: ../../mod/photos.php:731
msgid "or existing album name: "
msgstr "или ÑущеÑтвующий альбом:"
-#: ../../mod/photos.php:706
+#: ../../mod/photos.php:732
msgid "Do not show a status post for this upload"
msgstr ""
-#: ../../mod/photos.php:708 ../../mod/photos.php:1033
+#: ../../mod/photos.php:734 ../../mod/photos.php:1056
+#: ../../mod/filestorage.php:125
msgid "Permissions"
msgstr "РазрешениÑ"
-#: ../../mod/photos.php:757 ../../mod/photos.php:779 ../../mod/photos.php:1205
-#: ../../mod/photos.php:1220
+#: ../../mod/photos.php:783 ../../mod/photos.php:805 ../../mod/photos.php:1232
+#: ../../mod/photos.php:1247
msgid "Contact Photos"
msgstr "Фотографии контакта"
-#: ../../mod/photos.php:783
+#: ../../mod/photos.php:809
msgid "Edit Album"
msgstr "Редактировать Фотоальбом"
-#: ../../mod/photos.php:789
+#: ../../mod/photos.php:815
msgid "Show Newest First"
msgstr "Показать новые первыми"
-#: ../../mod/photos.php:791
+#: ../../mod/photos.php:817
msgid "Show Oldest First"
msgstr "Показать Ñтарые первыми"
-#: ../../mod/photos.php:835 ../../mod/photos.php:1252
+#: ../../mod/photos.php:860 ../../mod/photos.php:1279
msgid "View Photo"
msgstr "ПоÑмотреть фотографию"
-#: ../../mod/photos.php:879
+#: ../../mod/photos.php:906
msgid "Permission denied. Access to this item may be restricted."
msgstr ""
-#: ../../mod/photos.php:881
+#: ../../mod/photos.php:908
msgid "Photo not available"
msgstr "Ð¤Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð½Ðµ доÑтупна"
-#: ../../mod/photos.php:939
+#: ../../mod/photos.php:966
msgid "Use as profile photo"
msgstr "ИÑпользовать в качеÑтве фотографии профилÑ"
-#: ../../mod/photos.php:967
+#: ../../mod/photos.php:990
msgid "View Full Size"
msgstr "ПоÑмотреть в полный размер"
-#: ../../mod/photos.php:1021
+#: ../../mod/photos.php:1044
msgid "Edit photo"
msgstr "Редактировать фотографию"
-#: ../../mod/photos.php:1023
+#: ../../mod/photos.php:1046
msgid "Rotate CW (right)"
msgstr "Повернуть CW (направо)"
-#: ../../mod/photos.php:1024
+#: ../../mod/photos.php:1047
msgid "Rotate CCW (left)"
msgstr "Повернуть CCW (налево)"
-#: ../../mod/photos.php:1026
+#: ../../mod/photos.php:1049
msgid "New album name"
msgstr "Ðовое название альбома:"
-#: ../../mod/photos.php:1029
+#: ../../mod/photos.php:1052
msgid "Caption"
msgstr "ПодпиÑÑŒ"
-#: ../../mod/photos.php:1031
+#: ../../mod/photos.php:1054
msgid "Add a Tag"
msgstr "Добавить тег"
-#: ../../mod/photos.php:1035
+#: ../../mod/photos.php:1058
msgid ""
"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
msgstr "Ðапример: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-#: ../../mod/photos.php:1258
+#: ../../mod/photos.php:1285
msgid "View Album"
msgstr "ПоÑмотреть фотоальбом"
-#: ../../mod/photos.php:1267
+#: ../../mod/photos.php:1294
msgid "Recent Photos"
msgstr "ПоÑледние фотографии"
-#: ../../mod/ping.php:160
-msgid "sent you a private message"
-msgstr "отправил вам личное Ñообщение"
-
-#: ../../mod/ping.php:218
-msgid "added your channel"
-msgstr "добавил ваш канал"
-
-#: ../../mod/ping.php:230 ../../boot.php:1808 ../../boot.php:1888
-msgid "g A l F d"
-msgstr "g A l F d"
-
-#: ../../mod/ping.php:252 ../../boot.php:1854 ../../boot.php:1929
-msgid "[today]"
-msgstr "[ÑегоднÑ]"
-
-#: ../../mod/ping.php:262
-msgid "posted an event"
-msgstr ""
-
#: ../../mod/filer.php:35
msgid "- select -"
msgstr "- выбрать -"
#: ../../mod/menu.php:17
msgid "Menu updated."
-msgstr ""
+msgstr "Меню обновлено."
#: ../../mod/menu.php:21
msgid "Unable to update menu."
-msgstr ""
+msgstr "Ðевозможно обновление меню."
#: ../../mod/menu.php:26
msgid "Menu created."
-msgstr ""
+msgstr "Меню Ñоздано."
#: ../../mod/menu.php:30
msgid "Unable to create menu."
-msgstr ""
+msgstr "Ðевозможно Ñоздать меню."
#: ../../mod/menu.php:53
msgid "Manage Menus"
-msgstr ""
+msgstr "Управление меню"
#: ../../mod/menu.php:56
msgid "Drop"
-msgstr ""
-
-#: ../../mod/menu.php:57 ../../mod/network.php:298
-#: ../../mod/connections.php:521
-msgid "New"
-msgstr "Ðовые"
+msgstr "Удалить"
#: ../../mod/menu.php:58
msgid "Create a new menu"
-msgstr ""
+msgstr "Создать новое меню"
#: ../../mod/menu.php:59
msgid "Delete this menu"
-msgstr ""
+msgstr "Удалить Ñто меню"
#: ../../mod/menu.php:60 ../../mod/menu.php:104
msgid "Edit menu contents"
-msgstr ""
+msgstr "Редактировать Ñодержание меню"
#: ../../mod/menu.php:61
msgid "Edit this menu"
-msgstr ""
+msgstr "Редактировать Ñто меню"
#: ../../mod/menu.php:76
msgid "New Menu"
-msgstr ""
+msgstr "Ðовое меню"
#: ../../mod/menu.php:77 ../../mod/menu.php:105
msgid "Menu name"
-msgstr ""
+msgstr "Ðазвание меню"
#: ../../mod/menu.php:77 ../../mod/menu.php:105
msgid "Must be unique, only seen by you"
@@ -4249,7 +5154,7 @@ msgstr ""
#: ../../mod/menu.php:78 ../../mod/menu.php:106
msgid "Menu title"
-msgstr ""
+msgstr "Ðазвание меню"
#: ../../mod/menu.php:78 ../../mod/menu.php:106
msgid "Menu title as seen by others"
@@ -4257,7 +5162,7 @@ msgstr ""
#: ../../mod/menu.php:93
msgid "Menu deleted."
-msgstr ""
+msgstr "Меню удалено."
#: ../../mod/menu.php:95
msgid "Menu could not be deleted."
@@ -4265,647 +5170,190 @@ msgstr ""
#: ../../mod/menu.php:101
msgid "Edit Menu"
-msgstr ""
+msgstr "Редактировать меню"
#: ../../mod/menu.php:103
msgid "Add or remove entries to this menu"
msgstr ""
-#: ../../mod/home.php:76
+#: ../../mod/home.php:89
#, php-format
msgid "Welcome to %s"
msgstr "Добро пожаловать в %s"
-#: ../../mod/message.php:16
-msgid "Check Mail"
-msgstr "Проверить Ñнова"
-
-#: ../../mod/message.php:52
-msgid "Unable to lookup recipient."
-msgstr ""
-
-#: ../../mod/message.php:60
-msgid "Unable to communicate with requested channel."
-msgstr ""
-
-#: ../../mod/message.php:67
-msgid "Cannot verify requested channel."
-msgstr ""
-
-#: ../../mod/message.php:93
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr ""
-
-#: ../../mod/message.php:213 ../../mod/notifications.php:101
-msgid "Messages"
-msgstr "ПерепиÑка"
-
-#: ../../mod/message.php:224
-msgid "Message deleted."
-msgstr "Сообщение удалено."
-
-#: ../../mod/message.php:231
-msgid "Conversation removed."
-msgstr "Разговор удален."
-
-#: ../../mod/message.php:282
-msgid "Send Private Message"
-msgstr "Отправить личное Ñообщение"
-
-#: ../../mod/message.php:283 ../../mod/message.php:448
-msgid "To:"
-msgstr "Кому:"
-
-#: ../../mod/message.php:288 ../../mod/message.php:450
-msgid "Subject:"
-msgstr "Тема:"
-
-#: ../../mod/message.php:317
-msgid "No messages."
-msgstr "Ðет Ñообщений."
-
-#: ../../mod/message.php:333 ../../mod/message.php:419
-msgid "Delete message"
-msgstr "Удалить Ñообщение"
-
-#: ../../mod/message.php:335
-msgid "D, d M Y - g:i A"
-msgstr "D, d M Y - g:i A"
-
-#: ../../mod/message.php:354
-msgid "Message not found."
-msgstr "Сообщение не найдено."
-
-#: ../../mod/message.php:441
-msgid "Delete conversation"
-msgstr "Удалить разговор"
-
-#: ../../mod/message.php:443
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr ""
-
-#: ../../mod/message.php:447
-msgid "Send Reply"
-msgstr "Отправить Ñнова"
-
-#: ../../mod/hcard.php:10
-msgid "No profile"
-msgstr "Профиль отÑутÑтвует"
-
-#: ../../mod/help.php:30
-msgid "Help:"
-msgstr "Помощь:"
-
-#: ../../mod/help.php:38 ../../index.php:226
-msgid "Not Found"
-msgstr "Ðе найдено"
-
-#: ../../mod/help.php:41 ../../index.php:229
-msgid "Page not found."
-msgstr "Страница не найдена."
-
-#: ../../mod/rmagic.php:56
-msgid "Remote Authentication"
-msgstr "Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ"
-
-#: ../../mod/rmagic.php:57
-msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Введите Ð°Ð´Ñ€ÐµÑ Ð²Ð°ÑˆÐµÐ³Ð¾ канала (например: channel@example.com)"
-
-#: ../../mod/rmagic.php:58
-msgid "Authenticate"
-msgstr "Проверка подлинноÑти"
-
-#: ../../mod/network.php:141 ../../mod/search.php:20
-msgid "Remove term"
-msgstr "Удалить термин"
-
-#: ../../mod/network.php:279
-msgid "Commented Order"
-msgstr "По комментириÑм"
-
-#: ../../mod/network.php:282
-msgid "Sort by Comment Date"
-msgstr "Сортировка по дате ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸ÐµÐ²"
-
-#: ../../mod/network.php:285
-msgid "Posted Order"
-msgstr "По добавлениÑм"
-
-#: ../../mod/network.php:288
-msgid "Sort by Post Date"
-msgstr "Сортировка по дате ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑообщениÑ"
-
-#: ../../mod/network.php:292 ../../mod/notifications.php:86
-msgid "Personal"
-msgstr "Личные"
-
-#: ../../mod/network.php:295
-msgid "Posts that mention or involve you"
-msgstr "СообщениÑ, в которых упоминули или вовлекли ваÑ"
-
-#: ../../mod/network.php:301
-msgid "Activity Stream - by date"
-msgstr "Лента активноÑти - по дате"
-
-#: ../../mod/network.php:308
-msgid "Starred"
-msgstr "Помеченные"
-
-#: ../../mod/network.php:311
-msgid "Favourite Posts"
-msgstr "Фаворит-ÑообщениÑ"
-
-#: ../../mod/network.php:318
-msgid "Spam"
-msgstr "Спам"
-
-#: ../../mod/network.php:321
-msgid "Posts flagged as SPAM"
-msgstr "Как СПÐÐœ помеченные ÑообщениÑ"
-
-#: ../../mod/network.php:361
-msgid "Refresh"
-msgstr "Обновить"
-
-#: ../../mod/network.php:362 ../../mod/connections.php:374
-msgid "Me"
-msgstr "Я"
-
-#: ../../mod/network.php:363 ../../mod/connections.php:376
-msgid "Best Friends"
-msgstr "Лучшие друзьÑ"
-
-#: ../../mod/network.php:365
-msgid "Co-workers"
-msgstr "Сотрудники"
-
-#: ../../mod/network.php:366 ../../mod/connections.php:378
-msgid "Former Friends"
-msgstr "ПриÑтели"
-
-#: ../../mod/network.php:367 ../../mod/connections.php:379
-msgid "Acquaintances"
-msgstr "Знакомые"
-
-#: ../../mod/network.php:368
-msgid "Everybody"
-msgstr "Ð’Ñе"
-
-#: ../../mod/network.php:385
-msgid "Search Results For:"
-msgstr "Результаты поиÑка длÑ:"
-
-#: ../../mod/network.php:430
-msgid "No such group"
-msgstr "Ðет такой группы"
-
-#: ../../mod/network.php:441
-msgid "Group is empty"
-msgstr "Группа пуÑта"
-
-#: ../../mod/network.php:456
-msgid "Contact: "
-msgstr "Канал: "
-
-#: ../../mod/network.php:459
-msgid "Invalid contact."
-msgstr "ÐедейÑтвительный канал."
-
-#: ../../mod/intro.php:11 ../../mod/intro.php:98 ../../mod/admin.php:638
-#: ../../mod/notifications.php:159 ../../mod/notifications.php:206
-msgid "Approve"
-msgstr "Утвердить"
-
-#: ../../mod/intro.php:14 ../../mod/intro.php:99 ../../mod/connections.php:318
-#: ../../mod/connections.php:459 ../../mod/admin.php:641
-msgid "Block"
-msgstr "Заблокировать"
-
-#: ../../mod/intro.php:17 ../../mod/intro.php:100
-#: ../../mod/connections.php:325 ../../mod/connections.php:460
-#: ../../mod/notifications.php:51 ../../mod/notifications.php:162
-#: ../../mod/notifications.php:208
-msgid "Ignore"
-msgstr "Игнорировать"
-
-#: ../../mod/intro.php:29 ../../mod/connections.php:119
-msgid "Connection updated."
-msgstr "Канал обновлен."
-
-#: ../../mod/intro.php:31
-msgid "Connection update failed."
-msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð°."
-
-#: ../../mod/intro.php:56
-msgid "Introductions and Connection Requests"
-msgstr ""
-
-#: ../../mod/intro.php:67
-msgid "No pending introductions."
-msgstr "Введений в ожидании нет."
-
-#: ../../mod/intro.php:72
-msgid "System error. Please try again later."
-msgstr "СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. ПожалуйÑта, повторите попытку позже."
-
-#: ../../mod/intro.php:95 ../../mod/connections.php:465
-#: ../../mod/notifications.php:155 ../../mod/notifications.php:202
-msgid "Hide this contact from others"
-msgstr "Скрыть Ñтот канал от других"
-
-#: ../../mod/intro.php:96 ../../mod/notifications.php:156
-#: ../../mod/notifications.php:203
-msgid "Post a new friend activity"
-msgstr ""
-
-#: ../../mod/intro.php:96 ../../mod/notifications.php:156
-#: ../../mod/notifications.php:203
-msgid "if applicable"
-msgstr "еÑли Ñто применимо"
-
-#: ../../mod/intro.php:101 ../../mod/notifications.php:35
-#: ../../mod/notifications.php:163 ../../mod/notifications.php:209
-msgid "Discard"
-msgstr "Отменить"
-
-#: ../../mod/connections.php:64
-msgid "Could not access contact record."
-msgstr ""
-
-#: ../../mod/connections.php:78
-msgid "Could not locate selected profile."
-msgstr ""
-
-#: ../../mod/connections.php:121
-msgid "Failed to update connection record."
-msgstr ""
-
-#: ../../mod/connections.php:196
-msgid "Could not access address book record."
-msgstr ""
-
-#: ../../mod/connections.php:210
-msgid "Refresh failed - channel is currently unavailable."
-msgstr ""
-
-#: ../../mod/connections.php:217
-msgid "Channel has been unblocked"
-msgstr "Канал разблокирован"
-
-#: ../../mod/connections.php:218
-msgid "Channel has been blocked"
-msgstr "Канал заблокирован"
-
-#: ../../mod/connections.php:222 ../../mod/connections.php:234
-#: ../../mod/connections.php:246 ../../mod/connections.php:258
-#: ../../mod/connections.php:273
-msgid "Unable to set address book parameters."
-msgstr ""
-
-#: ../../mod/connections.php:229
-msgid "Channel has been unignored"
-msgstr "Канал не проигнорирован"
-
-#: ../../mod/connections.php:230
-msgid "Channel has been ignored"
-msgstr "Канал проигнорирован"
-
-#: ../../mod/connections.php:241
-msgid "Channel has been unarchived"
-msgstr "Канал разархивирован"
-
-#: ../../mod/connections.php:242
-msgid "Channel has been archived"
-msgstr "Канал заархивирован"
-
-#: ../../mod/connections.php:253
-msgid "Channel has been unhidden"
-msgstr "Канал открыт"
-
-#: ../../mod/connections.php:254
-msgid "Channel has been hidden"
-msgstr "Канал Ñкрыт"
-
-#: ../../mod/connections.php:268
-msgid "Channel has been approved"
-msgstr "Канал одобрен"
-
-#: ../../mod/connections.php:269
-msgid "Channel has been unapproved"
-msgstr "Канал не одобрен"
-
-#: ../../mod/connections.php:287
-msgid "Contact has been removed."
-msgstr "Канал удален."
-
-#: ../../mod/connections.php:307
-#, php-format
-msgid "View %s's profile"
-msgstr "ПроÑмотр %s's профилÑ"
-
-#: ../../mod/connections.php:311
-msgid "Refresh Permissions"
-msgstr "Обновить разрешениÑ"
-
-#: ../../mod/connections.php:314
-msgid "Fetch updated permissions"
-msgstr ""
-
-#: ../../mod/connections.php:318 ../../mod/connections.php:459
-#: ../../mod/admin.php:642
-msgid "Unblock"
-msgstr "Разрешить"
-
-#: ../../mod/connections.php:321
-msgid "Block or Unblock this connection"
-msgstr "Запретить или разрешить Ñтот канал"
-
-#: ../../mod/connections.php:325 ../../mod/connections.php:460
-msgid "Unignore"
-msgstr "Ðе игнорировать"
-
-#: ../../mod/connections.php:328
-msgid "Ignore or Unignore this connection"
-msgstr "Игнорировать или не игнорировать Ñтот канал"
-
-#: ../../mod/connections.php:331
-msgid "Unarchive"
-msgstr "Разархивировать"
-
-#: ../../mod/connections.php:331
-msgid "Archive"
-msgstr "Заархивировать"
-
-#: ../../mod/connections.php:334
-msgid "Archive or Unarchive this connection"
-msgstr " Заархивировать или разархивировать Ñтот канал"
-
-#: ../../mod/connections.php:337
-msgid "Unhide"
-msgstr "Показать"
-
-#: ../../mod/connections.php:337
-msgid "Hide"
-msgstr "Скрыть"
-
-#: ../../mod/connections.php:340
-msgid "Hide or Unhide this connection"
-msgstr "Скрыть или показывать Ñтот канал"
-
-#: ../../mod/connections.php:347
-msgid "Delete this connection"
-msgstr "Удалить Ñтот контакт"
-
-#: ../../mod/connections.php:380
-msgid "Unknown"
-msgstr "ÐеизвеÑтный"
-
-#: ../../mod/connections.php:390 ../../mod/connections.php:418
-msgid "Approve this connection"
-msgstr "Утвердить Ñтот контакт"
-
-#: ../../mod/connections.php:390
-msgid "Accept connection to allow communication"
-msgstr ""
-
-#: ../../mod/connections.php:406
-msgid "Automatic Permissions Settings"
-msgstr "ÐаÑтройки автоматичеÑких разрешений"
-
-#: ../../mod/connections.php:406
-#, php-format
-msgid "Connections: settings for %s"
-msgstr ""
-
-#: ../../mod/connections.php:410
-msgid ""
-"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 ""
-
-#: ../../mod/connections.php:412
-msgid "Slide to adjust your degree of friendship"
-msgstr ""
-
-#: ../../mod/connections.php:419
-msgid "Connection has no individual permissions!"
-msgstr ""
-
-#: ../../mod/connections.php:420
-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/connections.php:422
-msgid "Profile Visibility"
-msgstr "ВидимоÑÑ‚ÑŒ профилÑ"
-
-#: ../../mod/connections.php:423
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr ""
-
-#: ../../mod/connections.php:424
-msgid "Contact Information / Notes"
-msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ / ÐŸÑ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¾ канале"
-
-#: ../../mod/connections.php:425
-msgid "Edit contact notes"
-msgstr "Редактировать Ð¿Ñ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð°"
-
-#: ../../mod/connections.php:427
-msgid "Their Settings"
-msgstr "Их наÑтройки"
-
-#: ../../mod/connections.php:428
-msgid "My Settings"
-msgstr "Мои наÑтройки"
-
-#: ../../mod/connections.php:430
-msgid "Forum Members"
-msgstr "УчаÑтники форума"
-
-#: ../../mod/connections.php:431
-msgid "Soapbox"
-msgstr "Soapbox"
-
-#: ../../mod/connections.php:432
-msgid "Full Sharing"
-msgstr "Полный обмен"
-
-#: ../../mod/connections.php:433
-msgid "Cautious Sharing"
-msgstr ""
-
-#: ../../mod/connections.php:434
-msgid "Follow Only"
-msgstr "Только Ñледовать"
-
-#: ../../mod/connections.php:435
-msgid "Individual Permissions"
-msgstr "Индивидуальные разрешениÑ"
-
-#: ../../mod/connections.php:436
-msgid ""
-"Individual permissions are only enabled for <a href=\"settings\">privacy "
-"settings</a> which are set to \"Only those you specifically allow\". "
-"Otherwise they are controlled by your privacy settings."
-msgstr ""
-
-#: ../../mod/connections.php:437
-msgid "Advanced Permissions"
-msgstr "Дополнительные разрешениÑ"
-
-#: ../../mod/connections.php:438
-msgid "Quick Links"
-msgstr "БыÑтрые ÑÑылки"
-
-#: ../../mod/connections.php:442
-#, php-format
-msgid "Visit %s's profile - %s"
-msgstr "ПоÑетить %s's ​​профиль - %s"
-
-#: ../../mod/connections.php:443
-msgid "Block/Unblock contact"
-msgstr "Запретить/разрешить контакт"
-
-#: ../../mod/connections.php:444
-msgid "Ignore contact"
-msgstr "Игнорировать контакт"
-
-#: ../../mod/connections.php:445
-msgid "Repair URL settings"
-msgstr "Ремонт наÑтройки URL"
-
-#: ../../mod/connections.php:446
-msgid "View conversations"
-msgstr "ПроÑмотр разговоров"
-
-#: ../../mod/connections.php:448
-msgid "Delete contact"
-msgstr "Удалить контакт"
-
-#: ../../mod/connections.php:451
-msgid "Last update:"
-msgstr "ПоÑледнее обновление:"
-
-#: ../../mod/connections.php:453
-msgid "Update public posts"
-msgstr "Обновить публичные ÑообщениÑ"
-
-#: ../../mod/connections.php:455
-msgid "Update now"
-msgstr "Обновить ÑейчаÑ"
+#: ../../mod/directory.php:143 ../../mod/profiles.php:573
+#: ../../mod/dirprofile.php:95
+msgid "Age: "
+msgstr "ВозраÑÑ‚:"
-#: ../../mod/connections.php:461
-msgid "Currently blocked"
-msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²Ð°Ð½"
+#: ../../mod/directory.php:146 ../../mod/dirprofile.php:98
+msgid "Gender: "
+msgstr "Пол:"
-#: ../../mod/connections.php:462
-msgid "Currently ignored"
-msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÑŽÑ‚ÑÑ"
+#: ../../mod/directory.php:206
+msgid "Finding:"
+msgstr "ПоиÑк:"
-#: ../../mod/connections.php:463
-msgid "Currently archived"
-msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹"
+#: ../../mod/directory.php:214
+msgid "next page"
+msgstr "ÑÐ»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñтраница"
-#: ../../mod/connections.php:464
-msgid "Currently pending"
-msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð² ожидании"
+#: ../../mod/directory.php:214
+msgid "previous page"
+msgstr "Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ñтраница"
-#: ../../mod/connections.php:465
-msgid ""
-"Replies/likes to your public posts <strong>may</strong> still be visible"
+#: ../../mod/directory.php:221
+msgid "No entries (some entries may be hidden)."
msgstr ""
-#: ../../mod/connections.php:501 ../../mod/connections.php:573
+#: ../../mod/connections.php:189 ../../mod/connections.php:261
msgid "Blocked"
msgstr "Заблокированные"
-#: ../../mod/connections.php:506 ../../mod/connections.php:580
+#: ../../mod/connections.php:194 ../../mod/connections.php:268
msgid "Ignored"
msgstr "Игнорируемые"
-#: ../../mod/connections.php:511 ../../mod/connections.php:594
+#: ../../mod/connections.php:199 ../../mod/connections.php:282
msgid "Hidden"
msgstr "Скрытые"
-#: ../../mod/connections.php:516 ../../mod/connections.php:587
+#: ../../mod/connections.php:204 ../../mod/connections.php:275
msgid "Archived"
msgstr "Зархивированные"
-#: ../../mod/connections.php:527
+#: ../../mod/connections.php:215
msgid "All"
msgstr "Ð’Ñе"
-#: ../../mod/connections.php:548
-msgid "Suggestions"
-msgstr "Рекомендации"
-
-#: ../../mod/connections.php:551
+#: ../../mod/connections.php:239
msgid "Suggest new connections"
msgstr "Предлагать новые контакты"
-#: ../../mod/connections.php:557
+#: ../../mod/connections.php:245
msgid "Show pending (new) connections"
msgstr "ПроÑмотр (новых) ждущих контактов"
-#: ../../mod/connections.php:560
+#: ../../mod/connections.php:248
msgid "All Connections"
msgstr "Ð’Ñе контакты"
-#: ../../mod/connections.php:563
+#: ../../mod/connections.php:251
msgid "Show all connections"
msgstr "ПроÑмотр вÑех контактов"
-#: ../../mod/connections.php:566
+#: ../../mod/connections.php:254
msgid "Unblocked"
msgstr "Разрешенные"
-#: ../../mod/connections.php:569
+#: ../../mod/connections.php:257
msgid "Only show unblocked connections"
msgstr "Показать только разрешенные контакты"
-#: ../../mod/connections.php:576
+#: ../../mod/connections.php:264
msgid "Only show blocked connections"
msgstr "Показать только заблокированные контакты"
-#: ../../mod/connections.php:583
+#: ../../mod/connections.php:271
msgid "Only show ignored connections"
msgstr "Показать только проигнорированные контакты"
-#: ../../mod/connections.php:590
+#: ../../mod/connections.php:278
msgid "Only show archived connections"
msgstr "Показать только архивированные контакты"
-#: ../../mod/connections.php:597
+#: ../../mod/connections.php:285
msgid "Only show hidden connections"
msgstr "Показать только Ñкрытые контакты"
-#: ../../mod/connections.php:639
+#: ../../mod/connections.php:329
#, php-format
msgid "%1$s [%2$s]"
msgstr "%1$s [%2$s]"
-#: ../../mod/connections.php:640 ../../mod/nogroup.php:41
+#: ../../mod/connections.php:330
msgid "Edit contact"
msgstr "Редактировать контакт"
-#: ../../mod/connections.php:664
+#: ../../mod/connections.php:353
msgid "Search your connections"
msgstr "ПоиÑк ваших ÑвÑзей"
-#: ../../mod/connections.php:665
+#: ../../mod/connections.php:354
msgid "Finding: "
msgstr "ПоиÑк:"
+#: ../../mod/layouts.php:52
+msgid "Layout Help"
+msgstr ""
+
+#: ../../mod/layouts.php:55
+msgid "Help with this feature"
+msgstr ""
+
+#: ../../mod/layouts.php:74
+msgid "Layout Name"
+msgstr ""
+
+#: ../../mod/help.php:43 ../../mod/help.php:49 ../../mod/help.php:55
+msgid "Help:"
+msgstr "Помощь:"
+
+#: ../../mod/help.php:68 ../../index.php:224
+msgid "Not Found"
+msgstr "Ðе найдено"
+
+#: ../../mod/rmagic.php:56
+msgid "Remote Authentication"
+msgstr "Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ"
+
+#: ../../mod/rmagic.php:57
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Введите Ð°Ð´Ñ€ÐµÑ Ð²Ð°ÑˆÐµÐ³Ð¾ канала (например: channel@example.com)"
+
+#: ../../mod/rmagic.php:58
+msgid "Authenticate"
+msgstr "Проверка подлинноÑти"
+
+#: ../../mod/network.php:79
+msgid "No such group"
+msgstr "Ðет такой группы"
+
+#: ../../mod/network.php:118
+msgid "Search Results For:"
+msgstr "Результаты поиÑка длÑ:"
+
+#: ../../mod/network.php:172
+msgid "Collection is empty"
+msgstr "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð¿ÑƒÑта"
+
+#: ../../mod/network.php:180
+msgid "Collection: "
+msgstr "Коллекции: "
+
+#: ../../mod/network.php:193
+msgid "Connection: "
+msgstr "Контакты: "
+
+#: ../../mod/network.php:196
+msgid "Invalid connection."
+msgstr ""
+
+#: ../../mod/follow.php:25
+msgid "Channel added."
+msgstr "Контакт добавлен."
+
+#: ../../mod/post.php:226
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr ""
+
+#: ../../mod/post.php:256
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr ""
+
#: ../../mod/dirsearch.php:21
msgid "This site is not a directory server"
msgstr "Этот Ñайт не ÑвлÑетÑÑ Ñервером каталога"
@@ -4918,8 +5366,12 @@ msgstr ""
msgid "Visible to:"
msgstr "Кому видно:"
+#: ../../mod/magic.php:70
+msgid "Hub not found."
+msgstr "Hub не найден."
+
#: ../../mod/profiles.php:18 ../../mod/profiles.php:138
-#: ../../mod/profiles.php:179 ../../mod/profiles.php:486
+#: ../../mod/profiles.php:168 ../../mod/profiles.php:475
msgid "Profile not found."
msgstr "Профиль не найден."
@@ -4939,244 +5391,232 @@ msgstr "Ðовый профиль Ñоздан."
msgid "Profile unavailable to clone."
msgstr "Профиль недоÑтупен Ð´Ð»Ñ ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ."
-#: ../../mod/profiles.php:189
+#: ../../mod/profiles.php:178
msgid "Profile Name is required."
msgstr "Ð˜Ð¼Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ÑÑ."
-#: ../../mod/profiles.php:317
+#: ../../mod/profiles.php:306
msgid "Marital Status"
msgstr "Семейное положение"
-#: ../../mod/profiles.php:321
+#: ../../mod/profiles.php:310
msgid "Romantic Partner"
msgstr "РомантичеÑкий партнер"
-#: ../../mod/profiles.php:325
+#: ../../mod/profiles.php:314
msgid "Likes"
msgstr "мне нравитьÑÑ"
-#: ../../mod/profiles.php:329
+#: ../../mod/profiles.php:318
msgid "Dislikes"
msgstr "мне не-нравитьÑÑ"
-#: ../../mod/profiles.php:333
+#: ../../mod/profiles.php:322
msgid "Work/Employment"
msgstr "Работа / ЗанÑтоÑÑ‚ÑŒ"
-#: ../../mod/profiles.php:336
+#: ../../mod/profiles.php:325
msgid "Religion"
msgstr "РелигиÑ"
-#: ../../mod/profiles.php:340
+#: ../../mod/profiles.php:329
msgid "Political Views"
msgstr "ПолитичеÑкие взглÑды"
-#: ../../mod/profiles.php:344
+#: ../../mod/profiles.php:333
msgid "Gender"
msgstr "Пол"
-#: ../../mod/profiles.php:348
+#: ../../mod/profiles.php:337
msgid "Sexual Preference"
msgstr "СекÑÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ"
-#: ../../mod/profiles.php:352
+#: ../../mod/profiles.php:341
msgid "Homepage"
msgstr "ДомашнÑÑ Ñтраница"
-#: ../../mod/profiles.php:356
+#: ../../mod/profiles.php:345
msgid "Interests"
msgstr "ИнтереÑÑ‹"
-#: ../../mod/profiles.php:360
+#: ../../mod/profiles.php:349
msgid "Address"
msgstr "ÐдреÑ"
-#: ../../mod/profiles.php:367
+#: ../../mod/profiles.php:356 ../../mod/pubsites.php:31
msgid "Location"
msgstr "МеÑто"
-#: ../../mod/profiles.php:450
+#: ../../mod/profiles.php:439
msgid "Profile updated."
msgstr "Профиль обновлен."
-#: ../../mod/profiles.php:505
+#: ../../mod/profiles.php:494
msgid "Hide your contact/friend list from viewers of this profile?"
msgstr ""
-#: ../../mod/profiles.php:528
+#: ../../mod/profiles.php:517
msgid "Edit Profile Details"
msgstr "Редактирование профилÑ"
-#: ../../mod/profiles.php:530
+#: ../../mod/profiles.php:519
msgid "View this profile"
msgstr "ПоÑмотреть Ñтот профиль"
-#: ../../mod/profiles.php:531
+#: ../../mod/profiles.php:520
msgid "Change Profile Photo"
msgstr "Изменить фотографию профилÑ"
-#: ../../mod/profiles.php:532
+#: ../../mod/profiles.php:521
msgid "Create a new profile using these settings"
msgstr "Создайте новый профиль Ñо Ñледующими наÑтройками"
-#: ../../mod/profiles.php:533
+#: ../../mod/profiles.php:522
msgid "Clone this profile"
msgstr "Клонировать Ñтот профиль"
-#: ../../mod/profiles.php:534
+#: ../../mod/profiles.php:523
msgid "Delete this profile"
msgstr "Удалить Ñтот профиль"
-#: ../../mod/profiles.php:535
+#: ../../mod/profiles.php:524
msgid "Profile Name:"
msgstr "Ð˜Ð¼Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ:"
-#: ../../mod/profiles.php:536
+#: ../../mod/profiles.php:525
msgid "Your Full Name:"
msgstr "Ваше полное имÑ:"
-#: ../../mod/profiles.php:537
+#: ../../mod/profiles.php:526
msgid "Title/Description:"
msgstr "Ðазвание / ОпиÑание:"
-#: ../../mod/profiles.php:538
+#: ../../mod/profiles.php:527
msgid "Your Gender:"
msgstr "Ваш пол:"
-#: ../../mod/profiles.php:539
+#: ../../mod/profiles.php:528
#, php-format
msgid "Birthday (%s):"
msgstr "Ваш День Ð Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ (%s):"
-#: ../../mod/profiles.php:540
+#: ../../mod/profiles.php:529
msgid "Street Address:"
msgstr "Улица:"
-#: ../../mod/profiles.php:541
+#: ../../mod/profiles.php:530
msgid "Locality/City:"
msgstr "ÐаÑеленный пункт / город:"
-#: ../../mod/profiles.php:542
+#: ../../mod/profiles.php:531
msgid "Postal/Zip Code:"
msgstr "Почтовый индекÑ:"
-#: ../../mod/profiles.php:543
+#: ../../mod/profiles.php:532
msgid "Country:"
msgstr "Страна:"
-#: ../../mod/profiles.php:544
+#: ../../mod/profiles.php:533
msgid "Region/State:"
msgstr "Регион / ОблаÑÑ‚ÑŒ:"
-#: ../../mod/profiles.php:545
+#: ../../mod/profiles.php:534
msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
msgstr ""
-#: ../../mod/profiles.php:546
+#: ../../mod/profiles.php:535
msgid "Who: (if applicable)"
msgstr "Кто: (еÑли Ñто применимо)"
-#: ../../mod/profiles.php:547
+#: ../../mod/profiles.php:536
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr ""
-#: ../../mod/profiles.php:548
+#: ../../mod/profiles.php:537
msgid "Since [date]:"
msgstr "С тех пор [date]:"
-#: ../../mod/profiles.php:550
+#: ../../mod/profiles.php:539
msgid "Homepage URL:"
msgstr "URL-Ð°Ð´Ñ€ÐµÑ Ð´Ð¾Ð¼Ð°ÑˆÐ½ÐµÐ¹ Ñтраницы:"
-#: ../../mod/profiles.php:553
+#: ../../mod/profiles.php:542
msgid "Religious Views:"
msgstr "Религиозные взглÑды:"
-#: ../../mod/profiles.php:554
+#: ../../mod/profiles.php:543
msgid "Keywords:"
msgstr "Ключевые Ñлова:"
-#: ../../mod/profiles.php:557
+#: ../../mod/profiles.php:546
msgid "Example: fishing photography software"
msgstr "Пример: fishing photography software"
-#: ../../mod/profiles.php:558
+#: ../../mod/profiles.php:547
msgid "Used in directory listings"
msgstr ""
-#: ../../mod/profiles.php:559
+#: ../../mod/profiles.php:548
msgid "Tell us about yourself..."
msgstr "РаÑÑкажите нам о Ñебе ..."
-#: ../../mod/profiles.php:560
+#: ../../mod/profiles.php:549
msgid "Hobbies/Interests"
msgstr "Хобби / интереÑÑ‹"
-#: ../../mod/profiles.php:561
+#: ../../mod/profiles.php:550
msgid "Contact information and Social Networks"
msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ Ñоциальные Ñети контакта"
-#: ../../mod/profiles.php:562
+#: ../../mod/profiles.php:551
msgid "My other channels"
msgstr "Мои другие контакты"
-#: ../../mod/profiles.php:563
+#: ../../mod/profiles.php:552
msgid "Musical interests"
msgstr "Музыкальные интереÑÑ‹"
-#: ../../mod/profiles.php:564
+#: ../../mod/profiles.php:553
msgid "Books, literature"
msgstr "Книги, литература"
-#: ../../mod/profiles.php:565
+#: ../../mod/profiles.php:554
msgid "Television"
msgstr "Телевидение"
-#: ../../mod/profiles.php:566
+#: ../../mod/profiles.php:555
msgid "Film/dance/culture/entertainment"
msgstr "Кино / танцы / культура / развлечениÑ"
-#: ../../mod/profiles.php:567
+#: ../../mod/profiles.php:556
msgid "Love/romance"
msgstr "Любовь / РоманÑ"
-#: ../../mod/profiles.php:568
+#: ../../mod/profiles.php:557
msgid "Work/employment"
msgstr "Работа / ЗанÑтоÑÑ‚ÑŒ"
-#: ../../mod/profiles.php:569
+#: ../../mod/profiles.php:558
msgid "School/education"
msgstr "Школа / образование"
-#: ../../mod/profiles.php:574
+#: ../../mod/profiles.php:563
msgid ""
"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
"be visible to anybody using the internet."
msgstr ""
-#: ../../mod/profiles.php:623
+#: ../../mod/profiles.php:612
msgid "Edit/Manage Profiles"
msgstr "Редактирование / Управление профилей"
-#: ../../mod/profiles.php:624 ../../boot.php:1710
-msgid "Change profile photo"
-msgstr "Изменить фотографию профилÑ"
-
-#: ../../mod/profiles.php:625 ../../boot.php:1717
-msgid "Create New Profile"
-msgstr "Создать новый профиль"
-
-#: ../../mod/profiles.php:636 ../../boot.php:1731
-msgid "Profile Image"
-msgstr "Изображение профилÑ"
-
-#: ../../mod/profiles.php:639 ../../boot.php:1734
-msgid "visible to everybody"
-msgstr "видно вÑем"
+#: ../../mod/profiles.php:613
+msgid "Add profile things"
+msgstr ""
-#: ../../mod/profiles.php:640 ../../boot.php:1735
-msgid "Edit visibility"
-msgstr "Редактировать видимоÑÑ‚ÑŒ"
+#: ../../mod/profiles.php:614
+msgid "Include desirable objects in your profile"
+msgstr ""
#: ../../mod/new_channel.php:107
msgid "Add a Channel"
@@ -5190,10 +5630,6 @@ msgid ""
"service provider allows."
msgstr ""
-#: ../../mod/new_channel.php:110
-msgid "Channel Name"
-msgstr "Ð˜Ð¼Ñ ÐºÐ°Ð½Ð°Ð»Ð°"
-
#: ../../mod/new_channel.php:111
msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
msgstr ""
@@ -5212,494 +5648,49 @@ msgstr ""
msgid "Or <a href=\"import\">import an existing channel</a> from another location"
msgstr ""
-#: ../../mod/admin.php:48
-msgid "Theme settings updated."
-msgstr "ÐаÑтройки темы обновленны."
-
-#: ../../mod/admin.php:83 ../../mod/admin.php:408
-msgid "Site"
-msgstr "Сайт"
-
-#: ../../mod/admin.php:84 ../../mod/admin.php:632 ../../mod/admin.php:644
-msgid "Users"
-msgstr "Пользователи"
-
-#: ../../mod/admin.php:85 ../../mod/admin.php:726 ../../mod/admin.php:768
-msgid "Plugins"
-msgstr "Плагины"
-
-#: ../../mod/admin.php:86 ../../mod/admin.php:931 ../../mod/admin.php:967
-msgid "Themes"
-msgstr "Темы"
-
-#: ../../mod/admin.php:87
-msgid "DB updates"
-msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ñ‹ данных"
-
-#: ../../mod/admin.php:101 ../../mod/admin.php:108 ../../mod/admin.php:1054
-msgid "Logs"
-msgstr "Журналы"
-
-#: ../../mod/admin.php:107
-msgid "Plugin Features"
-msgstr "Функции плагинов"
-
-#: ../../mod/admin.php:109
-msgid "User registrations waiting for confirmation"
-msgstr "РегиÑтрации пользователей, которые ждут подтверждениÑ"
-
-#: ../../mod/admin.php:180
-msgid "Message queues"
-msgstr "Очередь недоÑтавленных Ñообщений"
-
-#: ../../mod/admin.php:185 ../../mod/admin.php:407 ../../mod/admin.php:631
-#: ../../mod/admin.php:725 ../../mod/admin.php:767 ../../mod/admin.php:930
-#: ../../mod/admin.php:966 ../../mod/admin.php:1053
-msgid "Administration"
-msgstr "ÐдминиÑтрациÑ"
-
-#: ../../mod/admin.php:186
-msgid "Summary"
-msgstr "Резюме"
-
-#: ../../mod/admin.php:188
-msgid "Registered users"
-msgstr "Ð’Ñего пользователeй"
-
-#: ../../mod/admin.php:190
-msgid "Pending registrations"
-msgstr "Ждут утверждениÑ"
-
-#: ../../mod/admin.php:191
-msgid "Version"
-msgstr "ВерÑÐ¸Ñ ÑиÑтемы"
-
-#: ../../mod/admin.php:193
-msgid "Active plugins"
-msgstr "Ðктивные плагины"
-
-#: ../../mod/admin.php:332
-msgid "Site settings updated."
-msgstr "ÐаÑтройки Ñайта обновлены."
-
-#: ../../mod/admin.php:363
-msgid "No special theme for accessibility"
-msgstr ""
-
-#: ../../mod/admin.php:388
-msgid "Closed"
-msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð°"
-
-#: ../../mod/admin.php:389
-msgid "Requires approval"
-msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ подтверждениÑ"
-
-#: ../../mod/admin.php:390
-msgid "Open"
-msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð°"
-
-#: ../../mod/admin.php:395
-msgid "Private"
-msgstr "Личный доÑтуп"
-
-#: ../../mod/admin.php:396
-msgid "Paid Access"
-msgstr "Платный доÑтуп"
-
-#: ../../mod/admin.php:397
-msgid "Free Access"
-msgstr "Свободный доÑтуп"
-
-#: ../../mod/admin.php:410 ../../mod/register.php:172
-msgid "Registration"
-msgstr "РегиÑтрациÑ"
-
-#: ../../mod/admin.php:411
-msgid "File upload"
-msgstr "Загрузка файла"
-
-#: ../../mod/admin.php:412
-msgid "Policies"
-msgstr "Правила"
-
-#: ../../mod/admin.php:413
-msgid "Advanced"
-msgstr "Дополнительно"
-
-#: ../../mod/admin.php:417
-msgid "Site name"
-msgstr "Ðазвание Ñайта"
-
-#: ../../mod/admin.php:418
-msgid "Banner/Logo"
-msgstr "Баннер / логотип"
-
-#: ../../mod/admin.php:419
-msgid "System language"
-msgstr "Язык ÑиÑтемы"
-
-#: ../../mod/admin.php:420
-msgid "System theme"
-msgstr "Тема ÑиÑтемы"
-
-#: ../../mod/admin.php:420
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr ""
-
-#: ../../mod/admin.php:421
-msgid "Mobile system theme"
-msgstr "ÐœÐ¾Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ñ‚ÐµÐ¼Ð° ÑиÑтемы"
-
-#: ../../mod/admin.php:421
-msgid "Theme for mobile devices"
-msgstr "Тема Ð´Ð»Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ñ… уÑтройÑтв"
-
-#: ../../mod/admin.php:422
-msgid "Accessibility system theme"
-msgstr ""
-
-#: ../../mod/admin.php:422
-msgid "Accessibility theme"
-msgstr ""
-
-#: ../../mod/admin.php:423
-msgid "Channel to use for this website's static pages"
-msgstr ""
-
-#: ../../mod/admin.php:423
-msgid "Site Channel"
-msgstr "Канал Ñайта"
-
-#: ../../mod/admin.php:425
-msgid "Maximum image size"
-msgstr "МакÑимальный размер"
-
-#: ../../mod/admin.php:425
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr ""
-
-#: ../../mod/admin.php:426
-msgid "Register policy"
-msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ñ€ÐµÐ³Ð¸Ñтрации"
-
-#: ../../mod/admin.php:427
-msgid "Access policy"
-msgstr "Правила доÑтупа"
-
-#: ../../mod/admin.php:428
-msgid "Register text"
-msgstr "ТекÑÑ‚ региÑтрации"
-
-#: ../../mod/admin.php:428
-msgid "Will be displayed prominently on the registration page."
-msgstr ""
-
-#: ../../mod/admin.php:429
-msgid "Accounts abandoned after x days"
-msgstr ""
-
-#: ../../mod/admin.php:429
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr ""
-
-#: ../../mod/admin.php:430
-msgid "Allowed friend domains"
-msgstr ""
-
-#: ../../mod/admin.php:430
-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:431
-msgid "Allowed email domains"
-msgstr ""
-
-#: ../../mod/admin.php:431
-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:432
-msgid "Block public"
-msgstr "Блокировать публичный доÑтуп"
-
-#: ../../mod/admin.php:432
-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:433
-msgid "Force publish"
-msgstr "ЗаÑтавить публиковать"
-
-#: ../../mod/admin.php:433
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr ""
-
-#: ../../mod/admin.php:435
-msgid "Proxy user"
-msgstr "Proxy пользователь"
-
-#: ../../mod/admin.php:436
-msgid "Proxy URL"
-msgstr "Proxy URL"
-
-#: ../../mod/admin.php:437
-msgid "Network timeout"
-msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ñети"
-
-#: ../../mod/admin.php:437
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr ""
-
-#: ../../mod/admin.php:438
-msgid "Delivery interval"
-msgstr "Интервал доÑтавки"
-
-#: ../../mod/admin.php:438
-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:439
-msgid "Poll interval"
-msgstr "Интервал опроÑа"
-
-#: ../../mod/admin.php:439
-msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr ""
-
-#: ../../mod/admin.php:440
-msgid "Maximum Load Average"
-msgstr ""
-
-#: ../../mod/admin.php:440
-msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr ""
+#: ../../mod/filestorage.php:68
+msgid "Permission Denied."
+msgstr "ДоÑтуп запрещен."
-#: ../../mod/admin.php:456
-msgid "Update has been marked successful"
-msgstr ""
+#: ../../mod/filestorage.php:86
+msgid "File not found."
+msgstr "Файл не найден."
-#: ../../mod/admin.php:466
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr ""
+#: ../../mod/filestorage.php:120
+msgid "Edit file permissions"
+msgstr "Редактировать Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°"
-#: ../../mod/admin.php:469
-#, php-format
-msgid "Update %s was successfully applied."
+#: ../../mod/filestorage.php:127
+msgid "Include all files and sub folders"
msgstr ""
-#: ../../mod/admin.php:473
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
+#: ../../mod/filestorage.php:128
+msgid "Return to file list"
msgstr ""
-#: ../../mod/admin.php:476
-#, php-format
-msgid "Update function %s could not be found."
+#: ../../mod/filestorage.php:130
+msgid "Copy/paste this code to attach file to a post"
msgstr ""
-#: ../../mod/admin.php:491
-msgid "No failed updates."
-msgstr "Ошибок обновлений нет."
-
-#: ../../mod/admin.php:495
-msgid "Failed Updates"
-msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð¼Ð¸"
-
-#: ../../mod/admin.php:497
-msgid "Mark success (if update was manually applied)"
+#: ../../mod/filestorage.php:131
+msgid "Copy/paste this URL to link file from a web page"
msgstr ""
-#: ../../mod/admin.php:498
-msgid "Attempt to execute this update step automatically"
+#: ../../mod/filestorage.php:168
+msgid "Download"
msgstr ""
-#: ../../mod/admin.php:524
-#, php-format
-msgid "%s user blocked/unblocked"
-msgid_plural "%s users blocked/unblocked"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-
-#: ../../mod/admin.php:531
-#, php-format
-msgid "%s user deleted"
-msgid_plural "%s users deleted"
-msgstr[0] "%s канал удален"
-msgstr[1] "%s канала удалены"
-msgstr[2] "%s каналов удалено"
-
-#: ../../mod/admin.php:562
-msgid "Account not found"
-msgstr "Ðккаунт не найден"
-
-#: ../../mod/admin.php:573
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Пользователь '%s' удален"
-
-#: ../../mod/admin.php:582
-#, php-format
-msgid "User '%s' unblocked"
-msgstr "Пользователь '%s' разрешен"
-
-#: ../../mod/admin.php:582
-#, php-format
-msgid "User '%s' blocked"
-msgstr "Пользователь '%s' заблокирован"
-
-#: ../../mod/admin.php:613
-msgid "Normal Account"
-msgstr "Ðормальный аккаунт"
-
-#: ../../mod/admin.php:614
-msgid "Soapbox Account"
-msgstr "Soapbox аккаунт"
-
-#: ../../mod/admin.php:615
-msgid "Community/Celebrity Account"
-msgstr "Community/Celebrity аккаунт"
-
-#: ../../mod/admin.php:616
-msgid "Automatic Friend Account"
-msgstr "Ðккаунт \"автоматичеÑки друзьÑ\""
-
-#: ../../mod/admin.php:634
-msgid "select all"
-msgstr "выбрать вÑе"
-
-#: ../../mod/admin.php:635
-msgid "User registrations waiting for confirm"
-msgstr "РегиÑтрации пользователей ждут подтверждениÑ"
-
-#: ../../mod/admin.php:636
-msgid "Request date"
-msgstr "Дата запроÑа"
-
-#: ../../mod/admin.php:637
-msgid "No registrations."
-msgstr "Ðовых региÑтраций пока нет."
-
-#: ../../mod/admin.php:639
-msgid "Deny"
-msgstr "Запретить"
-
-#: ../../mod/admin.php:645
-msgid "Register date"
-msgstr "Дата региÑтрации"
-
-#: ../../mod/admin.php:645
-msgid "Last login"
-msgstr "ПоÑледний вход"
-
-#: ../../mod/admin.php:645
-msgid "Service Class"
-msgstr "КлаÑÑ Ñлужбы"
-
-#: ../../mod/admin.php:647
-msgid ""
-"Selected users will be deleted!\\n\\nEverything these users had posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
+#: ../../mod/filestorage.php:174
+msgid "Used: "
msgstr ""
-#: ../../mod/admin.php:648
-msgid ""
-"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
-"site will be permanently deleted!\\n\\nAre you sure?"
+#: ../../mod/filestorage.php:175
+msgid "[directory]"
msgstr ""
-#: ../../mod/admin.php:689
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Плагин %s отключен."
-
-#: ../../mod/admin.php:693
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Плагин %s включен."
-
-#: ../../mod/admin.php:703 ../../mod/admin.php:901
-msgid "Disable"
-msgstr "Запретить"
-
-#: ../../mod/admin.php:705 ../../mod/admin.php:903
-msgid "Enable"
-msgstr "Разрешить"
-
-#: ../../mod/admin.php:727 ../../mod/admin.php:932
-msgid "Toggle"
-msgstr "Переключить"
-
-#: ../../mod/admin.php:735 ../../mod/admin.php:942
-msgid "Author: "
-msgstr "Ðвтор: "
-
-#: ../../mod/admin.php:736 ../../mod/admin.php:943
-msgid "Maintainer: "
-msgstr "ОбÑлуживающий: "
-
-#: ../../mod/admin.php:865
-msgid "No themes found."
-msgstr "Темы не найдены."
-
-#: ../../mod/admin.php:924
-msgid "Screenshot"
-msgstr "Скриншот"
-
-#: ../../mod/admin.php:972
-msgid "[Experimental]"
-msgstr "[ÑкÑпериментальный]"
-
-#: ../../mod/admin.php:973
-msgid "[Unsupported]"
-msgstr "[неподдерживаемый]"
-
-#: ../../mod/admin.php:1000
-msgid "Log settings updated."
-msgstr "ÐаÑтройки журнала обновленны."
-
-#: ../../mod/admin.php:1056
-msgid "Clear"
-msgstr "ОчиÑтить"
-
-#: ../../mod/admin.php:1062
-msgid "Debugging"
-msgstr "Включить/Выключить"
-
-#: ../../mod/admin.php:1063
-msgid "Log file"
-msgstr "Файл журнала"
-
-#: ../../mod/admin.php:1063
-msgid ""
-"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Должна быть доÑтупна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи веб-Ñервером. ОтноÑительно верхнего ÑƒÑ€Ð¾Ð²Ð½Ñ Ð²ÐµÐ±-Ñайта."
-
-#: ../../mod/admin.php:1064
-msgid "Log level"
-msgstr "Уровень журнала"
+#: ../../mod/filestorage.php:177
+msgid "Limit: "
+msgstr "Предел: "
#: ../../mod/lostpass.php:15
msgid "No valid account found."
@@ -5725,7 +5716,7 @@ msgid ""
"Password reset failed."
msgstr ""
-#: ../../mod/lostpass.php:85 ../../boot.php:1439
+#: ../../mod/lostpass.php:85 ../../boot.php:1426
msgid "Password Reset"
msgstr "СброÑить пароль"
@@ -5799,19 +5790,19 @@ msgstr ""
msgid "Cloned channel not found. Import failed."
msgstr ""
-#: ../../mod/import.php:356
+#: ../../mod/import.php:358
msgid "Import completed."
msgstr "Импорт завершен."
-#: ../../mod/import.php:369
+#: ../../mod/import.php:371
msgid "You must be logged in to use this feature."
msgstr "Ð’Ñ‹ должны войти в ÑиÑтему, чтобы иÑпользовать Ñту функцию."
-#: ../../mod/import.php:374
+#: ../../mod/import.php:376
msgid "Import Channel"
msgstr "Импорт канала"
-#: ../../mod/import.php:375
+#: ../../mod/import.php:377
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 "
@@ -5819,27 +5810,27 @@ msgid ""
"be imported. Importation of content is not yet available."
msgstr ""
-#: ../../mod/import.php:376
+#: ../../mod/import.php:378
msgid "File to Upload"
msgstr "Файл Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸"
-#: ../../mod/import.php:377
+#: ../../mod/import.php:379
msgid "Or provide the old server/hub details"
msgstr ""
-#: ../../mod/import.php:378
+#: ../../mod/import.php:380
msgid "Your old identity address (xyz@example.com)"
msgstr ""
-#: ../../mod/import.php:379
+#: ../../mod/import.php:381
msgid "Your old login email address"
msgstr "Ваш Ñтарый Ð°Ð´Ñ€ÐµÑ Ñлектронной почты"
-#: ../../mod/import.php:380
+#: ../../mod/import.php:382
msgid "Your old login password"
msgstr "Ваш Ñтарый пароль"
-#: ../../mod/import.php:381
+#: ../../mod/import.php:383
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"
@@ -5847,36 +5838,36 @@ msgid ""
"primary location for files, photos, and media."
msgstr ""
-#: ../../mod/import.php:382
+#: ../../mod/import.php:384
msgid "Make this hub my primary location"
msgstr ""
-#: ../../mod/manage.php:62
+#: ../../mod/manage.php:63
#, php-format
msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr ""
-#: ../../mod/manage.php:70
+#: ../../mod/manage.php:71
msgid "Create a new channel"
msgstr "Создать новый канал"
-#: ../../mod/manage.php:75
+#: ../../mod/manage.php:76
msgid "Channel Manager"
msgstr "ÐаÑтройки канала"
-#: ../../mod/manage.php:76
+#: ../../mod/manage.php:77
msgid "Current Channel"
msgstr "Текущий канал"
-#: ../../mod/manage.php:78
+#: ../../mod/manage.php:79
msgid "Attach to one of your channels by selecting it."
msgstr ""
-#: ../../mod/manage.php:79
+#: ../../mod/manage.php:80
msgid "Default Channel"
msgstr "Канал по умолчанию"
-#: ../../mod/manage.php:80
+#: ../../mod/manage.php:81
msgid "Make Default"
msgstr "Сделать Ñтандартным"
@@ -5888,354 +5879,620 @@ msgstr ""
msgid "Average Rating"
msgstr ""
-#: ../../mod/match.php:12
+#: ../../mod/match.php:16
msgid "Profile Match"
msgstr ""
-#: ../../mod/match.php:20
+#: ../../mod/match.php:24
msgid "No keywords to match. Please add keywords to your default profile."
msgstr ""
-#: ../../mod/match.php:57
+#: ../../mod/match.php:61
msgid "is interested in:"
msgstr "заинтереÑован в:"
-#: ../../mod/crepair.php:102
-msgid "Contact settings applied."
+#: ../../mod/match.php:69
+msgid "No matches"
+msgstr "Ðет ÑоответÑтвий"
+
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
msgstr ""
-#: ../../mod/crepair.php:104
-msgid "Contact update failed."
-msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð°."
+#: ../../mod/settings.php:71
+msgid "Name is required"
+msgstr "Ðеобходимо имÑ"
-#: ../../mod/crepair.php:129 ../../mod/fsuggest.php:20
-#: ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Контакт не найден."
+#: ../../mod/settings.php:75
+msgid "Key and Secret are required"
+msgstr ""
-#: ../../mod/crepair.php:135
-msgid "Repair Contact Settings"
-msgstr "Починить наÑтройки контакта"
+#: ../../mod/settings.php:79 ../../mod/settings.php:533
+msgid "Update"
+msgstr "Обновление"
-#: ../../mod/crepair.php:137
-msgid ""
-"<strong>WARNING: This is highly advanced</strong> and if you enter incorrect"
-" information your communications with this contact may stop working."
+#: ../../mod/settings.php:192
+msgid "Passwords do not match. Password unchanged."
+msgstr "Пароли не Ñовпадают. Пароль не изменён."
+
+#: ../../mod/settings.php:196
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "ПуÑтые пароли не допуÑкаютÑÑ. Пароль не изменён."
+
+#: ../../mod/settings.php:209
+msgid "Password changed."
+msgstr "Пароль изменен."
+
+#: ../../mod/settings.php:211
+msgid "Password update failed. Please try again."
+msgstr "Изменение Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð·Ð°ÐºÐ¾Ð½Ñ‡Ð¸Ð»Ð¾ÑÑŒ неуÑпешно. ПожалуйÑта, попробуйте еще раз."
+
+#: ../../mod/settings.php:225
+msgid "Not valid email."
+msgstr "Ðе дейÑтвительный Ð°Ð´Ñ€ÐµÑ Ñлектронной почты."
+
+#: ../../mod/settings.php:228
+msgid "Protected email address. Cannot change to that email."
+msgstr ""
+
+#: ../../mod/settings.php:237
+msgid "System failure storing new email. Please try again."
msgstr ""
-#: ../../mod/crepair.php:138
+#: ../../mod/settings.php:435
+msgid "Settings updated."
+msgstr "ÐаÑтройки обновленны."
+
+#: ../../mod/settings.php:506 ../../mod/settings.php:532
+#: ../../mod/settings.php:568
+msgid "Add application"
+msgstr "Добавить приложениÑ"
+
+#: ../../mod/settings.php:509
+msgid "Name of application"
+msgstr ""
+
+#: ../../mod/settings.php:510 ../../mod/settings.php:536
+msgid "Consumer Key"
+msgstr "Ключ клиента"
+
+#: ../../mod/settings.php:510 ../../mod/settings.php:511
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr ""
+
+#: ../../mod/settings.php:511 ../../mod/settings.php:537
+msgid "Consumer Secret"
+msgstr "Секрет клиента"
+
+#: ../../mod/settings.php:512 ../../mod/settings.php:538
+msgid "Redirect"
+msgstr "Перенаправление"
+
+#: ../../mod/settings.php:512
msgid ""
-"Please use your browser 'Back' button <strong>now</strong> if you are "
-"uncertain what to do on this page."
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr ""
+
+#: ../../mod/settings.php:513 ../../mod/settings.php:539
+msgid "Icon url"
+msgstr "URL-Ð°Ð´Ñ€ÐµÑ Ð·Ð½Ð°Ñ‡ÐºÐ°"
+
+#: ../../mod/settings.php:513
+msgid "Optional"
+msgstr "ÐеобÑзательно"
+
+#: ../../mod/settings.php:524
+msgid "You can't edit this application."
+msgstr "Ð’Ñ‹ не можете редактировать Ñто приложение."
+
+#: ../../mod/settings.php:567
+msgid "Connected Apps"
+msgstr "Подключенные приложениÑ"
+
+#: ../../mod/settings.php:571
+msgid "Client key starts with"
msgstr ""
-#: ../../mod/crepair.php:144
-msgid "Return to contact editor"
-msgstr "ВернутьÑÑ Ðº редактору контакта"
+#: ../../mod/settings.php:572
+msgid "No name"
+msgstr "Без названиÑ"
+
+#: ../../mod/settings.php:573
+msgid "Remove authorization"
+msgstr "Удалить разрешение"
+
+#: ../../mod/settings.php:584
+msgid "No feature settings configured"
+msgstr "Параметры функций не наÑтроены"
+
+#: ../../mod/settings.php:592
+msgid "Feature Settings"
+msgstr "ÐаÑтройки функции"
+
+#: ../../mod/settings.php:615
+msgid "Account Settings"
+msgstr "ÐаÑтройки аккаунта"
+
+#: ../../mod/settings.php:616
+msgid "Password Settings"
+msgstr "ÐаÑтройки паролÑ"
+
+#: ../../mod/settings.php:617
+msgid "New Password:"
+msgstr "Ðовый пароль:"
+
+#: ../../mod/settings.php:618
+msgid "Confirm:"
+msgstr "Подтверждение:"
-#: ../../mod/crepair.php:149
-msgid "Account Nickname"
-msgstr "ПÑевдоним аккаунта"
+#: ../../mod/settings.php:618
+msgid "Leave password fields blank unless changing"
+msgstr "ОÑтавьте Ð¿Ð¾Ð»Ñ Ð¿ÑƒÑтыми, еÑли не менÑетÑÑ"
+
+#: ../../mod/settings.php:620 ../../mod/settings.php:912
+msgid "Email Address:"
+msgstr "ÐÐ´Ñ€ÐµÑ Ñлектронной почты:"
-#: ../../mod/crepair.php:150
-msgid "@Tagname - overrides Name/Nickname"
+#: ../../mod/settings.php:621
+msgid "Remove Account"
+msgstr "Удалить аккаунт"
+
+#: ../../mod/settings.php:622
+msgid "Warning: This action is permanent and cannot be reversed."
msgstr ""
-#: ../../mod/crepair.php:151
-msgid "Account URL"
-msgstr "URL аккаунта"
+#: ../../mod/settings.php:638
+msgid "Off"
+msgstr "Выкл."
+
+#: ../../mod/settings.php:638
+msgid "On"
+msgstr "Вкл."
+
+#: ../../mod/settings.php:645
+msgid "Additional Features"
+msgstr "Дополнительные функции"
-#: ../../mod/crepair.php:152
-msgid "Friend Request URL"
+#: ../../mod/settings.php:670
+msgid "Connector Settings"
+msgstr "ÐаÑтройки ÑоединителÑ"
+
+#: ../../mod/settings.php:740
+msgid "Display Settings"
+msgstr "ÐаÑтройки отображениÑ"
+
+#: ../../mod/settings.php:746
+msgid "Display Theme:"
+msgstr "Тема отображениÑ:"
+
+#: ../../mod/settings.php:747
+msgid "Mobile Theme:"
+msgstr "ÐœÐ¾Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ñ‚ÐµÐ¼Ð° отображениÑ:"
+
+#: ../../mod/settings.php:748
+msgid "Update browser every xx seconds"
+msgstr "Обновление браузера каждые ХХ Ñекунд"
+
+#: ../../mod/settings.php:748
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Минимум 10 Ñекунд, без макÑимума"
+
+#: ../../mod/settings.php:749
+msgid "Maximum number of conversations to load at any time:"
msgstr ""
-#: ../../mod/crepair.php:153
-msgid "Friend Confirm URL"
+#: ../../mod/settings.php:749
+msgid "Maximum of 100 items"
+msgstr "МакÑимум 100 Ñлементов"
+
+#: ../../mod/settings.php:750
+msgid "Don't show emoticons"
+msgstr "Ðе показывать emoticons"
+
+#: ../../mod/settings.php:786
+msgid "Nobody except yourself"
+msgstr "Ðикто, кроме ваÑ"
+
+#: ../../mod/settings.php:787
+msgid "Only those you specifically allow"
+msgstr "Только комы вы разрешили"
+
+#: ../../mod/settings.php:788
+msgid "Anybody in your address book"
+msgstr "Любой в вашей адреÑной книге"
+
+#: ../../mod/settings.php:789
+msgid "Anybody on this website"
+msgstr "Любой на Ñтом веб-Ñайте"
+
+#: ../../mod/settings.php:790
+msgid "Anybody in this network"
+msgstr "Любой в Ñтой Ñети"
+
+#: ../../mod/settings.php:791
+msgid "Anybody on the internet"
+msgstr "Любой в интернете"
+
+#: ../../mod/settings.php:865
+msgid "Publish your default profile in the network directory"
+msgstr "ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ð¾ умолчанию в каталоге Ñети"
+
+#: ../../mod/settings.php:870
+msgid "Allow us to suggest you as a potential friend to new members?"
msgstr ""
-#: ../../mod/crepair.php:154
-msgid "Notification Endpoint URL"
+#: ../../mod/settings.php:874 ../../mod/profile_photo.php:288
+msgid "or"
+msgstr "или"
+
+#: ../../mod/settings.php:879
+msgid "Your channel address is"
+msgstr "ÐÐ´Ñ€ÐµÑ Ð²Ð°ÑˆÐµÐ³Ð¾ канала:"
+
+#: ../../mod/settings.php:901
+msgid "Channel Settings"
+msgstr "ÐаÑтройки канала"
+
+#: ../../mod/settings.php:910
+msgid "Basic Settings"
+msgstr "ОÑновные наÑтройки"
+
+#: ../../mod/settings.php:913
+msgid "Your Timezone:"
+msgstr "Ваш чаÑовой поÑÑ:"
+
+#: ../../mod/settings.php:914
+msgid "Default Post Location:"
+msgstr "Откуда по умолчанию:"
+
+#: ../../mod/settings.php:915
+msgid "Use Browser Location:"
+msgstr "ИÑпользуйте указание браузерa:"
+
+#: ../../mod/settings.php:917
+msgid "Adult Content"
msgstr ""
-#: ../../mod/crepair.php:155
-msgid "Poll/Feed URL"
+#: ../../mod/settings.php:917
+msgid "This channel publishes adult content."
msgstr ""
-#: ../../mod/crepair.php:156
-msgid "New photo from this URL"
-msgstr "Ðовое фото из Ñтого URL"
+#: ../../mod/settings.php:919
+msgid "Security and Privacy Settings"
+msgstr "Параметры безопаÑноÑти и конфиденциальноÑти"
-#: ../../mod/zfinger.php:23
-msgid "invalid target signature"
+#: ../../mod/settings.php:921
+msgid "Quick Privacy Settings:"
+msgstr "БыÑтрые параметры безопаÑноÑти и конфиденциальноÑти:"
+
+#: ../../mod/settings.php:922
+msgid "Very Public - extremely permissive"
+msgstr "Очень публично - чрезвычайно разрешающе"
+
+#: ../../mod/settings.php:923
+msgid "Typical - default public, privacy when desired"
+msgstr "Типично - по умолчанию публично, конфиденциальноÑÑ‚ÑŒ, только еÑли наÑтроена"
+
+#: ../../mod/settings.php:924
+msgid "Private - default private, rarely open or public"
+msgstr "ЧаÑтно - по умолчанию чаÑтно, редко открыто или публично"
+
+#: ../../mod/settings.php:925
+msgid "Blocked - default blocked to/from everybody"
+msgstr "Заблокированно - по умолчанию заблокировано длÑ/от вÑех"
+
+#: ../../mod/settings.php:928
+msgid "Maximum Friend Requests/Day:"
msgstr ""
-#: ../../mod/follow.php:25
-msgid "Channel added."
-msgstr "Контакт добавлен."
+#: ../../mod/settings.php:928
+msgid "May reduce spam activity"
+msgstr ""
+
+#: ../../mod/settings.php:929
+msgid "Default Post Permissions"
+msgstr ""
+
+#: ../../mod/settings.php:941
+msgid "Maximum private messages per day from unknown people:"
+msgstr ""
+
+#: ../../mod/settings.php:941
+msgid "Useful to reduce spamming"
+msgstr ""
+
+#: ../../mod/settings.php:944
+msgid "Notification Settings"
+msgstr "ÐаÑтройки уведомлений"
+
+#: ../../mod/settings.php:945
+msgid "By default post a status message when:"
+msgstr ""
+
+#: ../../mod/settings.php:946
+msgid "accepting a friend request"
+msgstr ""
+
+#: ../../mod/settings.php:947
+msgid "joining a forum/community"
+msgstr ""
+
+#: ../../mod/settings.php:948
+msgid "making an <em>interesting</em> profile change"
+msgstr ""
+
+#: ../../mod/settings.php:949
+msgid "Send a notification email when:"
+msgstr "Отправить уведомление по Ñлектронной почте, еÑли:"
+
+#: ../../mod/settings.php:950
+msgid "You receive an introduction"
+msgstr "Вы получили введение"
+
+#: ../../mod/settings.php:951
+msgid "Your introductions are confirmed"
+msgstr ""
+
+#: ../../mod/settings.php:952
+msgid "Someone writes on your profile wall"
+msgstr ""
+
+#: ../../mod/settings.php:953
+msgid "Someone writes a followup comment"
+msgstr ""
+
+#: ../../mod/settings.php:954
+msgid "You receive a private message"
+msgstr ""
+
+#: ../../mod/settings.php:955
+msgid "You receive a friend suggestion"
+msgstr ""
+
+#: ../../mod/settings.php:956
+msgid "You are tagged in a post"
+msgstr ""
+
+#: ../../mod/settings.php:957
+msgid "You are poked/prodded/etc. in a post"
+msgstr ""
+
+#: ../../mod/settings.php:960
+msgid "Advanced Account/Page Type Settings"
+msgstr ""
+
+#: ../../mod/settings.php:961
+msgid "Change the behaviour of this account for special situations"
+msgstr ""
+
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
+msgstr ""
+
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
+msgstr ""
+
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
+msgstr ""
+
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr ""
-#: ../../mod/editlayout.php:37 ../../mod/editwebpage.php:31
-#: ../../mod/editpost.php:20 ../../mod/editblock.php:37
+#: ../../mod/mail.php:121 ../../mod/message.php:31
+msgid "Messages"
+msgstr "ПерепиÑка"
+
+#: ../../mod/mail.php:132
+msgid "Message deleted."
+msgstr "Сообщение удалено."
+
+#: ../../mod/mail.php:149
+msgid "Message recalled."
+msgstr ""
+
+#: ../../mod/mail.php:206
+msgid "Send Private Message"
+msgstr "Отправить личное Ñообщение"
+
+#: ../../mod/mail.php:207 ../../mod/mail.php:323
+msgid "To:"
+msgstr "Кому:"
+
+#: ../../mod/mail.php:212 ../../mod/mail.php:325
+msgid "Subject:"
+msgstr "Тема:"
+
+#: ../../mod/mail.php:249
+msgid "Message not found."
+msgstr "Сообщение не найдено."
+
+#: ../../mod/mail.php:292 ../../mod/message.php:72
+msgid "Delete message"
+msgstr "Удалить Ñообщение"
+
+#: ../../mod/mail.php:293
+msgid "Recall message"
+msgstr ""
+
+#: ../../mod/mail.php:295
+msgid "Message has been recalled."
+msgstr ""
+
+#: ../../mod/mail.php:312
+msgid "Private Conversation"
+msgstr "Личный разговор"
+
+#: ../../mod/mail.php:316
+msgid "Delete conversation"
+msgstr "Удалить разговор"
+
+#: ../../mod/mail.php:318
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr ""
+
+#: ../../mod/mail.php:322
+msgid "Send Reply"
+msgstr "Отправить Ñнова"
+
+#: ../../mod/editlayout.php:36 ../../mod/editpost.php:20
+#: ../../mod/editwebpage.php:32 ../../mod/editblock.php:36
msgid "Item not found"
msgstr "Элемент не найден"
-#: ../../mod/editlayout.php:69
+#: ../../mod/editlayout.php:68
msgid "Edit Layout"
msgstr ""
-#: ../../mod/editlayout.php:105 ../../mod/editwebpage.php:124
-#: ../../mod/editpost.php:98 ../../mod/editblock.php:119
+#: ../../mod/editlayout.php:105 ../../mod/editpost.php:102
+#: ../../mod/editwebpage.php:148 ../../mod/editblock.php:119
msgid "Insert YouTube video"
msgstr "Ð’Ñтавить YouTube видео"
-#: ../../mod/editlayout.php:106 ../../mod/editwebpage.php:125
-#: ../../mod/editpost.php:99 ../../mod/editblock.php:120
+#: ../../mod/editlayout.php:106 ../../mod/editpost.php:103
+#: ../../mod/editwebpage.php:149 ../../mod/editblock.php:120
msgid "Insert Vorbis [.ogg] video"
msgstr "Ð’Ñтавить Vorbis [.ogg] видео"
-#: ../../mod/editlayout.php:107 ../../mod/editwebpage.php:126
-#: ../../mod/editpost.php:100 ../../mod/editblock.php:121
+#: ../../mod/editlayout.php:107 ../../mod/editpost.php:104
+#: ../../mod/editwebpage.php:150 ../../mod/editblock.php:121
msgid "Insert Vorbis [.ogg] audio"
msgstr "Ð’Ñтавить Vorbis [.ogg] музыку"
-#: ../../mod/editlayout.php:138
+#: ../../mod/editlayout.php:141
msgid "Delete Layout"
msgstr ""
-#: ../../mod/nogroup.php:58
-msgid "Contacts who are not members of a group"
-msgstr ""
-
-#: ../../mod/profile_photo.php:54
+#: ../../mod/profile_photo.php:44
msgid "Image uploaded but image cropping failed."
msgstr ""
-#: ../../mod/profile_photo.php:107
+#: ../../mod/profile_photo.php:97
msgid "Image resize failed."
msgstr "Изменение размера Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ðµ удалоÑÑŒ."
-#: ../../mod/profile_photo.php:151
+#: ../../mod/profile_photo.php:141
msgid ""
"Shift-reload the page or clear browser cache if the new photo does not "
"display immediately."
msgstr ""
-#: ../../mod/profile_photo.php:173
+#: ../../mod/profile_photo.php:163
#, php-format
msgid "Image exceeds size limit of %d"
msgstr ""
-#: ../../mod/profile_photo.php:182
+#: ../../mod/profile_photo.php:172
msgid "Unable to process image."
msgstr ""
-#: ../../mod/profile_photo.php:224 ../../mod/profile_photo.php:272
+#: ../../mod/profile_photo.php:214 ../../mod/profile_photo.php:262
msgid "Photo not available."
msgstr "Ð¤Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð½Ðµ доÑтупна."
-#: ../../mod/profile_photo.php:291
+#: ../../mod/profile_photo.php:281
msgid "Upload File:"
msgstr "Загрузить файл:"
-#: ../../mod/profile_photo.php:292
+#: ../../mod/profile_photo.php:282
msgid "Select a profile:"
msgstr "Выберите профиль:"
-#: ../../mod/profile_photo.php:293
+#: ../../mod/profile_photo.php:283
msgid "Upload Profile Photo"
msgstr "Загрузить фотографию профилÑ"
-#: ../../mod/profile_photo.php:294
+#: ../../mod/profile_photo.php:284
msgid "Upload"
msgstr "Загрузка"
-#: ../../mod/profile_photo.php:298
+#: ../../mod/profile_photo.php:288
msgid "skip this step"
msgstr "пропуÑтить Ñтот шаг"
-#: ../../mod/profile_photo.php:298
+#: ../../mod/profile_photo.php:288
msgid "select a photo from your photo albums"
msgstr ""
-#: ../../mod/profile_photo.php:312
+#: ../../mod/profile_photo.php:302
msgid "Crop Image"
msgstr "Обрезать изображение"
-#: ../../mod/profile_photo.php:313
+#: ../../mod/profile_photo.php:303
msgid "Please adjust the image cropping for optimum viewing."
msgstr ""
-#: ../../mod/profile_photo.php:315
+#: ../../mod/profile_photo.php:305
msgid "Done Editing"
msgstr "Закончить редактирование"
-#: ../../mod/profile_photo.php:350
+#: ../../mod/profile_photo.php:340
msgid "Image uploaded successfully."
msgstr "Загрузка Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÑ Ð¿Ñ€Ð¾ÑˆÐ»Ð° уÑпешно."
-#: ../../mod/profile_photo.php:352
+#: ../../mod/profile_photo.php:342
msgid "Image upload failed."
msgstr "Загрузка Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÑ Ð¿Ñ€Ð¾ÑˆÐ»Ð° безуÑпешно."
-#: ../../mod/profile_photo.php:361
+#: ../../mod/profile_photo.php:351
#, php-format
msgid "Image size reduction [%s] failed."
msgstr ""
-#: ../../mod/editwebpage.php:88
-msgid "Edit Webpage"
-msgstr ""
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "Элемент Ð½ÐµÐ»ÑŒÐ·Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ"
-#: ../../mod/editwebpage.php:159
-msgid "Delete Webpage"
-msgstr ""
+#: ../../mod/editpost.php:53
+msgid "Delete item?"
+msgstr "Удалить Ñлемент?"
#: ../../mod/notifications.php:26
msgid "Invalid request identifier."
msgstr ""
-#: ../../mod/notifications.php:76
-msgid "System"
-msgstr "СиÑтема"
-
-#: ../../mod/notifications.php:96
-msgid "Introductions"
-msgstr "ВведениÑ"
-
-#: ../../mod/notifications.php:121
-msgid "Show Ignored Requests"
-msgstr "Показать проигнорированные запроÑÑ‹"
-
-#: ../../mod/notifications.php:121
-msgid "Hide Ignored Requests"
-msgstr "Скрыть проигнорированные запроÑÑ‹"
-
-#: ../../mod/notifications.php:147 ../../mod/notifications.php:193
-msgid "Notification type: "
-msgstr "Тип оповещениÑ:"
-
-#: ../../mod/notifications.php:148
-msgid "Friend Suggestion"
-msgstr ""
-
-#: ../../mod/notifications.php:150
-#, php-format
-msgid "suggested by %s"
-msgstr ""
-
-#: ../../mod/notifications.php:179
-msgid "Claims to be known to you: "
-msgstr ""
-
-#: ../../mod/notifications.php:179
-msgid "yes"
-msgstr "да"
-
-#: ../../mod/notifications.php:179
-msgid "no"
-msgstr "нет"
-
-#: ../../mod/notifications.php:186
-msgid "Approve as: "
-msgstr "Утвердить в качеÑтве:"
-
-#: ../../mod/notifications.php:187
-msgid "Friend"
-msgstr "Друг"
-
-#: ../../mod/notifications.php:188
-msgid "Sharer"
-msgstr ""
-
-#: ../../mod/notifications.php:188
-msgid "Fan/Admirer"
-msgstr "Поклонник"
-
-#: ../../mod/notifications.php:194
-msgid "Friend/Connect Request"
-msgstr ""
-
-#: ../../mod/notifications.php:194
-msgid "New Follower"
-msgstr "Ðовый поÑледователь"
-
-#: ../../mod/notifications.php:215
-msgid "No introductions."
-msgstr "Введений нет."
-
-#: ../../mod/notifications.php:257 ../../mod/notifications.php:382
-#: ../../mod/notifications.php:465
-#, php-format
-msgid "%s liked %s's post"
-msgstr "%s нравитÑÑ %s's Ñообщение"
-
-#: ../../mod/notifications.php:266 ../../mod/notifications.php:391
-#: ../../mod/notifications.php:474
-#, php-format
-msgid "%s disliked %s's post"
-msgstr "%s не нравитÑÑ %s's Ñообщение"
-
-#: ../../mod/notifications.php:280 ../../mod/notifications.php:405
-#: ../../mod/notifications.php:488
-#, php-format
-msgid "%s is now friends with %s"
-msgstr "%s теперь в друзьÑÑ… Ñ %s"
-
-#: ../../mod/notifications.php:287 ../../mod/notifications.php:412
-#, php-format
-msgid "%s created a new post"
-msgstr "%s Ñоздал новое Ñообщение"
-
-#: ../../mod/notifications.php:288 ../../mod/notifications.php:413
-#: ../../mod/notifications.php:497
-#, php-format
-msgid "%s commented on %s's post"
-msgstr "%s прокомментировал %s's Ñообщение"
-
-#: ../../mod/notifications.php:302
-msgid "No more network notifications."
-msgstr "Ðовых оповещений Ñети пока нет."
-
-#: ../../mod/notifications.php:306
-msgid "Network Notifications"
-msgstr "ÐžÐ¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ñети"
+#: ../../mod/notifications.php:35
+msgid "Discard"
+msgstr "Отменить"
-#: ../../mod/notifications.php:332 ../../mod/notify.php:54
+#: ../../mod/notifications.php:93 ../../mod/notify.php:54
msgid "No more system notifications."
msgstr "Ðовых оповещений ÑиÑтемы пока нет."
-#: ../../mod/notifications.php:336 ../../mod/notify.php:58
+#: ../../mod/notifications.php:97 ../../mod/notify.php:58
msgid "System Notifications"
msgstr "СиÑтемные Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ "
-#: ../../mod/notifications.php:427
-msgid "No more personal notifications."
-msgstr "Ðовых личных оповещений пока нет."
-
-#: ../../mod/notifications.php:431
-msgid "Personal Notifications"
-msgstr "Личные Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ "
-
-#: ../../mod/notifications.php:504
-msgid "No more home notifications."
-msgstr "Ðовых домашних оповещений пока нет."
+#: ../../mod/blocks.php:65
+msgid "Block Name"
+msgstr ""
-#: ../../mod/notifications.php:508
-msgid "Home Notifications"
-msgstr "Домашние оповещениÑ"
+#: ../../mod/oexchange.php:23
+msgid "Unable to find your hub."
+msgstr ""
-#: ../../mod/oexchange.php:22
+#: ../../mod/oexchange.php:37
msgid "Post successful."
msgstr "ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ÑˆÐ»Ð° уÑпешно."
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "Элемент Ð½ÐµÐ»ÑŒÐ·Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ"
+#: ../../mod/editwebpage.php:106
+msgid "Edit Webpage"
+msgstr ""
-#: ../../mod/editpost.php:40
-msgid "Edit post"
-msgstr "Редактировать Ñообщение"
+#: ../../mod/editwebpage.php:116
+msgid "Delete webpage?"
+msgstr ""
+
+#: ../../mod/editwebpage.php:189
+msgid "Delete Webpage"
+msgstr ""
-#: ../../mod/profile.php:111
+#: ../../mod/profile.php:64 ../../mod/profile.php:72
msgid "Access to this profile has been restricted."
msgstr "ДоÑтуп к Ñтому профилю ограничен."
@@ -6259,10 +6516,18 @@ msgstr ""
msgid "Make this post private"
msgstr "Сделать Ñто Ñообщение личным"
-#: ../../mod/wall_upload.php:41 ../../mod/item.php:1077
+#: ../../mod/wall_upload.php:41 ../../mod/item.php:1068
msgid "Wall Photos"
msgstr "Стена фотографий"
+#: ../../mod/channel.php:25
+msgid "You must be logged in to see this page."
+msgstr ""
+
+#: ../../mod/channel.php:85
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr ""
+
#: ../../mod/community.php:23
msgid "Not available."
msgstr "ÐедоÑтупно."
@@ -6275,9 +6540,9 @@ msgstr "СообщеÑтво"
msgid "No results."
msgstr "Ðичего не найдено."
-#: ../../mod/fbrowser.php:113
-msgid "Files"
-msgstr "Файлы"
+#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
+msgid "Contact not found."
+msgstr "Контакт не найден."
#: ../../mod/fsuggest.php:63
msgid "Friend suggestion sent."
@@ -6292,193 +6557,192 @@ msgstr "ПриглаÑить друзей"
msgid "Suggest a friend for %s"
msgstr ""
-#: ../../mod/editblock.php:83
+#: ../../mod/editblock.php:82
msgid "Edit Block"
-msgstr ""
+msgstr "Редактировать блок"
-#: ../../mod/editblock.php:154
+#: ../../mod/editblock.php:157
msgid "Delete Block"
-msgstr ""
+msgstr "Удалить блок"
-#: ../../mod/profperm.php:34 ../../mod/profperm.php:64
+#: ../../mod/profperm.php:25 ../../mod/profperm.php:55
msgid "Invalid profile identifier."
msgstr ""
-#: ../../mod/profperm.php:110
+#: ../../mod/profperm.php:101
msgid "Profile Visibility Editor"
msgstr "Редактор видимоÑти профилÑ"
-#: ../../mod/profperm.php:114
+#: ../../mod/profperm.php:105
msgid "Click on a contact to add or remove."
msgstr ""
-#: ../../mod/profperm.php:123
+#: ../../mod/profperm.php:114
msgid "Visible To"
msgstr "Видно"
-#: ../../mod/profperm.php:139
+#: ../../mod/profperm.php:130
msgid "All Contacts (with secure profile access)"
msgstr "Ð’Ñе контакты (Ñ Ð´Ð¾Ñтупом защищенному профилю)"
-#: ../../mod/item.php:133
-msgid "Unable to locate original post."
-msgstr "Ðе удалоÑÑŒ найти оригинал."
-
-#: ../../mod/item.php:301
-msgid "Empty post discarded."
-msgstr "ОтказатьÑÑ Ð¾Ñ‚ пуÑтой почты."
-
-#: ../../mod/item.php:345
-msgid "Executable content type not permitted to this channel."
-msgstr ""
-
-#: ../../mod/item.php:792
-msgid "System error. Post not saved."
-msgstr "СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. Сообщение не Ñохранено."
-
-#: ../../mod/item.php:1153
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr ""
-
-#: ../../mod/item.php:1159
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr ""
-
-#: ../../mod/siteinfo.php:51
+#: ../../mod/siteinfo.php:57
#, php-format
msgid "Version %s"
msgstr "ВерÑÐ¸Ñ %s"
-#: ../../mod/siteinfo.php:65
+#: ../../mod/siteinfo.php:76
msgid "Installed plugins/addons/apps:"
msgstr ""
-#: ../../mod/siteinfo.php:78
+#: ../../mod/siteinfo.php:89
msgid "No installed plugins/addons/apps"
msgstr ""
-#: ../../mod/siteinfo.php:81
+#: ../../mod/siteinfo.php:92
msgid "Red"
msgstr "Red"
-#: ../../mod/siteinfo.php:82
+#: ../../mod/siteinfo.php:93
msgid ""
-"This is Red - another decentralized, distributed communications project by "
-"the folks at Friendica."
+"This is a hub of the Red Matrix - a global cooperative network of "
+"decentralised privacy enhanced websites."
msgstr ""
-#: ../../mod/siteinfo.php:84
+#: ../../mod/siteinfo.php:96
msgid "Running at web location"
msgstr ""
-#: ../../mod/siteinfo.php:85
+#: ../../mod/siteinfo.php:97
msgid ""
-"Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn "
-"more about the Friendica and/or Red project."
+"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
+"about the Red Matrix."
msgstr ""
-#: ../../mod/siteinfo.php:86
+#: ../../mod/siteinfo.php:98
msgid "Bug reports and issues: please visit"
msgstr ""
-#: ../../mod/siteinfo.php:89
+#: ../../mod/siteinfo.php:101
msgid ""
-"Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - "
-"dot com"
+"Suggestions, praise, donations, etc. - please email \"redmatrix\" at "
+"librelist - dot com"
msgstr ""
-#: ../../mod/suggest.php:41
+#: ../../mod/suggest.php:35
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
"hours."
msgstr ""
-#: ../../mod/suggest.php:58
-msgid "Ignore/Hide"
-msgstr "Игнорировать / Скрыть"
+#: ../../mod/message.php:41
+msgid "Conversation removed."
+msgstr "Разговор удален."
+
+#: ../../mod/message.php:56
+msgid "No messages."
+msgstr "Ðет Ñообщений."
+
+#: ../../mod/message.php:74
+msgid "D, d M Y - g:i A"
+msgstr "D, d M Y - g:i A"
#: ../../mod/pubsites.php:22
msgid "Public Sites"
msgstr ""
-#: ../../mod/pubsites.php:28
-msgid "Site URL"
+#: ../../mod/pubsites.php:25
+msgid ""
+"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 ""
-#: ../../mod/pubsites.php:28
+#: ../../mod/pubsites.php:31
+msgid "Site URL"
+msgstr "URL веб-Ñайта"
+
+#: ../../mod/pubsites.php:31
msgid "Access Type"
msgstr ""
-#: ../../mod/pubsites.php:28
+#: ../../mod/pubsites.php:31
msgid "Registration Policy"
-msgstr ""
+msgstr "Правила региÑтрации"
-#: ../../mod/register.php:35
+#: ../../mod/register.php:43
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr ""
-#: ../../mod/register.php:41
+#: ../../mod/register.php:49
msgid ""
"Please indicate acceptance of the Terms of Service. Registration failed."
msgstr ""
-#: ../../mod/register.php:69
+#: ../../mod/register.php:77
msgid "Passwords do not match."
-msgstr ""
+msgstr "Пароли не Ñовпадают."
-#: ../../mod/register.php:97
+#: ../../mod/register.php:105
msgid ""
"Registration successful. Please check your email for validation "
"instructions."
msgstr ""
-#: ../../mod/register.php:103
+#: ../../mod/register.php:111
msgid "Your registration is pending approval by the site owner."
msgstr ""
-#: ../../mod/register.php:106
+#: ../../mod/register.php:114
msgid "Your registration can not be processed."
msgstr ""
-#: ../../mod/register.php:141
+#: ../../mod/register.php:147
+msgid "Registration on this site/hub is by approval only."
+msgstr ""
+
+#: ../../mod/register.php:148
+msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
+msgstr ""
+
+#: ../../mod/register.php:156
msgid ""
"This site has exceeded the number of allowed daily account registrations. "
"Please try again tomorrow."
msgstr ""
-#: ../../mod/register.php:152
+#: ../../mod/register.php:167
msgid "Terms of Service"
msgstr ""
-#: ../../mod/register.php:158
+#: ../../mod/register.php:173
#, php-format
msgid "I accept the %s for this website"
msgstr ""
-#: ../../mod/register.php:160
+#: ../../mod/register.php:175
#, php-format
msgid "I am over 13 years of age and accept the %s for this website"
msgstr ""
-#: ../../mod/register.php:175
+#: ../../mod/register.php:194
msgid "Membership on this site is by invitation only."
msgstr ""
-#: ../../mod/register.php:176
+#: ../../mod/register.php:195
msgid "Please enter your invitation code"
msgstr ""
-#: ../../mod/register.php:179
+#: ../../mod/register.php:198
msgid "Your email address"
msgstr "Ваш Ð°Ð´Ñ€ÐµÑ Ñлектронной почты"
-#: ../../mod/register.php:180
+#: ../../mod/register.php:199
msgid "Choose a password"
msgstr "Выберите пароль"
-#: ../../mod/register.php:181
+#: ../../mod/register.php:200
msgid "Please re-enter your password"
msgstr ""
@@ -6486,215 +6750,384 @@ msgstr ""
msgid "Please login."
msgstr "Войдите пожалуйÑта."
-#: ../../mod/post.php:114
+#: ../../mod/removeme.php:49
+msgid "Remove This Channel"
+msgstr "Удалить Ñтот канал"
+
+#: ../../mod/removeme.php:50
msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
+"This will completely remove this channel from the network. Once this has "
+"been done it is not recoverable."
msgstr ""
-#: ../../mod/post.php:127
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
+#: ../../mod/removeme.php:51
+msgid "Please enter your password for verification:"
+msgstr ""
+
+#: ../../mod/removeme.php:52
+msgid "Remove this channel and all its clones from the network"
+msgstr ""
+
+#: ../../mod/removeme.php:52
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
msgstr ""
-#: ../../mod/removeme.php:45 ../../mod/removeme.php:48
+#: ../../mod/removeme.php:53
msgid "Remove My Account"
msgstr "Удалить мой аккаунт"
-#: ../../mod/removeme.php:46
-msgid ""
-"This will completely remove your account. Once this has been done it is not "
-"recoverable."
+#: ../../mod/item.php:145
+msgid "Unable to locate original post."
+msgstr "Ðе удалоÑÑŒ найти оригинал."
+
+#: ../../mod/item.php:343
+msgid "Empty post discarded."
+msgstr "ОтказатьÑÑ Ð¾Ñ‚ пуÑтой почты."
+
+#: ../../mod/item.php:385
+msgid "Executable content type not permitted to this channel."
msgstr ""
-#: ../../mod/removeme.php:47
-msgid "Please enter your password for verification:"
+#: ../../mod/item.php:812
+msgid "System error. Post not saved."
+msgstr "СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. Сообщение не Ñохранено."
+
+#: ../../mod/item.php:1148
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../mod/filestorage.php:22
-msgid "Permission Denied."
+#: ../../mod/item.php:1154
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
msgstr ""
-#: ../../mod/filestorage.php:59
-msgid "Download"
+#: ../../mod/mood.php:138
+msgid "Mood"
msgstr ""
-#: ../../mod/filestorage.php:64
-msgid "Used: "
+#: ../../mod/mood.php:139
+msgid "Set your current mood and tell your friends"
msgstr ""
-#: ../../mod/filestorage.php:66
-msgid "Limit: "
+#: ../../mod/ping.php:160
+msgid "sent you a private message"
+msgstr "отправил вам личное Ñообщение"
+
+#: ../../mod/ping.php:218
+msgid "added your channel"
+msgstr "добавил ваш канал"
+
+#: ../../mod/ping.php:262
+msgid "posted an event"
msgstr ""
-#: ../../mod/mood.php:133
-msgid "Mood"
+#: ../../mod/dirprofile.php:111
+msgid "Status: "
msgstr ""
-#: ../../mod/mood.php:134
-msgid "Set your current mood and tell your friends"
+#: ../../mod/dirprofile.php:112
+msgid "Sexual Preference: "
+msgstr "СекÑÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ:"
+
+#: ../../mod/dirprofile.php:114
+msgid "Homepage: "
+msgstr "ДомашнÑÑ Ñтраница:"
+
+#: ../../mod/dirprofile.php:115
+msgid "Hometown: "
+msgstr ""
+
+#: ../../mod/dirprofile.php:117
+msgid "About: "
+msgstr "О Ñебе:"
+
+#: ../../mod/dirprofile.php:163
+msgid "Keywords: "
+msgstr "Ключевые Ñлова:"
+
+#: ../../view/theme/redbasic/php/config.php:74
+msgid "Scheme Default"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:138
-#: ../../view/theme/redbasic/php/config.php:156
-#: ../../view/theme/redstrap/php/config.php:133
+#: ../../view/theme/redbasic/php/config.php:75
+msgid "red"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:76
+msgid "black"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:77
+msgid "silver"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:88
+#: ../../view/theme/apw/php/config.php:234
+#: ../../view/theme/blogga/view/theme/blog/config.php:69
+#: ../../view/theme/blogga/php/config.php:69
msgid "Theme settings"
msgstr "ÐаÑтройки темы"
-#: ../../view/theme/redbasic/php/config.php:139
-#: ../../view/theme/redbasic/php/config.php:157
-#: ../../view/theme/redstrap/php/config.php:134
+#: ../../view/theme/redbasic/php/config.php:89
+#: ../../view/theme/apw/php/config.php:235
+msgid "Set scheme"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:90
+msgid "Navigation bar colour"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:91
+msgid "Set font-colour for banner"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:92
+msgid "Set the background colour"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:93
+msgid "Set the background image"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:94
+msgid "Set the background colour of items"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:95
+msgid "Set the opacity of items"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:96
+msgid "Set the basic colour for item icons"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:97
+msgid "Set the hover colour for item icons"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:98
+msgid "Set font-size for the entire application"
+msgstr ""
+
+#: ../../view/theme/redbasic/php/config.php:99
+#: ../../view/theme/apw/php/config.php:236
msgid "Set font-size for posts and comments"
msgstr "УÑтановить размер шрифта Ð´Ð»Ñ Ñообщений и комментариев"
-#: ../../view/theme/redbasic/php/config.php:140
-#: ../../view/theme/redbasic/php/config.php:158
-#: ../../view/theme/redstrap/php/config.php:135
-msgid "Set line-height for posts and comments"
+#: ../../view/theme/redbasic/php/config.php:100
+msgid "Set font-colour for posts and comments"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:141
-#: ../../view/theme/redbasic/php/config.php:159
-#: ../../view/theme/redstrap/php/config.php:136
-msgid "Set colour scheme"
-msgstr "УÑтановите цветовую Ñхему"
+#: ../../view/theme/redbasic/php/config.php:101
+msgid "Set radius of corners"
+msgstr ""
-#: ../../view/theme/redbasic/php/config.php:142
-#: ../../view/theme/redstrap/php/config.php:137
-msgid "Draw shadows"
+#: ../../view/theme/redbasic/php/config.php:102
+msgid "Set shadow depth of photos"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:143
-#: ../../view/theme/redstrap/php/config.php:138
-msgid "Navigation bar colour"
+#: ../../view/theme/redbasic/php/config.php:103
+msgid "Set maximum width of conversation regions"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:144
-#: ../../view/theme/redstrap/php/config.php:139
-msgid "Display style"
-msgstr "Стиль отображениÑ"
+#: ../../view/theme/redbasic/php/config.php:104
+msgid "Set minimum opacity of nav bar - to hide it"
+msgstr ""
-#: ../../view/theme/redbasic/php/config.php:145
-#: ../../view/theme/redstrap/php/config.php:140
-msgid "Display colour of links - hex value, do not include the #"
+#: ../../view/theme/redbasic/php/config.php:105
+msgid "Set size of conversation author photo"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:146
-#: ../../view/theme/redstrap/php/config.php:141
-msgid "Icons"
-msgstr "Значки"
+#: ../../view/theme/redbasic/php/config.php:106
+msgid "Set size of followup author photos"
+msgstr ""
-#: ../../view/theme/redbasic/php/config.php:147
-#: ../../view/theme/redstrap/php/config.php:142
-msgid "Shiny style"
+#: ../../view/theme/redbasic/php/config.php:107
+msgid "Sloppy photo albums"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:148
-msgid "Corner radius"
-msgstr "Угловой радиуÑ"
+#: ../../view/theme/redbasic/php/config.php:107
+msgid "Are you a clean desk or a messy desk person?"
+msgstr ""
-#: ../../view/theme/redbasic/php/config.php:148
-msgid "0-99 default: 5"
-msgstr "0-99 по умолчанию: 5"
+#: ../../view/theme/apw/php/config.php:193
+#: ../../view/theme/apw/php/config.php:211
+msgid "Schema Default"
+msgstr ""
-#: ../../boot.php:1242
-#, php-format
-msgid "Update %s failed. See error logs."
+#: ../../view/theme/apw/php/config.php:194
+msgid "Sans-Serif"
msgstr ""
-#: ../../boot.php:1245
-#, php-format
-msgid "Update Error at %s"
-msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° %s"
+#: ../../view/theme/apw/php/config.php:195
+msgid "Monospace"
+msgstr ""
-#: ../../boot.php:1403
-msgid "Create a New Account"
-msgstr "Создать новый аккаунт"
+#: ../../view/theme/apw/php/config.php:237
+msgid "Set font face"
+msgstr ""
-#: ../../boot.php:1432
-msgid "Password"
-msgstr "Пароль"
+#: ../../view/theme/apw/php/config.php:238
+msgid "Set iconset"
+msgstr ""
-#: ../../boot.php:1433
-msgid "Remember me"
-msgstr "Запомнить"
+#: ../../view/theme/apw/php/config.php:239
+msgid "Set big shadow size, default 15px 15px 15px"
+msgstr ""
-#: ../../boot.php:1438
-msgid "Forgot your password?"
-msgstr "Забыли пароль или логин?"
+#: ../../view/theme/apw/php/config.php:240
+msgid "Set small shadow size, default 5px 5px 5px"
+msgstr ""
-#: ../../boot.php:1557
-msgid "Requested channel is not available."
-msgstr "Запрашиваемый канал не доÑтупен."
+#: ../../view/theme/apw/php/config.php:241
+msgid "Set shadow colour, default #000"
+msgstr ""
-#: ../../boot.php:1569
-msgid " Sorry, you don't have the permission to view this profile. "
+#: ../../view/theme/apw/php/config.php:242
+msgid "Set radius size, default 5px"
msgstr ""
-#: ../../boot.php:1716
-msgid "Profiles"
-msgstr "Профили"
+#: ../../view/theme/apw/php/config.php:243
+msgid "Set line-height for posts and comments"
+msgstr ""
-#: ../../boot.php:1716
-msgid "Manage/edit profiles"
-msgstr "Управление / Редактирование профилей"
+#: ../../view/theme/apw/php/config.php:244
+msgid "Set background image"
+msgstr ""
-#: ../../boot.php:1720
-msgid "Edit Profile"
-msgstr "Редактировать профиль"
+#: ../../view/theme/apw/php/config.php:245
+msgid "Set background colour"
+msgstr ""
-#: ../../boot.php:1809 ../../boot.php:1889
-msgid "F d"
-msgstr "F d"
+#: ../../view/theme/apw/php/config.php:246
+msgid "Set section background image"
+msgstr ""
-#: ../../boot.php:1866
-msgid "Birthday Reminders"
-msgstr "ÐÐ°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¾ ДнÑÑ… РождениÑ"
+#: ../../view/theme/apw/php/config.php:247
+msgid "Set section background colour"
+msgstr ""
-#: ../../boot.php:1867
-msgid "Birthdays this week:"
-msgstr "Дни Ð Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð½Ð° Ñтой неделе:"
+#: ../../view/theme/apw/php/config.php:248
+msgid "Set colour of items - use hex"
+msgstr ""
-#: ../../boot.php:1922
-msgid "[No description]"
-msgstr "[без опиÑаниÑ]"
+#: ../../view/theme/apw/php/config.php:249
+msgid "Set colour of links - use hex"
+msgstr ""
-#: ../../boot.php:1940
-msgid "Event Reminders"
-msgstr "ÐÐ°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¼ÐµÑ€Ð¾Ð¿Ñ€Ð¸Ñтий"
+#: ../../view/theme/apw/php/config.php:250
+msgid "Set max-width for items. Default 400px"
+msgstr ""
-#: ../../boot.php:1941
-msgid "Events this week:"
-msgstr "МероприÑÑ‚Ð¸Ñ Ð½Ð° Ñтой неделе:"
+#: ../../view/theme/apw/php/config.php:251
+msgid "Set min-width for items. Default 240px"
+msgstr ""
-#: ../../boot.php:2175
-msgid "Channel"
-msgstr "Канал"
+#: ../../view/theme/apw/php/config.php:252
+msgid "Set the generic content wrapper width. Default 48%"
+msgstr ""
-#: ../../boot.php:2178
-msgid "Status Messages and Posts"
+#: ../../view/theme/apw/php/config.php:253
+msgid "Set colour of fonts - use hex"
msgstr ""
-#: ../../boot.php:2182
-msgid "About"
-msgstr "О Ñебе"
+#: ../../view/theme/apw/php/config.php:254
+msgid "Set background-size element"
+msgstr ""
-#: ../../boot.php:2185
-msgid "Profile Details"
-msgstr "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ профиле"
+#: ../../view/theme/apw/php/config.php:255
+msgid "Item opacity"
+msgstr ""
-#: ../../boot.php:2203
-msgid "Events and Calendar"
-msgstr "МероприÑÑ‚Ð¸Ñ Ð¸ календарь"
+#: ../../view/theme/apw/php/config.php:256
+msgid "Display post previews only"
+msgstr ""
-#: ../../boot.php:2208
-msgid "Webpages"
-msgstr "Веб-Ñтраницы"
+#: ../../view/theme/apw/php/config.php:257
+msgid "Display side bar on channel page"
+msgstr ""
-#: ../../boot.php:2211
-msgid "Manage Webpages"
-msgstr "Управление веб-Ñтраниц"
+#: ../../view/theme/apw/php/config.php:258
+msgid "Colour of the navigation bar"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:259
+msgid "Item float"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:260
+msgid "Left offset of the section element"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:261
+msgid "Right offset of the section element"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:262
+msgid "Section width"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:263
+msgid "Left offset of the aside"
+msgstr ""
+
+#: ../../view/theme/apw/php/config.php:264
+msgid "Right offset of the aside element"
+msgstr ""
+
+#: ../../view/theme/blogga/view/theme/blog/config.php:47
+#: ../../view/theme/blogga/php/config.php:47
+msgid "None"
+msgstr ""
+
+#: ../../view/theme/blogga/view/theme/blog/config.php:70
+#: ../../view/theme/blogga/php/config.php:70
+msgid "Header image"
+msgstr ""
+
+#: ../../view/theme/blogga/view/theme/blog/config.php:71
+#: ../../view/theme/blogga/php/config.php:71
+msgid "Header image only on profile pages"
+msgstr ""
+
+#: ../../boot.php:1224
+#, php-format
+msgid "Update %s failed. See error logs."
+msgstr ""
+
+#: ../../boot.php:1227
+#, php-format
+msgid "Update Error at %s"
+msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° %s"
+
+#: ../../boot.php:1391
+msgid ""
+"Create an account to access services and applications within the Red Matrix"
+msgstr ""
+
+#: ../../boot.php:1419
+msgid "Password"
+msgstr "Пароль"
+
+#: ../../boot.php:1420
+msgid "Remember me"
+msgstr "Запомнить"
+
+#: ../../boot.php:1425
+msgid "Forgot your password?"
+msgstr "Забыли пароль или логин?"
+
+#: ../../boot.php:1490
+msgid "permission denied"
+msgstr "доÑтуп запрещен"
+
+#: ../../boot.php:1491
+msgid "Got Zot?"
+msgstr "Got Zot?"
-#: ../../boot.php:2493
+#: ../../boot.php:1887
msgid "toggle mobile"
msgstr "мобильное подключение"
diff --git a/view/ru/strings.php b/view/ru/strings.php
index 9404d0c55..3ac8bbf67 100644
--- a/view/ru/strings.php
+++ b/view/ru/strings.php
@@ -13,55 +13,103 @@ $a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s измениÐ
$a->strings["Visit %1\$s's %2\$s"] = "ПоÑетить %1\$s's %2\$s";
$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "";
$a->strings["Public Timeline"] = "ÐŸÑƒÐ±Ð»Ð¸Ñ‡Ð½Ð°Ñ ÑˆÐºÐ°Ð»Ð° времени";
-$a->strings["Red Matrix Notification"] = "ÐžÐ¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Red матрицы";
-$a->strings["Thank You,"] = "СпаÑибо,";
-$a->strings["%s Administrator"] = "%s админиÑтратор";
-$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
-$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Уведомление] Получено новое Ñообщение в %s";
-$a->strings["%1\$s sent you a new private message at %2\$s."] = "%1\$s отправил вам новое личное Ñообщение в %2\$s.";
-$a->strings["%1\$s sent you %2\$s."] = "%1\$s поÑлал вам %2\$s.";
-$a->strings["a private message"] = "личное Ñообщение";
-$a->strings["Please visit %s to view and/or reply to your private messages."] = "ПожалуйÑта, поÑетите %s Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра и/или ответа на ваши личные ÑообщениÑ.";
-$a->strings["%1\$s commented on [zrl=%2\$s]a %3\$s[/zrl]"] = "%1\$s прокомментировал на [zrl=%2\$s]a %3\$s[/zrl]";
-$a->strings["%1\$s commented on [zrl=%2\$s]%3\$s's %4\$s[/zrl]"] = "%1\$s прокомментировал на [zrl=%2\$s]%3\$s's %4\$s[/zrl]";
-$a->strings["%1\$s commented on [zrl=%2\$s]your %3\$s[/zrl]"] = "%1\$s прокомментировал на [zrl=%2\$s]your %3\$s[/zrl]";
-$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Уведомление] Комментарий к разговору #%1\$d по %2\$s";
-$a->strings["%s commented on an item/conversation you have been following."] = "";
-$a->strings["Please visit %s to view and/or reply to the conversation."] = "ПожалуйÑта, поÑетите %s Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра и/или ответа разговора.";
-$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Уведомление] %s добавил Ñообщениe на Ñтену вашего профилÑ";
-$a->strings["%1\$s posted to your profile wall at %2\$s"] = "%1\$s добавил Ñообщениe на Ñтену вашего Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð² %2\$s";
-$a->strings["%1\$s posted to [zrl=%2\$s]your wall[/zrl]"] = "%1\$s добавил Ñообщениe на [zrl=%2\$s]Ñтену вашего профилÑ[/zrl]";
-$a->strings["[Red:Notify] %s tagged you"] = "[Red:Уведомление] %s добавил у Ð²Ð°Ñ Ñ‚ÐµÐ³";
-$a->strings["%1\$s tagged you at %2\$s"] = "%1\$s добавил у Ð²Ð°Ñ Ñ‚ÐµÐ³ в %2\$s";
-$a->strings["%1\$s [zrl=%2\$s]tagged you[/zrl]."] = "%1\$s [zrl=%2\$s]добавил у Ð²Ð°Ñ Ñ‚ÐµÐ³[/zrl].";
-$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Уведомление] %1\$s подпихнул ваÑ";
-$a->strings["%1\$s poked you at %2\$s"] = "%1\$s подпихнул Ð²Ð°Ñ Ð² %2\$s";
-$a->strings["%1\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s [zrl=%2\$s]подпихнул ваÑ[/zrl].";
-$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Уведомление] %s добавил у Ð²Ð°Ñ Ð² Ñообщении тег";
-$a->strings["%1\$s tagged your post at %2\$s"] = "%1\$s добавил у Ð²Ð°Ñ Ð² Ñообщении тег %2\$s";
-$a->strings["%1\$s tagged [zrl=%2\$s]your post[/zrl]"] = "%1\$s добавил тег [zrl=%2\$s] у Ð²Ð°Ñ Ð² Ñообщении[/zrl]";
-$a->strings["[Red:Notify] Introduction received"] = "[Red:Уведомление] введение получено";
-$a->strings["You've received an introduction from '%1\$s' at %2\$s"] = "Вы получили введение от '%1\$s' at %2\$s";
-$a->strings["You've received [zrl=%1\$s]an introduction[/zrl] from %2\$s."] = "Вы получили [zrl=%1\$s]введение[/zrl] от %2\$s.";
-$a->strings["You may visit their profile at %s"] = "Ð’Ñ‹ можете поÑетить ​​профиль в %s";
-$a->strings["Please visit %s to approve or reject the introduction."] = "";
-$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Уведомление] Получено предложение дружить";
-$a->strings["You've received a friend suggestion from '%1\$s' at %2\$s"] = "Ð’Ñ‹ получили предложение дружить Ñ '%1\$s' от %2\$s";
-$a->strings["You've received [zrl=%1\$s]a friend suggestion[/zrl] for %2\$s from %3\$s."] = "";
-$a->strings["Name:"] = "ИмÑ:";
-$a->strings["Photo:"] = "Фото:";
-$a->strings["Please visit %s to approve or reject the suggestion."] = "";
-$a->strings["Default"] = "";
+$a->strings["Logout"] = "Выход";
+$a->strings["End this session"] = "Закончить Ñту ÑеÑÑию";
+$a->strings["Home"] = "Мой канал";
+$a->strings["Your posts and conversations"] = "Ваши ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸ разговоры";
+$a->strings["View Profile"] = "ПроÑмотр профилÑ";
+$a->strings["Your profile page"] = "Страницa вашего профилÑ";
+$a->strings["Edit Profiles"] = "Редактирование профилей";
+$a->strings["Manage/Edit Profiles"] = "Управление / Редактирование профилей";
+$a->strings["Photos"] = "Фотографии";
+$a->strings["Your photos"] = "Ваши фотографии";
+$a->strings["Login"] = "Войти";
+$a->strings["Sign in"] = "Войти";
+$a->strings["%s - click to logout"] = "%s - нажмите чтобы выйти";
+$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["Addon applications, utilities, games"] = "";
+$a->strings["Search"] = "ПоиÑк";
+$a->strings["Search site content"] = "ПоиÑк по Ñодержанию Ñайту";
+$a->strings["Directory"] = "Каталог";
+$a->strings["Channel Locator"] = "Локатор каналов";
+$a->strings["Matrix"] = "Матрица";
+$a->strings["Your matrix"] = "СобÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ð°";
+$a->strings["Mark all matrix notifications seen"] = "Пометить вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ñ‹ как прочитанное";
+$a->strings["Channel Home"] = "";
+$a->strings["Channel home"] = "";
+$a->strings["Mark all channel notifications seen"] = "Пометить вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð° как прочитанное";
+$a->strings["Intros"] = "Контакты";
+$a->strings["New Connections"] = "Ðовые контакты";
+$a->strings["Notices"] = "ОповещениÑ";
+$a->strings["Notifications"] = "ОповещениÑ";
+$a->strings["See all notifications"] = "ПроÑмотреть вÑе оповещениÑ";
+$a->strings["Mark all system notifications seen"] = "Пометить вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ðº прочитанное";
+$a->strings["Mail"] = "ПерепиÑка";
+$a->strings["Private mail"] = "Ваша Ð»Ð¸Ñ‡Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¿Ð¸Ñка";
+$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["Manage Your Channels"] = "Управление каналов";
+$a->strings["Settings"] = "ÐаÑтройки";
+$a->strings["Account/Channel Settings"] = "ÐаÑтройки аккаунта/канала";
+$a->strings["Connections"] = "Контакты";
+$a->strings["Manage/Edit Friends and Connections"] = "Управление/Редактирование друзей и ÑвÑзей";
+$a->strings["Admin"] = "ÐдминиÑтрациÑ";
+$a->strings["Site Setup and Configuration"] = "УÑтановка и ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñайта";
+$a->strings["Nothing new here"] = "Ðичего нового здеÑÑŒ";
+$a->strings["Please wait..."] = "Подождите пожалуйÑта ...";
+$a->strings["Edit File properties"] = "";
$a->strings["Connect"] = "Подключить";
$a->strings["New window"] = "Ðовое окно";
$a->strings["Open the selected location in a different window or browser tab"] = "";
-$a->strings["Poke"] = "Подпихнуть";
-$a->strings["View Status"] = "ПроÑмотр ÑоÑтоÑниÑ";
-$a->strings["View Profile"] = "ПроÑмотр профилÑ";
-$a->strings["View Photos"] = "ПроÑмотр фотографий";
-$a->strings["Network Posts"] = "Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñети";
-$a->strings["Edit Contact"] = "Редактировать контакт";
-$a->strings["Send PM"] = "Отправить личное Ñообщение";
+$a->strings["Categories"] = "Категории";
+$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"] = "Пример: bob@example.com, http://example.com/barbara";
+$a->strings["Notes"] = "Заметки";
+$a->strings["Save"] = "Запомнить";
+$a->strings["Remove term"] = "Удалить термин";
+$a->strings["Saved Searches"] = "Запомненные поиÑки";
+$a->strings["add"] = "добавить";
+$a->strings["Saved Folders"] = "Запомненные папки";
+$a->strings["Everything"] = "Ð’Ñе";
+$a->strings["Archives"] = "Ðрхивы";
+$a->strings["Refresh"] = "Обновить";
+$a->strings["Me"] = "Я";
+$a->strings["Best Friends"] = "Лучшие друзьÑ";
+$a->strings["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["Channel Sources"] = "";
+$a->strings["Check Mail"] = "Проверить Ñнова";
$a->strings["Unknown | Not categorised"] = "ÐеизвеÑтные | Без категории";
$a->strings["Block immediately"] = "Ðемедленно заблокировать";
$a->strings["Shady, spammer, self-marketer"] = "";
@@ -107,15 +155,149 @@ $a->strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
$a->strings["Starts:"] = "Ðачало:";
$a->strings["Finishes:"] = "\t\nКонец:";
$a->strings["Location:"] = "Откуда:";
+$a->strings["prev"] = "предыдущий";
+$a->strings["first"] = "первый";
+$a->strings["last"] = "поÑледний";
+$a->strings["next"] = "Ñледующий";
+$a->strings["older"] = "Ñтарший";
+$a->strings["newer"] = "новее";
+$a->strings["No connections"] = "Ðет каналов";
+$a->strings["%d Connection"] = array(
+ 0 => "%d канал",
+ 1 => "%d канала",
+ 2 => "%d каналов",
+);
+$a->strings["View Connections"] = "ПроÑмотр контактов";
+$a->strings["poke"] = "подпихнуть";
+$a->strings["poked"] = "подпихнул";
+$a->strings["ping"] = "";
+$a->strings["pinged"] = "";
+$a->strings["prod"] = "";
+$a->strings["prodded"] = "";
+$a->strings["slap"] = "";
+$a->strings["slapped"] = "";
+$a->strings["finger"] = "";
+$a->strings["fingered"] = "";
+$a->strings["rebuff"] = "";
+$a->strings["rebuffed"] = "";
+$a->strings["happy"] = "ÑчаÑтливый";
+$a->strings["sad"] = "";
+$a->strings["mellow"] = "";
+$a->strings["tired"] = "";
+$a->strings["perky"] = "";
+$a->strings["angry"] = "Ñердитый";
+$a->strings["stupified"] = "";
+$a->strings["puzzled"] = "";
+$a->strings["interested"] = "";
+$a->strings["bitter"] = "озлобленный";
+$a->strings["cheerful"] = "";
+$a->strings["alive"] = "";
+$a->strings["annoyed"] = "";
+$a->strings["anxious"] = "";
+$a->strings["cranky"] = "капризный";
+$a->strings["disturbed"] = "вÑтревоженный";
+$a->strings["frustrated"] = "разочарованный";
+$a->strings["motivated"] = "мотивированный";
+$a->strings["relaxed"] = "раÑÑлабленный";
+$a->strings["surprised"] = "удивленный";
+$a->strings["Monday"] = "Понедельник";
+$a->strings["Tuesday"] = "Вторник";
+$a->strings["Wednesday"] = "Среда";
+$a->strings["Thursday"] = "Четверг";
+$a->strings["Friday"] = "ПÑтница";
+$a->strings["Saturday"] = "Суббота";
+$a->strings["Sunday"] = "ВоÑкреÑенье";
+$a->strings["January"] = "Январь";
+$a->strings["February"] = "Февраль";
+$a->strings["March"] = "Март";
+$a->strings["April"] = "Ðпрель";
+$a->strings["May"] = "Май";
+$a->strings["June"] = "Июнь";
+$a->strings["July"] = "Июль";
+$a->strings["August"] = "ÐвгуÑÑ‚";
+$a->strings["September"] = "СентÑбрь";
+$a->strings["October"] = "ОктÑбрь";
+$a->strings["November"] = "ÐоÑбрь";
+$a->strings["December"] = "Декабрь";
+$a->strings["unknown.???"] = "неизвеÑтный.???";
+$a->strings["bytes"] = "байт";
+$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["Select an alternate language"] = "Выбор альтернативного Ñзыка";
+$a->strings["photo"] = "фото";
+$a->strings["event"] = "мероприÑтие";
+$a->strings["status"] = "ÑтатуÑ";
+$a->strings["comment"] = "комментарий";
+$a->strings["activity"] = "активноÑÑ‚ÑŒ";
+$a->strings["Design"] = "Дизайн";
+$a->strings["Blocks"] = "";
+$a->strings["Menus"] = "";
+$a->strings["Layouts"] = "";
+$a->strings["Pages"] = "Страницы";
+$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["Delete this item?"] = "Удалить Ñтот Ñлемент?";
+$a->strings["Comment"] = "Комментарий";
+$a->strings["show more"] = "показать вÑе";
+$a->strings["show fewer"] = "показать меньше";
+$a->strings["Password too short"] = "Пароль Ñлишком короткий";
+$a->strings["Passwords do not match"] = "Пароли не Ñовпадают";
+$a->strings["everybody"] = "вÑе";
+$a->strings["Secret Passphrase"] = "";
+$a->strings["Passphrase hint"] = "";
+$a->strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+$a->strings["timeago.suffixAgo"] = "timeago.suffixAgo";
+$a->strings["ago"] = "тому назад";
+$a->strings["from now"] = "Ñ Ñтого времени";
+$a->strings["less than a minute"] = "менее чем одну минуту назад";
+$a->strings["about a minute"] = "около минуты";
+$a->strings["%d minutes"] = "%d мин.";
+$a->strings["about an hour"] = "около чаÑа";
+$a->strings["about %d hours"] = "около %d чаÑ.";
+$a->strings["a day"] = "день";
+$a->strings["%d days"] = "%d дней";
+$a->strings["about a month"] = "около меÑÑца";
+$a->strings["%d months"] = "%d меÑ.";
+$a->strings["about a year"] = "около года";
+$a->strings["%d years"] = "%d лет";
+$a->strings[" "] = " ";
+$a->strings["timeago.numbers"] = "timeago.numbers";
+$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["Profile Photos"] = "Фотографии профилÑ";
+$a->strings["view full size"] = "поÑмотреть в полный размер";
+$a->strings["Image/photo"] = "Изображение / фото";
+$a->strings["Encrypted content"] = "Зашифрованное Ñодержание";
+$a->strings["QR code"] = "QR код";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s напиÑал Ñледующее %2\$s %3\$s";
+$a->strings["post"] = "Ñообщение";
+$a->strings["$1 wrote:"] = "$1 пиÑал:";
+$a->strings["Embedded content"] = "";
+$a->strings["Embedding disabled"] = "";
$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["Web Pages"] = "Веб-Ñтраницы";
$a->strings["Provide managed web pages on your channel"] = "";
-$a->strings["Enhanced Photo Albums"] = "РаÑширенные фотоальбомы";
-$a->strings["Enable photo album with enhanced features"] = "Включить фотоальбом Ñ Ñ€Ð°Ñширенными функциÑми";
+$a->strings["Private Notes"] = "Личные заметки";
+$a->strings["Enables a tool to store notes and reminders"] = "";
$a->strings["Extended Identity Sharing"] = "РаÑширенный обмен идентичноÑти";
-$a->strings[" "] = " ";
+$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"] = "";
@@ -125,12 +307,14 @@ $a->strings["Richtext Editor"] = "Редактор RichText";
$a->strings["Enable richtext editor"] = "Включить редактор RichText";
$a->strings["Post Preview"] = "Предварительный проÑмотр ÑообщениÑ";
$a->strings["Allow previewing posts and comments before publishing them"] = "Разрешить предварительный проÑмотр Ñообщений и комментариев перед их публикацией";
+$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"] = "";
@@ -138,16 +322,15 @@ $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["Multiple Deletion"] = "МножеÑтвенное удаление";
-$a->strings["Select and delete multiple posts/comments at once"] = "Выбор и удаление неÑкольких Ñообщений/комментариев Ñразу";
$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["Saved Folders"] = "Запомненные папки";
$a->strings["Ability to file posts under folders"] = "";
$a->strings["Dislike Posts"] = "Сообщение не нравитÑÑ";
$a->strings["Ability to dislike posts/comments"] = "";
@@ -155,147 +338,117 @@ $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["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["Delete this item?"] = "Удалить Ñтот Ñлемент?";
-$a->strings["Comment"] = "Комментарий";
-$a->strings["show more"] = "показать вÑе";
-$a->strings["show fewer"] = "показать меньше";
-$a->strings["Password too short"] = "Пароль Ñлишком короткий";
-$a->strings["Passwords do not match"] = "Пароли не Ñовпадают";
-$a->strings["everybody"] = "вÑе";
-$a->strings["timeago.prefixAgo"] = "timeago.prefixAgo";
-$a->strings["timeago.suffixAgo"] = "timeago.suffixAgo";
-$a->strings["ago"] = "тому назад";
-$a->strings["from now"] = "Ñ Ñтого времени";
-$a->strings["less than a minute"] = "менее чем одну минуту назад";
-$a->strings["about a minute"] = "около минуты";
-$a->strings["%d minutes"] = "%d мин.";
-$a->strings["about an hour"] = "около чаÑа";
-$a->strings["about %d hours"] = "около %d чаÑ.";
-$a->strings["a day"] = "день";
-$a->strings["%d days"] = "%d дней";
-$a->strings["about a month"] = "около меÑÑца";
-$a->strings["%d months"] = "%d меÑ.";
-$a->strings["about a year"] = "около года";
-$a->strings["%d years"] = "%d лет";
-$a->strings["timeago.numbers"] = "timeago.numbers";
-$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["view full size"] = "поÑмотреть в полный размер";
-$a->strings["Profile Photos"] = "Фотографии профилÑ";
-$a->strings["Profile"] = "Профиль";
-$a->strings["Full Name:"] = "Полное имÑ:";
-$a->strings["Gender:"] = "Пол:";
-$a->strings["j F, Y"] = "j F, Y";
-$a->strings["j F"] = "j F";
-$a->strings["Birthday:"] = "День РождениÑ:";
-$a->strings["Age:"] = "ВозраÑÑ‚:";
-$a->strings["Status:"] = "СтатуÑ:";
-$a->strings["for %1\$d %2\$s"] = "Ð´Ð»Ñ %1\$d %2\$s";
-$a->strings["Sexual Preference:"] = "СекÑÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ:";
-$a->strings["Homepage:"] = "ДомашнÑÑ Ñтраница:";
-$a->strings["Hometown:"] = "Родной город:";
-$a->strings["Tags:"] = "ТÑги:";
-$a->strings["Political Views:"] = "ПолитичеÑкие взглÑды:";
-$a->strings["Religion:"] = "РелигиÑ:";
-$a->strings["About:"] = "О Ñебе:";
-$a->strings["Hobbies/Interests:"] = "Хобби / интереÑÑ‹:";
-$a->strings["Likes:"] = "Что вам нравитÑÑ:";
-$a->strings["Dislikes:"] = "Что вам не нравитÑÑ:";
-$a->strings["Contact information and Social Networks:"] = "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ Ñоциальные Ñети контакта:";
-$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["Logout"] = "Выход";
-$a->strings["End this session"] = "Закончить Ñту ÑеÑÑию";
-$a->strings["Home"] = "Мой канал";
-$a->strings["Your posts and conversations"] = "Ваши ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸ разговоры";
-$a->strings["Your profile page"] = "Страницa вашего профилÑ";
-$a->strings["Edit Profiles"] = "Редактирование профилей";
-$a->strings["Manage/Edit Profiles"] = "Управление / Редактирование профилей";
-$a->strings["Photos"] = "Фотографии";
-$a->strings["Your photos"] = "Ваши фотографии";
-$a->strings["Login"] = "Войти";
-$a->strings["Sign in"] = "Войти";
-$a->strings["%s - click to logout"] = "%s - нажмите чтобы выйти";
-$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["Addon applications, utilities, games"] = "";
-$a->strings["Search"] = "ПоиÑк";
-$a->strings["Search site content"] = "ПоиÑк по Ñодержанию Ñайту";
-$a->strings["Directory"] = "Каталог";
-$a->strings["Channel Locator"] = "Локатор каналов";
-$a->strings["Matrix"] = "Матрица";
-$a->strings["Conversations from your grid"] = "";
-$a->strings["See all matrix notifications"] = "ПроÑмотреть вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ñ‹";
-$a->strings["Mark all matrix notifications seen"] = "Пометить вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ñ‹ как прочитанное";
-$a->strings["See all channel notifications"] = "ПроÑмотреть вÑе ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð°";
-$a->strings["Mark all channel notifications seen"] = "Пометить вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð° как прочитанное";
-$a->strings["Intros"] = "Контакты";
-$a->strings["New Connections"] = "Ðовые контакты";
-$a->strings["See all channel introductions"] = "ПроÑмотреть вÑе Ð²Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð°";
-$a->strings["Notices"] = "ОповещениÑ";
-$a->strings["Notifications"] = "ОповещениÑ";
-$a->strings["See all notifications"] = "ПроÑмотреть вÑе оповещениÑ";
-$a->strings["Mark all system notifications seen"] = "Пометить вÑе Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ðº прочитанное";
-$a->strings["Mail"] = "ПерепиÑка";
-$a->strings["Private mail"] = "Ваша Ð»Ð¸Ñ‡Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¿Ð¸Ñка";
-$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["Manage Your Channels"] = "Управление каналов";
-$a->strings["Settings"] = "ÐаÑтройки";
-$a->strings["Account/Channel Settings"] = "ÐаÑтройки аккаунта/канала";
-$a->strings["Connections"] = "Контакты";
-$a->strings["Manage/Edit Friends and Connections"] = "Управление/Редактирование друзей и ÑвÑзей";
-$a->strings["Admin"] = "ÐдминиÑтрациÑ";
-$a->strings["Site Setup and Configuration"] = "УÑтановка и ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñайта";
-$a->strings["Nothing new here"] = "Ðичего нового здеÑÑŒ";
-$a->strings["Please wait..."] = "Подождите пожалуйÑта ...";
-$a->strings["Unable to obtain identity information from database"] = "Ðевозможно получить идентификационную информацию из базы данных";
-$a->strings["Empty name"] = "ПуÑтое имÑ";
-$a->strings["Name too long"] = "Слишком длинное имÑ";
-$a->strings["No account identifier"] = "идентификатор аккаунта отÑутÑтвует";
-$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["channel"] = "канал";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s нравитÑÑ %2\$s's %3\$s";
+$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s не нравитÑÑ %2\$s's %3\$s";
+$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s теперь Ñоединен Ñ %2\$s";
+$a->strings["%1\$s poked %2\$s"] = "%1\$s подпихнул %2\$s";
+$a->strings["%1\$s is currently %2\$s"] = "%1\$s в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ %2\$s";
+$a->strings["Select"] = "Выбрать";
+$a->strings["Delete"] = "Удалить";
+$a->strings["Message is verified"] = "";
+$a->strings["View %s's profile @ %s"] = "ПроÑмотр %s's Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ @ %s";
+$a->strings["Categories:"] = "Категории:";
+$a->strings["Filed under:"] = "Хранить под:";
+$a->strings[" from %s"] = " от %s";
+$a->strings["last edited: %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"] = "Следобать теме";
+$a->strings["View Status"] = "ПроÑмотр ÑоÑтоÑниÑ";
+$a->strings["View Photos"] = "ПроÑмотр фотографий";
+$a->strings["Matrix Activity"] = "ÐктивноÑÑ‚ÑŒ матрицы";
+$a->strings["Edit Contact"] = "Редактировать контакт";
+$a->strings["Send PM"] = "Отправить личное Ñообщение";
+$a->strings["Poke"] = "Подпихнуть";
+$a->strings["%s likes this."] = "%s нравитÑÑ Ñто.";
+$a->strings["%s doesn't like this."] = "%s не нравитÑÑ Ñто.";
+$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "",
+ 1 => "",
+ 2 => "<span %1\$s>%2\$d чел.</span> нравитÑÑ Ñто.",
+);
+$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "",
+ 1 => "",
+ 2 => "<span %1\$s>%2\$d чел.</span> не нравитÑÑ Ñто.",
+);
+$a->strings["and"] = "и";
+$a->strings[", and %d other people"] = array(
+ 0 => "",
+ 1 => "",
+ 2 => ", и %d другие люди",
+);
+$a->strings["%s like this."] = "%s нравитÑÑ Ñто.";
+$a->strings["%s don't like this."] = "%s не нравитÑÑ Ñто.";
+$a->strings["Visible to <strong>everybody</strong>"] = "Видно Ð´Ð»Ñ <strong>вÑех</strong>";
+$a->strings["Please enter a link URL:"] = "ПожалуйÑта, введите URL ÑÑылки:";
+$a->strings["Please enter a video link/URL:"] = "ПожалуйÑта, введите URL видео-ÑÑылки:";
+$a->strings["Please enter an audio link/URL:"] = "ПожалуйÑта, введите URL аудио-ÑÑылки:";
+$a->strings["Tag term:"] = "Теги:";
+$a->strings["Save to Folder:"] = "Сохранить в папку:";
+$a->strings["Where are you right now?"] = "Где вы ÑейчаÑ?";
+$a->strings["Expires YYYY-MM-DD HH:MM"] = "";
+$a->strings["Preview"] = "Предварительный проÑмотр";
+$a->strings["Share"] = "ПоделитьÑÑ";
+$a->strings["Page link title"] = "СÑылка заголовока Ñтраницы";
+$a->strings["Upload photo"] = "Загрузить фотографию";
+$a->strings["upload photo"] = "загрузить фотографию";
+$a->strings["Attach file"] = "Прикрепить файл";
+$a->strings["attach file"] = "прикрепить файл";
+$a->strings["Insert web link"] = "Ð’Ñтавить веб-ÑÑылку";
+$a->strings["web link"] = "веб-ÑÑылка";
+$a->strings["Insert video link"] = "Ð’Ñтавить видео-ÑÑылку";
+$a->strings["video link"] = "видео-ÑÑылка";
+$a->strings["Insert audio link"] = "Ð’Ñтавить аудио-ÑÑылку";
+$a->strings["audio link"] = "аудио-ÑÑылка";
+$a->strings["Set your location"] = "Указание Ñвоего раÑположениÑ";
+$a->strings["set location"] = "указание раÑположениÑ";
+$a->strings["Clear browser location"] = "Стереть указание раÑположениÑ";
+$a->strings["clear location"] = "Ñтереть указание раÑположениÑ";
+$a->strings["Set title"] = "Заголовок";
+$a->strings["Categories (comma-separated list)"] = "Категории (ÑпиÑок через запÑтую)";
+$a->strings["Permission settings"] = "ÐаÑтройки разрешений";
+$a->strings["permissions"] = "разрешениÑ";
+$a->strings["Public post"] = "Публичное Ñообщение";
+$a->strings["Example: bob@example.com, mary@example.com"] = "Пример: bob@example.com, mary@example.com";
+$a->strings["Set expiration date"] = "";
+$a->strings["Encrypt text"] = "";
+$a->strings["OK"] = "OK";
+$a->strings["Cancel"] = "Отменить";
+$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"] = "Лента активноÑти - по дате";
+$a->strings["Starred"] = "Помеченные";
+$a->strings["Favourite Posts"] = "Фаворит-ÑообщениÑ";
+$a->strings["Spam"] = "Спам";
+$a->strings["Posts flagged as SPAM"] = "Как СПÐÐœ помеченные ÑообщениÑ";
+$a->strings["Channel"] = "Канал";
+$a->strings["Status Messages and Posts"] = "";
+$a->strings["About"] = "О Ñебе";
+$a->strings["Profile Details"] = "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ профиле";
+$a->strings["Photo Albums"] = "Фотоальбомы";
+$a->strings["Files"] = "Файлы";
+$a->strings["Files and Storage"] = "";
+$a->strings["Events and Calendar"] = "МероприÑÑ‚Ð¸Ñ Ð¸ календарь";
+$a->strings["Webpages"] = "Веб-Ñтраницы";
+$a->strings["Manage Webpages"] = "Управление веб-Ñтраниц";
$a->strings["created a new post"] = "Ñоздал новое Ñообщение";
$a->strings["commented on %s's post"] = "прокомментировал %s's Ñообщение";
-$a->strings["Embedded content"] = "";
-$a->strings["Embedding disabled"] = "";
$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["Male"] = "МужÑкой";
$a->strings["Female"] = "ЖенÑкий";
@@ -363,6 +516,21 @@ $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["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["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."] = "Ваш Ð°Ð´Ñ€ÐµÑ Ñлектронной почты уже зарегиÑтрирован на Ñтом Ñайте.";
@@ -376,106 +544,55 @@ $a->strings["your registration password"] = "Ваш пароль региÑÑ‚Ñ€Ð
$a->strings["Registration details for %s"] = "РегиÑтрационные данные Ð´Ð»Ñ %s";
$a->strings["Account approved."] = "Ðккаунт утвержден.";
$a->strings["Registration revoked for %s"] = "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ð¾Ð·Ð²Ð°Ð½Ð° Ð´Ð»Ñ %s";
-$a->strings["Image/photo"] = "Изображение / фото";
-$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s напиÑал Ñледующее %2\$s %3\$s";
-$a->strings["post"] = "Ñообщение";
-$a->strings["$1 wrote:"] = "$1 пиÑал:";
-$a->strings["Encrypted content"] = "Зашифрованное Ñодержание";
-$a->strings["prev"] = "предыдущий";
-$a->strings["first"] = "первый";
-$a->strings["last"] = "поÑледний";
-$a->strings["next"] = "Ñледующий";
-$a->strings["older"] = "Ñтарший";
-$a->strings["newer"] = "новее";
-$a->strings["No connections"] = "Ðет каналов";
-$a->strings["%d Connection"] = array(
- 0 => "%d канал",
- 1 => "%d канала",
- 2 => "%d каналов",
-);
-$a->strings["View Connections"] = "ПроÑмотр контактов";
-$a->strings["Save"] = "Запомнить";
-$a->strings["poke"] = "подпихнуть";
-$a->strings["poked"] = "подпихнул";
-$a->strings["ping"] = "";
-$a->strings["pinged"] = "";
-$a->strings["prod"] = "";
-$a->strings["prodded"] = "";
-$a->strings["slap"] = "";
-$a->strings["slapped"] = "";
-$a->strings["finger"] = "";
-$a->strings["fingered"] = "";
-$a->strings["rebuff"] = "";
-$a->strings["rebuffed"] = "";
-$a->strings["happy"] = "ÑчаÑтливый";
-$a->strings["sad"] = "";
-$a->strings["mellow"] = "";
-$a->strings["tired"] = "";
-$a->strings["perky"] = "";
-$a->strings["angry"] = "Ñердитый";
-$a->strings["stupified"] = "";
-$a->strings["puzzled"] = "";
-$a->strings["interested"] = "";
-$a->strings["bitter"] = "озлобленный";
-$a->strings["cheerful"] = "";
-$a->strings["alive"] = "";
-$a->strings["annoyed"] = "";
-$a->strings["anxious"] = "";
-$a->strings["cranky"] = "капризный";
-$a->strings["disturbed"] = "вÑтревоженный";
-$a->strings["frustrated"] = "разочарованный";
-$a->strings["motivated"] = "мотивированный";
-$a->strings["relaxed"] = "раÑÑлабленный";
-$a->strings["surprised"] = "удивленный";
-$a->strings["Monday"] = "Понедельник";
-$a->strings["Tuesday"] = "Вторник";
-$a->strings["Wednesday"] = "Среда";
-$a->strings["Thursday"] = "Четверг";
-$a->strings["Friday"] = "ПÑтница";
-$a->strings["Saturday"] = "Суббота";
-$a->strings["Sunday"] = "ВоÑкреÑенье";
-$a->strings["January"] = "Январь";
-$a->strings["February"] = "Февраль";
-$a->strings["March"] = "Март";
-$a->strings["April"] = "Ðпрель";
-$a->strings["May"] = "Май";
-$a->strings["June"] = "Июнь";
-$a->strings["July"] = "Июль";
-$a->strings["August"] = "ÐвгуÑÑ‚";
-$a->strings["September"] = "СентÑбрь";
-$a->strings["October"] = "ОктÑбрь";
-$a->strings["November"] = "ÐоÑбрь";
-$a->strings["December"] = "Декабрь";
-$a->strings["unknown.???"] = "неизвеÑтный.???";
-$a->strings["bytes"] = "байт";
-$a->strings["remove"] = "удалить";
-$a->strings["[remove]"] = "[удалить]";
-$a->strings["Categories:"] = "Категории:";
-$a->strings["Filed under:"] = "Хранить под:";
-$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["Select an alternate language"] = "Выбор альтернативного Ñзыка";
-$a->strings["photo"] = "фото";
-$a->strings["event"] = "мероприÑтие";
-$a->strings["status"] = "ÑтатуÑ";
-$a->strings["comment"] = "комментарий";
-$a->strings["activity"] = "активноÑÑ‚ÑŒ";
-$a->strings["Design"] = "";
-$a->strings["Blocks"] = "";
-$a->strings["Menus"] = "";
-$a->strings["Layouts"] = "";
-$a->strings["Pages"] = "";
-$a->strings["New Page"] = "";
+$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"] = "ÐžÐ¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Red матрицы";
+$a->strings["redmatrix"] = "redmatrix";
+$a->strings["Thank You,"] = "СпаÑибо,";
+$a->strings["%s Administrator"] = "%s админиÑтратор";
+$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
+$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Уведомление] Получено новое Ñообщение в %s";
+$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "";
+$a->strings["%1\$s sent you %2\$s."] = "%1\$s поÑлал вам %2\$s.";
+$a->strings["a private message"] = "личное Ñообщение";
+$a->strings["Please visit %s to view and/or reply to your private messages."] = "ПожалуйÑта, поÑетите %s Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра и/или ответа на ваши личные ÑообщениÑ.";
+$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"] = "[Red:Уведомление] Комментарий к разговору #%1\$d по %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."] = "ПожалуйÑта, поÑетите %s Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра и/или ответа разговора.";
+$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Уведомление] %s добавил Ñообщениe на Ñтену вашего профилÑ";
+$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"] = "[Red:Уведомление] %s добавил у Ð²Ð°Ñ Ñ‚ÐµÐ³";
+$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"] = "[Red:Уведомление] %1\$s подпихнул ваÑ";
+$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"] = "[Red:Уведомление] %s добавил у Ð²Ð°Ñ Ð² Ñообщении тег";
+$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"] = "[Red:Уведомление] введение получено";
+$a->strings["%1\$s, you've received an introduction from '%2\$s' at %3\$s"] = "";
+$a->strings["%1\$s, you've received [zrl=%2\$s]an introduction[/zrl] from %3\$s."] = "";
+$a->strings["You may visit their profile at %s"] = "Ð’Ñ‹ можете поÑетить ​​профиль в %s";
+$a->strings["Please visit %s to approve or reject the introduction."] = "";
+$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Уведомление] Получено предложение дружить";
+$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["Logged out."] = "Вышел из ÑиÑтемы.";
$a->strings["Failed authentication"] = "Ошибка аутентификации";
$a->strings["Login failed."] = "Ðе удалоÑÑŒ войти.";
-$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"] = "Пример: bob@example.com, http://example.com/barbara";
$a->strings["%d invitation available"] = array(
0 => "имеетÑÑ %d приглашение",
1 => "имеютÑÑ %d приглашениÑ",
@@ -487,16 +604,18 @@ $a->strings["Connect/Follow"] = "Подключить/Ñледовать";
$a->strings["Examples: Robert Morgenstein, Fishing"] = "Примеры: Владимир Ильич, Революционер";
$a->strings["Find"] = "ПоиÑк";
$a->strings["Channel Suggestions"] = "Рекомендации каналов";
-$a->strings["Similar Interests"] = "Похожие интереÑÑ‹";
$a->strings["Random Profile"] = "Случайные";
$a->strings["Invite Friends"] = "ПриглаÑить друзей";
-$a->strings["Everything"] = "Ð’Ñе";
-$a->strings["Categories"] = "Категории";
$a->strings["%d connection in common"] = array(
0 => "%d ÑовмеÑтный контакт",
1 => "%d ÑовмеÑтных контакта",
2 => "%d ÑовмеÑтных контактов",
);
+$a->strings["New Page"] = "ÐÐ¾Ð²Ð°Ñ Ñтраница";
+$a->strings["Edit"] = "Редактировать";
+$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["Channel is blocked on this site."] = "Канал блокируетÑÑ Ð½Ð° Ñтом Ñайте.";
$a->strings["Channel location missing."] = "МеÑтоположение канала отÑутÑтвует.";
$a->strings["Channel discovery failed. Website may be down or misconfigured."] = "";
@@ -521,24 +640,73 @@ $a->strings["Can chat with me (when available)"] = "Можете общатьÑÑ
$a->strings["Requires compatible chat plugin"] = "ТребуетÑÑ ÑовмеÑтимый чат-плагин";
$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["Tags"] = "ТÑги";
-$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["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["Default"] = "По умолчанию";
+$a->strings["Unable to obtain identity information from database"] = "Ðевозможно получить идентификационную информацию из базы данных";
+$a->strings["Empty name"] = "ПуÑтое имÑ";
+$a->strings["Name too long"] = "Слишком длинное имÑ";
+$a->strings["No account identifier"] = "идентификатор аккаунта отÑутÑтвует";
+$a->strings["Nickname is required."] = "ТребуетÑÑ Ð¿Ñевдоним.";
+$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["Requested channel is not available."] = "Запрашиваемый канал не доÑтупен.";
+$a->strings[" Sorry, you don't have the permission to view this profile. "] = "";
+$a->strings["Requested profile is not available."] = "Запрашиваемый профиль не доÑтупен.";
+$a->strings["Change profile photo"] = "Изменить фотографию профилÑ";
+$a->strings["Profiles"] = "Профили";
+$a->strings["Manage/edit profiles"] = "Управление / Редактирование профилей";
+$a->strings["Create New Profile"] = "Создать новый профиль";
+$a->strings["Edit Profile"] = "Редактировать профиль";
+$a->strings["Profile Image"] = "Изображение профилÑ";
+$a->strings["visible to everybody"] = "видно вÑем";
+$a->strings["Edit visibility"] = "Редактировать видимоÑÑ‚ÑŒ";
+$a->strings["Gender:"] = "Пол:";
+$a->strings["Status:"] = "СтатуÑ:";
+$a->strings["Homepage:"] = "ДомашнÑÑ Ñтраница:";
+$a->strings["g A l F d"] = "g A l F d";
+$a->strings["F d"] = "F d";
+$a->strings["[today]"] = "[ÑегоднÑ]";
+$a->strings["Birthday Reminders"] = "ÐÐ°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¾ ДнÑÑ… РождениÑ";
+$a->strings["Birthdays this week:"] = "Дни Ð Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð½Ð° Ñтой неделе:";
+$a->strings["[No description]"] = "[без опиÑаниÑ]";
+$a->strings["Event Reminders"] = "ÐÐ°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¼ÐµÑ€Ð¾Ð¿Ñ€Ð¸Ñтий";
+$a->strings["Events this week:"] = "МероприÑÑ‚Ð¸Ñ Ð½Ð° Ñтой неделе:";
+$a->strings["Profile"] = "Профиль";
+$a->strings["Full Name:"] = "Полное имÑ:";
+$a->strings["j F, Y"] = "j F, Y";
+$a->strings["j F"] = "j F";
+$a->strings["Birthday:"] = "День РождениÑ:";
+$a->strings["Age:"] = "ВозраÑÑ‚:";
+$a->strings["for %1\$d %2\$s"] = "Ð´Ð»Ñ %1\$d %2\$s";
+$a->strings["Sexual Preference:"] = "СекÑÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ:";
+$a->strings["Hometown:"] = "Родной город:";
+$a->strings["Tags:"] = "ТÑги:";
+$a->strings["Political Views:"] = "ПолитичеÑкие взглÑды:";
+$a->strings["Religion:"] = "РелигиÑ:";
+$a->strings["About:"] = "О Ñебе:";
+$a->strings["Hobbies/Interests:"] = "Хобби / интереÑÑ‹:";
+$a->strings["Likes:"] = "Что вам нравитÑÑ:";
+$a->strings["Dislikes:"] = "Что вам не нравитÑÑ:";
+$a->strings["Contact information and Social Networks:"] = "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ Ñоциальные Ñети контакта:";
+$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["Permission denied"] = "ДоÑтуп запрещен";
+$a->strings["Item not found."] = "Элемент не найден.";
+$a->strings["Collection not found."] = "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð½Ðµ найдена.";
+$a->strings["Collection is empty."] = "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð¿ÑƒÑта.";
+$a->strings["Collection: %s"] = "Коллекции: %s";
+$a->strings["Connection: %s"] = "Контакты: %s";
+$a->strings["Connection not found."] = "Контакт не найден.";
$a->strings["Private Message"] = "Личное Ñообщение";
-$a->strings["Edit"] = "Редактировать";
-$a->strings["Delete"] = "Удалить";
-$a->strings["Select"] = "Выбрать";
$a->strings["save to folder"] = "Ñохранить в папку";
$a->strings["add star"] = "добавить маркировку";
$a->strings["remove star"] = "удалить маркировку";
@@ -551,10 +719,10 @@ $a->strings["Share this"] = "ПоделитьÑÑ Ñтим";
$a->strings["share"] = "поделитьÑÑ";
$a->strings["View %s's profile - %s"] = "ПроÑмотр %s's Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ - %s";
$a->strings["to"] = "к";
+$a->strings["via"] = "через";
$a->strings["Wall-to-Wall"] = "Стена-к-Стене";
$a->strings["via Wall-To-Wall:"] = "через Стена-к-Стене:";
-$a->strings[" from %s"] = " от %s";
-$a->strings["Please wait"] = "Подождите пожалуйÑта";
+$a->strings["Expires: %s"] = "";
$a->strings["%d comment"] = array(
0 => "%d комментарий",
1 => "%d комментариÑ",
@@ -570,61 +738,6 @@ $a->strings["Code"] = "Код";
$a->strings["Image"] = "Изображение";
$a->strings["Link"] = "СÑылка";
$a->strings["Video"] = "Видео";
-$a->strings["Preview"] = "Предварительный проÑмотр";
-$a->strings["channel"] = "канал";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s нравитÑÑ %2\$s's %3\$s";
-$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s не нравитÑÑ %2\$s's %3\$s";
-$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s теперь Ñоединен Ñ %2\$s";
-$a->strings["%1\$s poked %2\$s"] = "%1\$s подпихнул %2\$s";
-$a->strings["%1\$s is currently %2\$s"] = "%1\$s в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ %2\$s";
-$a->strings["View %s's profile @ %s"] = "ПроÑмотр %s's Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ @ %s";
-$a->strings["View in context"] = "Показать в контекÑте";
-$a->strings["Loading..."] = "Загрузка...";
-$a->strings["Delete Selected Items"] = "Удалить выбранные Ñлементы";
-$a->strings["Follow Thread"] = "Следобать теме";
-$a->strings["%s likes this."] = "%s нравитÑÑ Ñто.";
-$a->strings["%s doesn't like this."] = "%s не нравитÑÑ Ñто.";
-$a->strings["<span %1\$s>%2\$d people</span> like this."] = "<span %1\$s>%2\$d чел.</span> нравитÑÑ Ñто.";
-$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = "<span %1\$s>%2\$d чел.</span> не нравитÑÑ Ñто.";
-$a->strings["and"] = "и";
-$a->strings[", and %d other people"] = ", и %d другие люди";
-$a->strings["%s like this."] = "%s нравитÑÑ Ñто.";
-$a->strings["%s don't like this."] = "%s не нравитÑÑ Ñто.";
-$a->strings["Visible to <strong>everybody</strong>"] = "Видно Ð´Ð»Ñ <strong>вÑех</strong>";
-$a->strings["Please enter a link URL:"] = "ПожалуйÑта, введите URL ÑÑылки:";
-$a->strings["Please enter a video link/URL:"] = "ПожалуйÑта, введите URL видео-ÑÑылки:";
-$a->strings["Please enter an audio link/URL:"] = "ПожалуйÑта, введите URL аудио-ÑÑылки:";
-$a->strings["Tag term:"] = "Теги:";
-$a->strings["Save to Folder:"] = "Сохранить в папку:";
-$a->strings["Where are you right now?"] = "Где вы ÑейчаÑ?";
-$a->strings["Share"] = "ПоделитьÑÑ";
-$a->strings["Page link title"] = "СÑылка заголовока Ñтраницы";
-$a->strings["Upload photo"] = "Загрузить фотографию";
-$a->strings["upload photo"] = "загрузить фотографию";
-$a->strings["Attach file"] = "Прикрепить файл";
-$a->strings["attach file"] = "прикрепить файл";
-$a->strings["Insert web link"] = "Ð’Ñтавить веб-ÑÑылку";
-$a->strings["web link"] = "веб-ÑÑылка";
-$a->strings["Insert video link"] = "Ð’Ñтавить видео-ÑÑылку";
-$a->strings["video link"] = "видео-ÑÑылка";
-$a->strings["Insert audio link"] = "Ð’Ñтавить аудио-ÑÑылку";
-$a->strings["audio link"] = "аудио-ÑÑылка";
-$a->strings["Set your location"] = "Указание Ñвоего раÑположениÑ";
-$a->strings["set location"] = "указание раÑположениÑ";
-$a->strings["Clear browser location"] = "Стереть указание раÑположениÑ";
-$a->strings["clear location"] = "Ñтереть указание раÑположениÑ";
-$a->strings["Set title"] = "Заголовок";
-$a->strings["Categories (comma-separated list)"] = "Категории (ÑпиÑок через запÑтую)";
-$a->strings["Permission settings"] = "ÐаÑтройки разрешений";
-$a->strings["permissions"] = "разрешениÑ";
-$a->strings["Public post"] = "Публичное Ñообщение";
-$a->strings["Example: bob@example.com, mary@example.com"] = "Пример: bob@example.com, mary@example.com";
-$a->strings["Permission denied"] = "ДоÑтуп запрещен";
-$a->strings["Item not found."] = "Элемент не найден.";
-$a->strings["Archives"] = "Ðрхивы";
-$a->strings["Collection not found."] = "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð½Ðµ найдена.";
-$a->strings["Collection has no members."] = "Ð’ коллекции нет ни одного пользователÑ.";
-$a->strings["Connection not found."] = "Контакт не найден.";
$a->strings["Welcome "] = "Добро пожаловать";
$a->strings["Please upload a profile photo."] = "Загрузите пожалуйÑта фотографию профилÑ.";
$a->strings["Welcome back "] = "Добро пожаловать";
@@ -652,16 +765,19 @@ $a->strings["Adjust for viewer timezone"] = "Отрегулируйте Ð´Ð»Ñ Ð
$a->strings["Description:"] = "ОпиÑание:";
$a->strings["Title:"] = "Заголовок:";
$a->strings["Share this event"] = "ПоделитьÑÑ Ñтим мероприÑтием";
+$a->strings["Thing updated"] = "";
$a->strings["Object store: failed"] = "";
-$a->strings["thing/stuff added"] = "";
+$a->strings["Thing added"] = "";
$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "";
-$a->strings["not yet implemented."] = "еще не реализовано.";
-$a->strings["Add Stuff to your Profile"] = "";
+$a->strings["Show Thing"] = "";
+$a->strings["item not found."] = "Элемент не найден.";
+$a->strings["Edit Thing"] = "";
$a->strings["Select a profile"] = "Выберите профиль";
$a->strings["Select a category of stuff. e.g. I ______ something"] = "";
-$a->strings["Name of thing or stuff e.g. something"] = "";
-$a->strings["URL of thing or stuff (optional)"] = "";
-$a->strings["URL for photo of thing or stuff (optional)"] = "";
+$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["Total invitation limit exceeded."] = "";
$a->strings["%s : Not a valid email address."] = "%s : Ðе дейÑтвительный Ð°Ð´Ñ€ÐµÑ Ñлектронной почты.";
$a->strings["Please join us on Red"] = "ПожалуйÑта, приÑоединÑйтеÑÑŒ к нам в Red";
@@ -676,14 +792,88 @@ $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 social and information tool."] = "";
+$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 will need to supply this invitation code: \$invite_code"] = "";
$a->strings["Please visit my channel at"] = "ПожалуйÑта, поÑетите мой канал на";
-$a->strings["Once you have registered, please connect with my Red Matrix channel address:"] = "";
+$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["Friends of %s"] = "Ð”Ñ€ÑƒÐ·ÑŒÑ %s";
-$a->strings["No friends to display."] = "Ðет друзей Ð´Ð»Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°.";
-$a->strings["Requested profile is not available."] = "Запрашиваемый профиль не доÑтупен.";
+$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["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["Contact has been removed."] = "Канал удален.";
+$a->strings["View %s's profile"] = "ПроÑмотр %s's профилÑ";
+$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["Unknown"] = "ÐеизвеÑтный";
+$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["Forum Members"] = "УчаÑтники форума";
+$a->strings["Soapbox"] = "Soapbox";
+$a->strings["Full Sharing"] = "Полный обмен";
+$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. Changing those inherited settings on this page will have no effect."] = "";
+$a->strings["Advanced Permissions"] = "Дополнительные разрешениÑ";
+$a->strings["Quick Links"] = "БыÑтрые ÑÑылки";
+$a->strings["Visit %s's profile - %s"] = "ПоÑетить %s's ​​профиль - %s";
+$a->strings["Block/Unblock contact"] = "Запретить/разрешить контакт";
+$a->strings["Ignore contact"] = "Игнорировать контакт";
+$a->strings["Repair URL settings"] = "Ремонт наÑтройки URL";
+$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["View"] = "ПроÑмотр";
$a->strings["Authorize application connection"] = "";
$a->strings["Return to your app and insert this Securty Code:"] = "";
@@ -691,11 +881,11 @@ $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["Yes"] = "Да";
$a->strings["No"] = "Ðет";
-$a->strings["You must be logged in to see this page."] = "";
$a->strings["No installed applications."] = "Ðет уÑтановленных приложений.";
$a->strings["Applications"] = "ПриложениÑ";
$a->strings["Invalid item."] = "ÐедейÑтвительный Ñлемент.";
$a->strings["Channel not found."] = "Канал не найден.";
+$a->strings["Page not found."] = "Страница не найдена.";
$a->strings["Item not available."] = "Элемент недоÑтупен.";
$a->strings["Red Matrix Server - Setup"] = "Red Matrix Сервер - УÑтановка";
$a->strings["Could not connect to database."] = "Ðе удалоÑÑŒ подключитьÑÑ Ðº Ñерверу баз данных.";
@@ -760,6 +950,8 @@ $a->strings["In order to store these compiled templates, the web server needs to
$a->strings["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 view/tpl/smarty3/ only--not the template files (.tpl) that it contains."] = "";
$a->strings["view/tpl/smarty3 is writable"] = "view/tpl/smarty3 доÑтупен Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи";
+$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->strings["store is writable"] = "";
$a->strings["SSL certificate validation"] = "проверка Ñертификата SSL";
$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "";
$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "";
@@ -768,115 +960,11 @@ $a->strings["The database configuration file \".htconfig.php\" could not be writ
$a->strings["Errors encountered creating database tables."] = "";
$a->strings["<h1>What next</h1>"] = "<h1>Что дальше</h1>";
$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "";
+$a->strings["Edit post"] = "Редактировать Ñообщение";
$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s Ñледит %2\$s's %3\$s";
$a->strings["[Embedded content - reload page to view]"] = "";
$a->strings["toggle full screen mode"] = "переключение полноÑкранного режима";
$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "";
-$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["Missing some important data!"] = "ОтÑутÑтвуют некоторые важные данные!";
-$a->strings["Update"] = "Обновление";
-$a->strings["Passwords do not match. Password unchanged."] = "Пароли не Ñовпадают. Пароль не изменён.";
-$a->strings["Empty passwords are not allowed. Password unchanged."] = "ПуÑтые пароли не допуÑкаютÑÑ. Пароль не изменён.";
-$a->strings["Password changed."] = "Пароль изменен.";
-$a->strings["Password update failed. Please try again."] = "Изменение Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð·Ð°ÐºÐ¾Ð½Ñ‡Ð¸Ð»Ð¾ÑÑŒ неуÑпешно. ПожалуйÑта, попробуйте еще раз.";
-$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["Add application"] = "Добавить приложениÑ";
-$a->strings["Cancel"] = "Отменить";
-$a->strings["Name"] = "ИмÑ";
-$a->strings["Consumer Key"] = "Ключ клиента";
-$a->strings["Consumer Secret"] = "Секрет клиента";
-$a->strings["Redirect"] = "Перенаправление";
-$a->strings["Icon url"] = "URL-Ð°Ð´Ñ€ÐµÑ Ð·Ð½Ð°Ñ‡ÐºÐ°";
-$a->strings["You can't edit this application."] = "Ð’Ñ‹ не можете редактировать Ñто приложение.";
-$a->strings["Connected Apps"] = "Подключенные приложениÑ";
-$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["Account Settings"] = "ÐаÑтройки аккаунта";
-$a->strings["Password Settings"] = "ÐаÑтройки паролÑ";
-$a->strings["New Password:"] = "Ðовый пароль:";
-$a->strings["Confirm:"] = "Подтверждение:";
-$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["Off"] = "Выкл.";
-$a->strings["On"] = "Вкл.";
-$a->strings["Additional Features"] = "Дополнительные функции";
-$a->strings["Connector Settings"] = "ÐаÑтройки ÑоединителÑ";
-$a->strings["No special theme for mobile devices"] = "Ðет Ñпециальной темы Ð´Ð»Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ñ… уÑтройÑтв";
-$a->strings["Display Settings"] = "ÐаÑтройки отображениÑ";
-$a->strings["Display Theme:"] = "Тема отображениÑ:";
-$a->strings["Mobile Theme:"] = "ÐœÐ¾Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ñ‚ÐµÐ¼Ð° отображениÑ:";
-$a->strings["Update browser every xx seconds"] = "Обновление браузера каждые ХХ Ñекунд";
-$a->strings["Minimum of 10 seconds, no maximum"] = "Минимум 10 Ñекунд, без макÑимума";
-$a->strings["Maximum number of conversations to load at any time:"] = "";
-$a->strings["Maximum of 100 items"] = "МакÑимум 100 Ñлементов";
-$a->strings["Don't show emoticons"] = "Ðе показывать emoticons";
-$a->strings["Nobody except yourself"] = "Ðикто, кроме ваÑ";
-$a->strings["Only those you specifically allow"] = "Только комы вы разрешили";
-$a->strings["Anybody in your address book"] = "Любой в вашей адреÑной книге";
-$a->strings["Anybody on this website"] = "Любой на Ñтом веб-Ñайте";
-$a->strings["Anybody in this network"] = "Любой в Ñтой Ñети";
-$a->strings["Anybody on the internet"] = "Любой в интернете";
-$a->strings["Publish your default profile in the network directory"] = "ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ð¾ умолчанию в каталоге Ñети";
-$a->strings["Allow us to suggest you as a potential friend to new members?"] = "";
-$a->strings["or"] = "или";
-$a->strings["Your channel address is"] = "ÐÐ´Ñ€ÐµÑ Ð²Ð°ÑˆÐµÐ³Ð¾ канала:";
-$a->strings["Automatically expire posts after this many days:"] = "";
-$a->strings["If empty, posts will not expire. Expired posts will be deleted"] = "";
-$a->strings["Advanced expiration settings"] = "";
-$a->strings["Advanced Expiration"] = "Дополнительное иÑтечение Ñрока давноÑти";
-$a->strings["Expire posts:"] = "";
-$a->strings["Expire starred posts:"] = "";
-$a->strings["Expire photos:"] = "";
-$a->strings["Only expire posts by others:"] = "";
-$a->strings["Channel Settings"] = "ÐаÑтройки канала";
-$a->strings["Basic Settings"] = "ОÑновные наÑтройки";
-$a->strings["Your Timezone:"] = "Ваш чаÑовой поÑÑ:";
-$a->strings["Default Post Location:"] = "Откуда по умолчанию:";
-$a->strings["Use Browser Location:"] = "ИÑпользуйте указание браузерa:";
-$a->strings["Security and Privacy Settings"] = "Параметры безопаÑноÑти и конфиденциальноÑти";
-$a->strings["Quick Privacy Settings:"] = "БыÑтрые параметры безопаÑноÑти и конфиденциальноÑти:";
-$a->strings["Very Public - extremely permissive"] = "Очень публично - чрезвычайно разрешающе";
-$a->strings["Typical - default public, privacy when desired"] = "Типично - по умолчанию публично, конфиденциальноÑÑ‚ÑŒ, только еÑли наÑтроена";
-$a->strings["Private - default private, rarely open or public"] = "ЧаÑтно - по умолчанию чаÑтно, редко открыто или публично";
-$a->strings["Blocked - default blocked to/from everybody"] = "Заблокированно - по умолчанию заблокировано длÑ/от вÑех";
-$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["Maximum private messages per day from unknown people:"] = "";
-$a->strings["Useful to reduce spamming"] = "";
-$a->strings["Notification Settings"] = "ÐаÑтройки уведомлений";
-$a->strings["By default post a status message when:"] = "";
-$a->strings["accepting a friend request"] = "";
-$a->strings["joining a forum/community"] = "";
-$a->strings["making an <em>interesting</em> profile change"] = "";
-$a->strings["Send a notification email when:"] = "Отправить уведомление по Ñлектронной почте, еÑли:";
-$a->strings["You receive an introduction"] = "Вы получили введение";
-$a->strings["Your introductions are confirmed"] = "";
-$a->strings["Someone writes on your profile wall"] = "";
-$a->strings["Someone writes a followup comment"] = "";
-$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["Advanced Account/Page Type Settings"] = "";
-$a->strings["Change the behaviour of this account for special situations"] = "";
$a->strings["Public access denied."] = "ОбщеÑтвенный доÑтуп запрещен.";
$a->strings["No connections."] = "Ðикаких ÑвÑзей.";
$a->strings["Visit %s's profile [%s]"] = "ПоÑетить %s's ​​профиль [%s]";
@@ -902,45 +990,181 @@ $a->strings["Existing Page Delegates"] = "";
$a->strings["Potential Delegates"] = "";
$a->strings["Add"] = "Добавить";
$a->strings["No entries."] = "Ðет запиÑей.";
-$a->strings["Age: "] = "ВозраÑÑ‚:";
-$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["People Search"] = "ПоиÑк людей";
-$a->strings["No matches"] = "Ðет ÑоответÑтвий";
-$a->strings["Menu not found."] = "";
-$a->strings["Menu element updated."] = "";
+$a->strings["Failed to create source. No channel selected."] = "";
+$a->strings["Source created."] = "";
+$a->strings["Source updated."] = "";
+$a->strings["Manage remote sources of content for your channel."] = "";
+$a->strings["New Source"] = "";
+$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "";
+$a->strings["Only import content with these words (one per line)"] = "";
+$a->strings["Leave blank to import all public content"] = "";
+$a->strings["Channel Name"] = "Ð˜Ð¼Ñ ÐºÐ°Ð½Ð°Ð»Ð°";
+$a->strings["Source not found."] = "";
+$a->strings["Edit Source"] = "";
+$a->strings["Delete Source"] = "";
+$a->strings["Source removed"] = "";
+$a->strings["Unable to remove source."] = "";
+$a->strings["Theme settings updated."] = "ÐаÑтройки темы обновленны.";
+$a->strings["Site"] = "Сайт";
+$a->strings["Users"] = "Пользователи";
+$a->strings["Plugins"] = "Плагины";
+$a->strings["Themes"] = "Темы";
+$a->strings["Server"] = "Сервер";
+$a->strings["DB updates"] = "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ñ‹ данных";
+$a->strings["Logs"] = "Журналы";
+$a->strings["Plugin Features"] = "Функции плагинов";
+$a->strings["User registrations waiting for confirmation"] = "РегиÑтрации пользователей, которые ждут подтверждениÑ";
+$a->strings["Message queues"] = "Очередь недоÑтавленных Ñообщений";
+$a->strings["Administration"] = "ÐдминиÑтрациÑ";
+$a->strings["Summary"] = "Резюме";
+$a->strings["Registered users"] = "Ð’Ñего пользователeй";
+$a->strings["Pending registrations"] = "Ждут утверждениÑ";
+$a->strings["Version"] = "ВерÑÐ¸Ñ ÑиÑтемы";
+$a->strings["Active plugins"] = "Ðктивные плагины";
+$a->strings["Site settings updated."] = "ÐаÑтройки Ñайта обновлены.";
+$a->strings["No special theme for mobile devices"] = "Ðет Ñпециальной темы Ð´Ð»Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ñ… уÑтройÑтв";
+$a->strings["No special theme for accessibility"] = "";
+$a->strings["Closed"] = "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð°";
+$a->strings["Requires approval"] = "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ подтверждениÑ";
+$a->strings["Open"] = "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð°";
+$a->strings["Private"] = "Личный доÑтуп";
+$a->strings["Paid Access"] = "Платный доÑтуп";
+$a->strings["Free Access"] = "Свободный доÑтуп";
+$a->strings["Tiered Access"] = "";
+$a->strings["Registration"] = "РегиÑтрациÑ";
+$a->strings["File upload"] = "Загрузка файла";
+$a->strings["Policies"] = "Правила";
+$a->strings["Advanced"] = "Дополнительно";
+$a->strings["Site name"] = "Ðазвание Ñайта";
+$a->strings["Banner/Logo"] = "Баннер / логотип";
+$a->strings["System language"] = "Язык ÑиÑтемы";
+$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["Maximum image size"] = "МакÑимальный размер";
+$a->strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "";
+$a->strings["Register policy"] = "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ñ€ÐµÐ³Ð¸Ñтрации";
+$a->strings["Access policy"] = "Правила доÑтупа";
+$a->strings["Register text"] = "ТекÑÑ‚ региÑтрации";
+$a->strings["Will be displayed prominently on the registration page."] = "";
+$a->strings["Accounts abandoned after x days"] = "";
+$a->strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "";
+$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["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["Force publish"] = "ЗаÑтавить публиковать";
+$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "";
+$a->strings["No login on 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)."] = "";
+$a->strings["Proxy user"] = "Proxy пользователь";
+$a->strings["Proxy URL"] = "Proxy URL";
+$a->strings["Network timeout"] = "Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ñети";
+$a->strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "";
+$a->strings["Delivery interval"] = "Интервал доÑтавки";
+$a->strings["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."] = "";
+$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["No server found"] = "Сервер не найден";
+$a->strings["ID"] = "ID";
+$a->strings["for channel"] = "";
+$a->strings["on server"] = "";
+$a->strings["Status"] = "СтатуÑ";
+$a->strings["Update has been marked successful"] = "";
+$a->strings["Executing %s failed. Check system logs."] = "";
+$a->strings["Update %s was successfully applied."] = "";
+$a->strings["Update %s did not return a status. Unknown if it succeeded."] = "";
+$a->strings["Update function %s could not be found."] = "";
+$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["%s user blocked/unblocked"] = array(
+ 0 => "",
+ 1 => "",
+ 2 => "",
+);
+$a->strings["%s user deleted"] = array(
+ 0 => "%s канал удален",
+ 1 => "%s канала удалены",
+ 2 => "%s каналов удалено",
+);
+$a->strings["Account not found"] = "Ðккаунт не найден";
+$a->strings["User '%s' deleted"] = "Пользователь '%s' удален";
+$a->strings["User '%s' unblocked"] = "Пользователь '%s' разрешен";
+$a->strings["User '%s' blocked"] = "Пользователь '%s' заблокирован";
+$a->strings["select all"] = "выбрать вÑе";
+$a->strings["User registrations waiting for confirm"] = "РегиÑтрации пользователей ждут подтверждениÑ";
+$a->strings["Request date"] = "Дата запроÑа";
+$a->strings["Name"] = "ИмÑ";
+$a->strings["No registrations."] = "Ðовых региÑтраций пока нет.";
+$a->strings["Approve"] = "Утвердить";
+$a->strings["Deny"] = "Запретить";
+$a->strings["Register date"] = "Дата региÑтрации";
+$a->strings["Last login"] = "ПоÑледний вход";
+$a->strings["Expires"] = "";
+$a->strings["Service Class"] = "КлаÑÑ Ñлужбы";
+$a->strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "";
+$a->strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "";
+$a->strings["Plugin %s disabled."] = "Плагин %s отключен.";
+$a->strings["Plugin %s enabled."] = "Плагин %s включен.";
+$a->strings["Disable"] = "Запретить";
+$a->strings["Enable"] = "Разрешить";
+$a->strings["Toggle"] = "Переключить";
+$a->strings["Author: "] = "Ðвтор: ";
+$a->strings["Maintainer: "] = "ОбÑлуживающий: ";
+$a->strings["No themes found."] = "Темы не найдены.";
+$a->strings["Screenshot"] = "Скриншот";
+$a->strings["[Experimental]"] = "[ÑкÑпериментальный]";
+$a->strings["[Unsupported]"] = "[неподдерживаемый]";
+$a->strings["Log settings updated."] = "ÐаÑтройки журнала обновленны.";
+$a->strings["Clear"] = "ОчиÑтить";
+$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["Menu not found."] = "Меню не найдено.";
+$a->strings["Menu element updated."] = "Меню обновлено.";
$a->strings["Unable to update menu element."] = "";
-$a->strings["Menu element added."] = "";
+$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 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["Add menu element"] = "Добавить Ñлемент меню";
$a->strings["Delete this menu item"] = "";
$a->strings["Edit this menu item"] = "";
-$a->strings["New Menu Element"] = "";
-$a->strings["Link text"] = "";
+$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["Create"] = "Создать";
-$a->strings["Menu item not found."] = "";
+$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["Edit Menu Element"] = "Редактировать Ñлемент меню";
$a->strings["Modify"] = "";
$a->strings["Collection created."] = "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ñоздана.";
$a->strings["Could not create collection."] = "Ðе удалоÑÑŒ Ñоздать коллекцию.";
-$a->strings["Collection name changed."] = "Ð˜Ð¼Ñ ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ð¸ изменено.";
+$a->strings["Collection updated."] = "";
$a->strings["Create a collection of channels."] = "Создать коллекцию контактов";
$a->strings["Collection Name: "] = "Ðазвание коллекции:";
$a->strings["Members are visible to other channels"] = "";
@@ -983,169 +1207,38 @@ $a->strings["Add a Tag"] = "Добавить тег";
$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Ðапример: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping";
$a->strings["View Album"] = "ПоÑмотреть фотоальбом";
$a->strings["Recent Photos"] = "ПоÑледние фотографии";
-$a->strings["sent you a private message"] = "отправил вам личное Ñообщение";
-$a->strings["added your channel"] = "добавил ваш канал";
-$a->strings["g A l F d"] = "g A l F d";
-$a->strings["[today]"] = "[ÑегоднÑ]";
-$a->strings["posted an event"] = "";
$a->strings["- select -"] = "- выбрать -";
-$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["New"] = "Ðовые";
-$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["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"] = "Ðазвание меню";
$a->strings["Menu title as seen by others"] = "";
-$a->strings["Menu deleted."] = "";
+$a->strings["Menu deleted."] = "Меню удалено.";
$a->strings["Menu could not be deleted."] = "";
-$a->strings["Edit Menu"] = "";
+$a->strings["Edit Menu"] = "Редактировать меню";
$a->strings["Add or remove entries to this menu"] = "";
$a->strings["Welcome to %s"] = "Добро пожаловать в %s";
-$a->strings["Check Mail"] = "Проверить Ñнова";
-$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["Conversation removed."] = "Разговор удален.";
-$a->strings["Send Private Message"] = "Отправить личное Ñообщение";
-$a->strings["To:"] = "Кому:";
-$a->strings["Subject:"] = "Тема:";
-$a->strings["No messages."] = "Ðет Ñообщений.";
-$a->strings["Delete message"] = "Удалить Ñообщение";
-$a->strings["D, d M Y - g:i A"] = "D, d M Y - g:i A";
-$a->strings["Message not found."] = "Сообщение не найдено.";
-$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["No profile"] = "Профиль отÑутÑтвует";
-$a->strings["Help:"] = "Помощь:";
-$a->strings["Not Found"] = "Ðе найдено";
-$a->strings["Page not found."] = "Страница не найдена.";
-$a->strings["Remote Authentication"] = "Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ";
-$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Введите Ð°Ð´Ñ€ÐµÑ Ð²Ð°ÑˆÐµÐ³Ð¾ канала (например: channel@example.com)";
-$a->strings["Authenticate"] = "Проверка подлинноÑти";
-$a->strings["Remove term"] = "Удалить термин";
-$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["Activity Stream - by date"] = "Лента активноÑти - по дате";
-$a->strings["Starred"] = "Помеченные";
-$a->strings["Favourite Posts"] = "Фаворит-ÑообщениÑ";
-$a->strings["Spam"] = "Спам";
-$a->strings["Posts flagged as SPAM"] = "Как СПÐÐœ помеченные ÑообщениÑ";
-$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["Search Results For:"] = "Результаты поиÑка длÑ:";
-$a->strings["No such group"] = "Ðет такой группы";
-$a->strings["Group is empty"] = "Группа пуÑта";
-$a->strings["Contact: "] = "Канал: ";
-$a->strings["Invalid contact."] = "ÐедейÑтвительный канал.";
-$a->strings["Approve"] = "Утвердить";
-$a->strings["Block"] = "Заблокировать";
-$a->strings["Ignore"] = "Игнорировать";
-$a->strings["Connection updated."] = "Канал обновлен.";
-$a->strings["Connection update failed."] = "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð°.";
-$a->strings["Introductions and Connection Requests"] = "";
-$a->strings["No pending introductions."] = "Введений в ожидании нет.";
-$a->strings["System error. Please try again later."] = "СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. ПожалуйÑта, повторите попытку позже.";
-$a->strings["Hide this contact from others"] = "Скрыть Ñтот канал от других";
-$a->strings["Post a new friend activity"] = "";
-$a->strings["if applicable"] = "еÑли Ñто применимо";
-$a->strings["Discard"] = "Отменить";
-$a->strings["Could not access contact record."] = "";
-$a->strings["Could not locate selected profile."] = "";
-$a->strings["Failed to update connection record."] = "";
-$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["Contact has been removed."] = "Канал удален.";
-$a->strings["View %s's profile"] = "ПроÑмотр %s's профилÑ";
-$a->strings["Refresh Permissions"] = "Обновить разрешениÑ";
-$a->strings["Fetch updated permissions"] = "";
-$a->strings["Unblock"] = "Разрешить";
-$a->strings["Block or Unblock this connection"] = "Запретить или разрешить Ñтот канал";
-$a->strings["Unignore"] = "Ðе игнорировать";
-$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["Unknown"] = "ÐеизвеÑтный";
-$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["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["Forum Members"] = "УчаÑтники форума";
-$a->strings["Soapbox"] = "Soapbox";
-$a->strings["Full Sharing"] = "Полный обмен";
-$a->strings["Cautious Sharing"] = "";
-$a->strings["Follow Only"] = "Только Ñледовать";
-$a->strings["Individual Permissions"] = "Индивидуальные разрешениÑ";
-$a->strings["Individual permissions are only enabled for <a href=\"settings\">privacy settings</a> which are set to \"Only those you specifically allow\". Otherwise they are controlled by your privacy settings."] = "";
-$a->strings["Advanced Permissions"] = "Дополнительные разрешениÑ";
-$a->strings["Quick Links"] = "БыÑтрые ÑÑылки";
-$a->strings["Visit %s's profile - %s"] = "ПоÑетить %s's ​​профиль - %s";
-$a->strings["Block/Unblock contact"] = "Запретить/разрешить контакт";
-$a->strings["Ignore contact"] = "Игнорировать контакт";
-$a->strings["Repair URL settings"] = "Ремонт наÑтройки URL";
-$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["Replies/likes to your public posts <strong>may</strong> still be visible"] = "";
+$a->strings["Age: "] = "ВозраÑÑ‚:";
+$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["Blocked"] = "Заблокированные";
$a->strings["Ignored"] = "Игнорируемые";
$a->strings["Hidden"] = "Скрытые";
$a->strings["Archived"] = "Зархивированные";
$a->strings["All"] = "Ð’Ñе";
-$a->strings["Suggestions"] = "Рекомендации";
$a->strings["Suggest new connections"] = "Предлагать новые контакты";
$a->strings["Show pending (new) connections"] = "ПроÑмотр (новых) ждущих контактов";
$a->strings["All Connections"] = "Ð’Ñе контакты";
@@ -1160,9 +1253,27 @@ $a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
$a->strings["Edit contact"] = "Редактировать контакт";
$a->strings["Search your connections"] = "ПоиÑк ваших ÑвÑзей";
$a->strings["Finding: "] = "ПоиÑк:";
+$a->strings["Layout Help"] = "";
+$a->strings["Help with this feature"] = "";
+$a->strings["Layout Name"] = "";
+$a->strings["Help:"] = "Помощь:";
+$a->strings["Not Found"] = "Ðе найдено";
+$a->strings["Remote Authentication"] = "Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ";
+$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Введите Ð°Ð´Ñ€ÐµÑ Ð²Ð°ÑˆÐµÐ³Ð¾ канала (например: channel@example.com)";
+$a->strings["Authenticate"] = "Проверка подлинноÑти";
+$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["Channel added."] = "Контакт добавлен.";
+$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["This site is not a directory server"] = "Этот Ñайт не ÑвлÑетÑÑ Ñервером каталога";
$a->strings["Remote privacy information not available."] = "";
$a->strings["Visible to:"] = "Кому видно:";
+$a->strings["Hub not found."] = "Hub не найден.";
$a->strings["Profile not found."] = "Профиль не найден.";
$a->strings["Profile deleted."] = "Профиль удален.";
$a->strings["Profile-"] = "Профиль-";
@@ -1222,137 +1333,25 @@ $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["Edit/Manage Profiles"] = "Редактирование / Управление профилей";
-$a->strings["Change profile photo"] = "Изменить фотографию профилÑ";
-$a->strings["Create New Profile"] = "Создать новый профиль";
-$a->strings["Profile Image"] = "Изображение профилÑ";
-$a->strings["visible to everybody"] = "видно вÑем";
-$a->strings["Edit visibility"] = "Редактировать видимоÑÑ‚ÑŒ";
+$a->strings["Add profile things"] = "";
+$a->strings["Include desirable objects in your profile"] = "";
$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["Channel Name"] = "Ð˜Ð¼Ñ ÐºÐ°Ð½Ð°Ð»Ð°";
$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["Theme settings updated."] = "ÐаÑтройки темы обновленны.";
-$a->strings["Site"] = "Сайт";
-$a->strings["Users"] = "Пользователи";
-$a->strings["Plugins"] = "Плагины";
-$a->strings["Themes"] = "Темы";
-$a->strings["DB updates"] = "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ñ‹ данных";
-$a->strings["Logs"] = "Журналы";
-$a->strings["Plugin Features"] = "Функции плагинов";
-$a->strings["User registrations waiting for confirmation"] = "РегиÑтрации пользователей, которые ждут подтверждениÑ";
-$a->strings["Message queues"] = "Очередь недоÑтавленных Ñообщений";
-$a->strings["Administration"] = "ÐдминиÑтрациÑ";
-$a->strings["Summary"] = "Резюме";
-$a->strings["Registered users"] = "Ð’Ñего пользователeй";
-$a->strings["Pending registrations"] = "Ждут утверждениÑ";
-$a->strings["Version"] = "ВерÑÐ¸Ñ ÑиÑтемы";
-$a->strings["Active plugins"] = "Ðктивные плагины";
-$a->strings["Site settings updated."] = "ÐаÑтройки Ñайта обновлены.";
-$a->strings["No special theme for accessibility"] = "";
-$a->strings["Closed"] = "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð°";
-$a->strings["Requires approval"] = "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ подтверждениÑ";
-$a->strings["Open"] = "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð°";
-$a->strings["Private"] = "Личный доÑтуп";
-$a->strings["Paid Access"] = "Платный доÑтуп";
-$a->strings["Free Access"] = "Свободный доÑтуп";
-$a->strings["Registration"] = "РегиÑтрациÑ";
-$a->strings["File upload"] = "Загрузка файла";
-$a->strings["Policies"] = "Правила";
-$a->strings["Advanced"] = "Дополнительно";
-$a->strings["Site name"] = "Ðазвание Ñайта";
-$a->strings["Banner/Logo"] = "Баннер / логотип";
-$a->strings["System language"] = "Язык ÑиÑтемы";
-$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["Maximum image size"] = "МакÑимальный размер";
-$a->strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "";
-$a->strings["Register policy"] = "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ñ€ÐµÐ³Ð¸Ñтрации";
-$a->strings["Access policy"] = "Правила доÑтупа";
-$a->strings["Register text"] = "ТекÑÑ‚ региÑтрации";
-$a->strings["Will be displayed prominently on the registration page."] = "";
-$a->strings["Accounts abandoned after x days"] = "";
-$a->strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "";
-$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["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["Force publish"] = "ЗаÑтавить публиковать";
-$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "";
-$a->strings["Proxy user"] = "Proxy пользователь";
-$a->strings["Proxy URL"] = "Proxy URL";
-$a->strings["Network timeout"] = "Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ñети";
-$a->strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "";
-$a->strings["Delivery interval"] = "Интервал доÑтавки";
-$a->strings["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."] = "";
-$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["Update has been marked successful"] = "";
-$a->strings["Executing %s failed. Check system logs."] = "";
-$a->strings["Update %s was successfully applied."] = "";
-$a->strings["Update %s did not return a status. Unknown if it succeeded."] = "";
-$a->strings["Update function %s could not be found."] = "";
-$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["%s user blocked/unblocked"] = array(
- 0 => "",
- 1 => "",
- 2 => "",
-);
-$a->strings["%s user deleted"] = array(
- 0 => "%s канал удален",
- 1 => "%s канала удалены",
- 2 => "%s каналов удалено",
-);
-$a->strings["Account not found"] = "Ðккаунт не найден";
-$a->strings["User '%s' deleted"] = "Пользователь '%s' удален";
-$a->strings["User '%s' unblocked"] = "Пользователь '%s' разрешен";
-$a->strings["User '%s' blocked"] = "Пользователь '%s' заблокирован";
-$a->strings["Normal Account"] = "Ðормальный аккаунт";
-$a->strings["Soapbox Account"] = "Soapbox аккаунт";
-$a->strings["Community/Celebrity Account"] = "Community/Celebrity аккаунт";
-$a->strings["Automatic Friend Account"] = "Ðккаунт \"автоматичеÑки друзьÑ\"";
-$a->strings["select all"] = "выбрать вÑе";
-$a->strings["User registrations waiting for confirm"] = "РегиÑтрации пользователей ждут подтверждениÑ";
-$a->strings["Request date"] = "Дата запроÑа";
-$a->strings["No registrations."] = "Ðовых региÑтраций пока нет.";
-$a->strings["Deny"] = "Запретить";
-$a->strings["Register date"] = "Дата региÑтрации";
-$a->strings["Last login"] = "ПоÑледний вход";
-$a->strings["Service Class"] = "КлаÑÑ Ñлужбы";
-$a->strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "";
-$a->strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "";
-$a->strings["Plugin %s disabled."] = "Плагин %s отключен.";
-$a->strings["Plugin %s enabled."] = "Плагин %s включен.";
-$a->strings["Disable"] = "Запретить";
-$a->strings["Enable"] = "Разрешить";
-$a->strings["Toggle"] = "Переключить";
-$a->strings["Author: "] = "Ðвтор: ";
-$a->strings["Maintainer: "] = "ОбÑлуживающий: ";
-$a->strings["No themes found."] = "Темы не найдены.";
-$a->strings["Screenshot"] = "Скриншот";
-$a->strings["[Experimental]"] = "[ÑкÑпериментальный]";
-$a->strings["[Unsupported]"] = "[неподдерживаемый]";
-$a->strings["Log settings updated."] = "ÐаÑтройки журнала обновленны.";
-$a->strings["Clear"] = "ОчиÑтить";
-$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["Permission Denied."] = "ДоÑтуп запрещен.";
+$a->strings["File not found."] = "Файл не найден.";
+$a->strings["Edit file permissions"] = "Редактировать Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°";
+$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["Download"] = "";
+$a->strings["Used: "] = "";
+$a->strings["[directory]"] = "";
+$a->strings["Limit: "] = "Предел: ";
$a->strings["No valid account found."] = "ДейÑтвительный аккаунт не найден.";
$a->strings["Password reset request issued. Check your email."] = "";
$a->strings["Site Member (%s)"] = "УчаÑтник Ñайта (%s)";
@@ -1398,30 +1397,123 @@ $a->strings["Average Rating"] = "";
$a->strings["Profile Match"] = "";
$a->strings["No keywords to match. Please add keywords to your default profile."] = "";
$a->strings["is interested in:"] = "заинтереÑован в:";
-$a->strings["Contact settings applied."] = "";
-$a->strings["Contact update failed."] = "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð°.";
-$a->strings["Contact not found."] = "Контакт не найден.";
-$a->strings["Repair Contact Settings"] = "Починить наÑтройки контакта";
-$a->strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working."] = "";
-$a->strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "";
-$a->strings["Return to contact editor"] = "ВернутьÑÑ Ðº редактору контакта";
-$a->strings["Account Nickname"] = "ПÑевдоним аккаунта";
-$a->strings["@Tagname - overrides Name/Nickname"] = "";
-$a->strings["Account URL"] = "URL аккаунта";
-$a->strings["Friend Request URL"] = "";
-$a->strings["Friend Confirm URL"] = "";
-$a->strings["Notification Endpoint URL"] = "";
-$a->strings["Poll/Feed URL"] = "";
-$a->strings["New photo from this URL"] = "Ðовое фото из Ñтого URL";
+$a->strings["No matches"] = "Ðет ÑоответÑтвий";
$a->strings["invalid target signature"] = "";
-$a->strings["Channel added."] = "Контакт добавлен.";
+$a->strings["Name is required"] = "Ðеобходимо имÑ";
+$a->strings["Key and Secret are required"] = "";
+$a->strings["Update"] = "Обновление";
+$a->strings["Passwords do not match. Password unchanged."] = "Пароли не Ñовпадают. Пароль не изменён.";
+$a->strings["Empty passwords are not allowed. Password unchanged."] = "ПуÑтые пароли не допуÑкаютÑÑ. Пароль не изменён.";
+$a->strings["Password changed."] = "Пароль изменен.";
+$a->strings["Password update failed. Please try again."] = "Изменение Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð·Ð°ÐºÐ¾Ð½Ñ‡Ð¸Ð»Ð¾ÑÑŒ неуÑпешно. ПожалуйÑта, попробуйте еще раз.";
+$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["Add application"] = "Добавить приложениÑ";
+$a->strings["Name of application"] = "";
+$a->strings["Consumer Key"] = "Ключ клиента";
+$a->strings["Automatically generated - change if desired. Max length 20"] = "";
+$a->strings["Consumer Secret"] = "Секрет клиента";
+$a->strings["Redirect"] = "Перенаправление";
+$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "";
+$a->strings["Icon url"] = "URL-Ð°Ð´Ñ€ÐµÑ Ð·Ð½Ð°Ñ‡ÐºÐ°";
+$a->strings["Optional"] = "ÐеобÑзательно";
+$a->strings["You can't edit this application."] = "Ð’Ñ‹ не можете редактировать Ñто приложение.";
+$a->strings["Connected Apps"] = "Подключенные приложениÑ";
+$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["Account Settings"] = "ÐаÑтройки аккаунта";
+$a->strings["Password Settings"] = "ÐаÑтройки паролÑ";
+$a->strings["New Password:"] = "Ðовый пароль:";
+$a->strings["Confirm:"] = "Подтверждение:";
+$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["Off"] = "Выкл.";
+$a->strings["On"] = "Вкл.";
+$a->strings["Additional Features"] = "Дополнительные функции";
+$a->strings["Connector Settings"] = "ÐаÑтройки ÑоединителÑ";
+$a->strings["Display Settings"] = "ÐаÑтройки отображениÑ";
+$a->strings["Display Theme:"] = "Тема отображениÑ:";
+$a->strings["Mobile Theme:"] = "ÐœÐ¾Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ñ‚ÐµÐ¼Ð° отображениÑ:";
+$a->strings["Update browser every xx seconds"] = "Обновление браузера каждые ХХ Ñекунд";
+$a->strings["Minimum of 10 seconds, no maximum"] = "Минимум 10 Ñекунд, без макÑимума";
+$a->strings["Maximum number of conversations to load at any time:"] = "";
+$a->strings["Maximum of 100 items"] = "МакÑимум 100 Ñлементов";
+$a->strings["Don't show emoticons"] = "Ðе показывать emoticons";
+$a->strings["Nobody except yourself"] = "Ðикто, кроме ваÑ";
+$a->strings["Only those you specifically allow"] = "Только комы вы разрешили";
+$a->strings["Anybody in your address book"] = "Любой в вашей адреÑной книге";
+$a->strings["Anybody on this website"] = "Любой на Ñтом веб-Ñайте";
+$a->strings["Anybody in this network"] = "Любой в Ñтой Ñети";
+$a->strings["Anybody on the internet"] = "Любой в интернете";
+$a->strings["Publish your default profile in the network directory"] = "ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ð¾ умолчанию в каталоге Ñети";
+$a->strings["Allow us to suggest you as a potential friend to new members?"] = "";
+$a->strings["or"] = "или";
+$a->strings["Your channel address is"] = "ÐÐ´Ñ€ÐµÑ Ð²Ð°ÑˆÐµÐ³Ð¾ канала:";
+$a->strings["Channel Settings"] = "ÐаÑтройки канала";
+$a->strings["Basic Settings"] = "ОÑновные наÑтройки";
+$a->strings["Your Timezone:"] = "Ваш чаÑовой поÑÑ:";
+$a->strings["Default Post Location:"] = "Откуда по умолчанию:";
+$a->strings["Use Browser Location:"] = "ИÑпользуйте указание браузерa:";
+$a->strings["Adult Content"] = "";
+$a->strings["This channel publishes adult content."] = "";
+$a->strings["Security and Privacy Settings"] = "Параметры безопаÑноÑти и конфиденциальноÑти";
+$a->strings["Quick Privacy Settings:"] = "БыÑтрые параметры безопаÑноÑти и конфиденциальноÑти:";
+$a->strings["Very Public - extremely permissive"] = "Очень публично - чрезвычайно разрешающе";
+$a->strings["Typical - default public, privacy when desired"] = "Типично - по умолчанию публично, конфиденциальноÑÑ‚ÑŒ, только еÑли наÑтроена";
+$a->strings["Private - default private, rarely open or public"] = "ЧаÑтно - по умолчанию чаÑтно, редко открыто или публично";
+$a->strings["Blocked - default blocked to/from everybody"] = "Заблокированно - по умолчанию заблокировано длÑ/от вÑех";
+$a->strings["Maximum Friend Requests/Day:"] = "";
+$a->strings["May reduce spam activity"] = "";
+$a->strings["Default Post Permissions"] = "";
+$a->strings["Maximum private messages per day from unknown people:"] = "";
+$a->strings["Useful to reduce spamming"] = "";
+$a->strings["Notification Settings"] = "ÐаÑтройки уведомлений";
+$a->strings["By default post a status message when:"] = "";
+$a->strings["accepting a friend request"] = "";
+$a->strings["joining a forum/community"] = "";
+$a->strings["making an <em>interesting</em> profile change"] = "";
+$a->strings["Send a notification email when:"] = "Отправить уведомление по Ñлектронной почте, еÑли:";
+$a->strings["You receive an introduction"] = "Вы получили введение";
+$a->strings["Your introductions are confirmed"] = "";
+$a->strings["Someone writes on your profile wall"] = "";
+$a->strings["Someone writes a followup comment"] = "";
+$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["Advanced Account/Page Type Settings"] = "";
+$a->strings["Change the behaviour of this account for special situations"] = "";
+$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["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["Item not found"] = "Элемент не найден";
$a->strings["Edit Layout"] = "";
$a->strings["Insert YouTube video"] = "Ð’Ñтавить YouTube видео";
$a->strings["Insert Vorbis [.ogg] video"] = "Ð’Ñтавить Vorbis [.ogg] видео";
$a->strings["Insert Vorbis [.ogg] audio"] = "Ð’Ñтавить Vorbis [.ogg] музыку";
$a->strings["Delete Layout"] = "";
-$a->strings["Contacts who are not members of a group"] = "";
$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."] = "";
@@ -1440,42 +1532,18 @@ $a->strings["Done Editing"] = "Закончить редактирование";
$a->strings["Image uploaded successfully."] = "Загрузка Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÑ Ð¿Ñ€Ð¾ÑˆÐ»Ð° уÑпешно.";
$a->strings["Image upload failed."] = "Загрузка Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÑ Ð¿Ñ€Ð¾ÑˆÐ»Ð° безуÑпешно.";
$a->strings["Image size reduction [%s] failed."] = "";
-$a->strings["Edit Webpage"] = "";
-$a->strings["Delete Webpage"] = "";
+$a->strings["Item is not editable"] = "Элемент Ð½ÐµÐ»ÑŒÐ·Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ";
+$a->strings["Delete item?"] = "Удалить Ñлемент?";
$a->strings["Invalid request identifier."] = "";
-$a->strings["System"] = "СиÑтема";
-$a->strings["Introductions"] = "ВведениÑ";
-$a->strings["Show Ignored Requests"] = "Показать проигнорированные запроÑÑ‹";
-$a->strings["Hide Ignored Requests"] = "Скрыть проигнорированные запроÑÑ‹";
-$a->strings["Notification type: "] = "Тип оповещениÑ:";
-$a->strings["Friend Suggestion"] = "";
-$a->strings["suggested by %s"] = "";
-$a->strings["Claims to be known to you: "] = "";
-$a->strings["yes"] = "да";
-$a->strings["no"] = "нет";
-$a->strings["Approve as: "] = "Утвердить в качеÑтве:";
-$a->strings["Friend"] = "Друг";
-$a->strings["Sharer"] = "";
-$a->strings["Fan/Admirer"] = "Поклонник";
-$a->strings["Friend/Connect Request"] = "";
-$a->strings["New Follower"] = "Ðовый поÑледователь";
-$a->strings["No introductions."] = "Введений нет.";
-$a->strings["%s liked %s's post"] = "%s нравитÑÑ %s's Ñообщение";
-$a->strings["%s disliked %s's post"] = "%s не нравитÑÑ %s's Ñообщение";
-$a->strings["%s is now friends with %s"] = "%s теперь в друзьÑÑ… Ñ %s";
-$a->strings["%s created a new post"] = "%s Ñоздал новое Ñообщение";
-$a->strings["%s commented on %s's post"] = "%s прокомментировал %s's Ñообщение";
-$a->strings["No more network notifications."] = "Ðовых оповещений Ñети пока нет.";
-$a->strings["Network Notifications"] = "ÐžÐ¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ñети";
+$a->strings["Discard"] = "Отменить";
$a->strings["No more system notifications."] = "Ðовых оповещений ÑиÑтемы пока нет.";
$a->strings["System Notifications"] = "СиÑтемные Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ ";
-$a->strings["No more personal notifications."] = "Ðовых личных оповещений пока нет.";
-$a->strings["Personal Notifications"] = "Личные Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ ";
-$a->strings["No more home notifications."] = "Ðовых домашних оповещений пока нет.";
-$a->strings["Home Notifications"] = "Домашние оповещениÑ";
+$a->strings["Block Name"] = "";
+$a->strings["Unable to find your hub."] = "";
$a->strings["Post successful."] = "ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ÑˆÐ»Ð° уÑпешно.";
-$a->strings["Item is not editable"] = "Элемент Ð½ÐµÐ»ÑŒÐ·Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ";
-$a->strings["Edit post"] = "Редактировать Ñообщение";
+$a->strings["Edit Webpage"] = "";
+$a->strings["Delete webpage?"] = "";
+$a->strings["Delete Webpage"] = "";
$a->strings["Access to this profile has been restricted."] = "ДоÑтуп к Ñтому профилю ограничен.";
$a->strings["Poke/Prod"] = "";
$a->strings["poke, prod or do other things to somebody"] = "";
@@ -1483,47 +1551,48 @@ $a->strings["Recipient"] = "Получатель";
$a->strings["Choose what you wish to do to recipient"] = "";
$a->strings["Make this post private"] = "Сделать Ñто Ñообщение личным";
$a->strings["Wall Photos"] = "Стена фотографий";
+$a->strings["You must be logged in to see this page."] = "";
+$a->strings["Insufficient permissions. Request redirected to profile page."] = "";
$a->strings["Not available."] = "ÐедоÑтупно.";
$a->strings["Community"] = "СообщеÑтво";
$a->strings["No results."] = "Ðичего не найдено.";
-$a->strings["Files"] = "Файлы";
+$a->strings["Contact not found."] = "Контакт не найден.";
$a->strings["Friend suggestion sent."] = "";
$a->strings["Suggest Friends"] = "ПриглаÑить друзей";
$a->strings["Suggest a friend for %s"] = "";
-$a->strings["Edit Block"] = "";
-$a->strings["Delete Block"] = "";
+$a->strings["Edit Block"] = "Редактировать блок";
+$a->strings["Delete Block"] = "Удалить блок";
$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 Contacts (with secure profile access)"] = "Ð’Ñе контакты (Ñ Ð´Ð¾Ñтупом защищенному профилю)";
-$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["You have reached your limit of %1$.0f top level posts."] = "";
-$a->strings["You have reached your limit of %1$.0f webpages."] = "";
$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 Red - another decentralized, distributed communications project by the folks at Friendica."] = "";
+$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralised privacy enhanced websites."] = "";
$a->strings["Running at web location"] = "";
-$a->strings["Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn more about the Friendica and/or Red project."] = "";
+$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, donations, etc. - please email \"Info\" at Friendica - dot com"] = "";
+$a->strings["Suggestions, praise, donations, etc. - please email \"redmatrix\" at librelist - dot com"] = "";
$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "";
-$a->strings["Ignore/Hide"] = "Игнорировать / Скрыть";
+$a->strings["Conversation removed."] = "Разговор удален.";
+$a->strings["No messages."] = "Ðет Ñообщений.";
+$a->strings["D, d M Y - g:i A"] = "D, d M Y - g:i A";
$a->strings["Public Sites"] = "";
-$a->strings["Site URL"] = "";
+$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["Site URL"] = "URL веб-Ñайта";
$a->strings["Access Type"] = "";
-$a->strings["Registration Policy"] = "";
+$a->strings["Registration Policy"] = "Правила региÑтрации";
$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["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"] = "";
@@ -1534,51 +1603,94 @@ $a->strings["Your email address"] = "Ваш Ð°Ð´Ñ€ÐµÑ Ñлектронной п
$a->strings["Choose a password"] = "Выберите пароль";
$a->strings["Please re-enter your password"] = "";
$a->strings["Please login."] = "Войдите пожалуйÑта.";
-$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["Remove My Account"] = "Удалить мой аккаунт";
-$a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = "";
+$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["Permission Denied."] = "";
-$a->strings["Download"] = "";
-$a->strings["Used: "] = "";
-$a->strings["Limit: "] = "";
+$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 My Account"] = "Удалить мой аккаунт";
+$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["You have reached your limit of %1$.0f top level posts."] = "";
+$a->strings["You have reached your limit of %1$.0f webpages."] = "";
$a->strings["Mood"] = "";
$a->strings["Set your current mood and tell your friends"] = "";
+$a->strings["sent you a private message"] = "отправил вам личное Ñообщение";
+$a->strings["added your channel"] = "добавил ваш канал";
+$a->strings["posted an event"] = "";
+$a->strings["Status: "] = "";
+$a->strings["Sexual Preference: "] = "СекÑÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ:";
+$a->strings["Homepage: "] = "ДомашнÑÑ Ñтраница:";
+$a->strings["Hometown: "] = "";
+$a->strings["About: "] = "О Ñебе:";
+$a->strings["Keywords: "] = "Ключевые Ñлова:";
+$a->strings["Scheme Default"] = "";
+$a->strings["red"] = "";
+$a->strings["black"] = "";
+$a->strings["silver"] = "";
$a->strings["Theme settings"] = "ÐаÑтройки темы";
+$a->strings["Set scheme"] = "";
+$a->strings["Navigation bar colour"] = "";
+$a->strings["Set font-colour for banner"] = "";
+$a->strings["Set the background colour"] = "";
+$a->strings["Set the background image"] = "";
+$a->strings["Set the background colour of items"] = "";
+$a->strings["Set the opacity of items"] = "";
+$a->strings["Set the basic colour for item icons"] = "";
+$a->strings["Set the hover colour for item icons"] = "";
+$a->strings["Set font-size for the entire application"] = "";
$a->strings["Set font-size for posts and comments"] = "УÑтановить размер шрифта Ð´Ð»Ñ Ñообщений и комментариев";
+$a->strings["Set font-colour 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["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["Schema Default"] = "";
+$a->strings["Sans-Serif"] = "";
+$a->strings["Monospace"] = "";
+$a->strings["Set font face"] = "";
+$a->strings["Set iconset"] = "";
+$a->strings["Set big shadow size, default 15px 15px 15px"] = "";
+$a->strings["Set small shadow size, default 5px 5px 5px"] = "";
+$a->strings["Set shadow colour, default #000"] = "";
+$a->strings["Set radius size, default 5px"] = "";
$a->strings["Set line-height for posts and comments"] = "";
-$a->strings["Set colour scheme"] = "УÑтановите цветовую Ñхему";
-$a->strings["Draw shadows"] = "";
-$a->strings["Navigation bar colour"] = "";
-$a->strings["Display style"] = "Стиль отображениÑ";
-$a->strings["Display colour of links - hex value, do not include the #"] = "";
-$a->strings["Icons"] = "Значки";
-$a->strings["Shiny style"] = "";
-$a->strings["Corner radius"] = "Угловой радиуÑ";
-$a->strings["0-99 default: 5"] = "0-99 по умолчанию: 5";
+$a->strings["Set background image"] = "";
+$a->strings["Set background colour"] = "";
+$a->strings["Set section background image"] = "";
+$a->strings["Set section background colour"] = "";
+$a->strings["Set colour of items - use hex"] = "";
+$a->strings["Set colour of links - use hex"] = "";
+$a->strings["Set max-width for items. Default 400px"] = "";
+$a->strings["Set min-width for items. Default 240px"] = "";
+$a->strings["Set the generic content wrapper width. Default 48%"] = "";
+$a->strings["Set colour of fonts - use hex"] = "";
+$a->strings["Set background-size element"] = "";
+$a->strings["Item opacity"] = "";
+$a->strings["Display post previews only"] = "";
+$a->strings["Display side bar on channel page"] = "";
+$a->strings["Colour of the navigation bar"] = "";
+$a->strings["Item float"] = "";
+$a->strings["Left offset of the section element"] = "";
+$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["Update %s failed. See error logs."] = "";
$a->strings["Update Error at %s"] = "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° %s";
-$a->strings["Create a New Account"] = "Создать новый аккаунт";
+$a->strings["Create an account to access services and applications within the Red Matrix"] = "";
$a->strings["Password"] = "Пароль";
$a->strings["Remember me"] = "Запомнить";
$a->strings["Forgot your password?"] = "Забыли пароль или логин?";
-$a->strings["Requested channel is not available."] = "Запрашиваемый канал не доÑтупен.";
-$a->strings[" Sorry, you don't have the permission to view this profile. "] = "";
-$a->strings["Profiles"] = "Профили";
-$a->strings["Manage/edit profiles"] = "Управление / Редактирование профилей";
-$a->strings["Edit Profile"] = "Редактировать профиль";
-$a->strings["F d"] = "F d";
-$a->strings["Birthday Reminders"] = "ÐÐ°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¾ ДнÑÑ… РождениÑ";
-$a->strings["Birthdays this week:"] = "Дни Ð Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð½Ð° Ñтой неделе:";
-$a->strings["[No description]"] = "[без опиÑаниÑ]";
-$a->strings["Event Reminders"] = "ÐÐ°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¼ÐµÑ€Ð¾Ð¿Ñ€Ð¸Ñтий";
-$a->strings["Events this week:"] = "МероприÑÑ‚Ð¸Ñ Ð½Ð° Ñтой неделе:";
-$a->strings["Channel"] = "Канал";
-$a->strings["Status Messages and Posts"] = "";
-$a->strings["About"] = "О Ñебе";
-$a->strings["Profile Details"] = "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ профиле";
-$a->strings["Events and Calendar"] = "МероприÑÑ‚Ð¸Ñ Ð¸ календарь";
-$a->strings["Webpages"] = "Веб-Ñтраницы";
-$a->strings["Manage Webpages"] = "Управление веб-Ñтраниц";
+$a->strings["permission denied"] = "доÑтуп запрещен";
+$a->strings["Got Zot?"] = "Got Zot?";
$a->strings["toggle mobile"] = "мобильное подключение";
diff --git a/view/theme/redbasic/css/dark.css b/view/theme/redbasic/css/dark.css
deleted file mode 100644
index 3bcf15bc9..000000000
--- a/view/theme/redbasic/css/dark.css
+++ /dev/null
@@ -1,186 +0,0 @@
-/* This file is deprecated. We'll keep it here as reference until somebody
-defines a dark colour scheme */
-
-
-body { font-family: sans-serif;
- font-size: 12px;
- background-color: #101010;
- background-image: -moz-linear-gradient(top, #000 16%, #101010 82%);
- background-image: linear-gradient(bottom, #000 16%, #101010 82%);
- background-image: -o-linear-gradient(bottom, #000 16%, #101010 82%);
- background-image: -webkit-linear-gradient(bottom, #000 16%, #101010 82%);
- background-image: -ms-linear-gradient(bottom, #000 16%, #101010 82%);
- background-repeat: no-repeat;
- background-attachment: fixed;
- color: #eec;
-
-}
-
-aside {
-border: none;
-color: #fff;
-}
-
-.fn {
- color: #fff;
-}
-
-.acl-list-item,
-.profile-jot-net {
- color: #000;
-}
-
-
-.tab.active {
- color: #fff;
-}
-
-blockquote {color: #000;}
-
-.wall-item-content-wrapper {
- background: #262626;
- border-radius: 5px;
- box-shadow: 12px 12px 12px #000;
- margin-bottom: 20px;
-}
-
-.wall-item-content-wrapper.comment {
- margin-left: 50px;
- box-shadow: 5px 5px 5px #000;
-}
-
-.comment-edit-text-empty, .comment-edit-text-full {
- border-radius: 5px 5px 5px 5px;
- box-shadow: 5px 5px 5px #000 inset;
-}
-
-
-#profile-jot-text {
- height: 20px;
- color:#000;
- border: 1px solid #cccccc;
- padding: 8px;
- margin-right: 0px;
- width: 90%;
- -moz-border-radius: 5px;
- border-radius: 5px;
- box-shadow: 4px 4px 3px 0 #666 inset;
-}
-#profile-jot-text:hover {
- color: #000000;
-}
-
-#profile-jot-submit {
- height: auto;
- background-color: #0080FF;
- color: #eeeeec;
- font-weight: bold;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- border-radius: 5px;
- border: 2px outset #222420 !important;
- margin: 0;
- float: right;
- text-shadow: 1px 1px #111;
- width: auto;
- box-shadow: 5px 5px 5px #444;
-}
-
-
-.widget {
- border-bottom: 1px solid #eec;
- padding: 8px;
- margin-top: 5px;
- -moz-border-radius:5px;
- -webkit-border-radius:5px;
- border-radius:5px;
-
-}
-
-nav a,
-nav a:active,
-nav a:visited,
-nav a:link {
- color: #ffffff;
- text-decoration: none;
- outline: none;
-}
-
-.nav-menu.selected a {
- color: #0080ff !important;
-}
-
-nav .nav-menu-icon {
- position: relative;
- height: 22px;
- padding: 5px;
-/* margin: 3px 10px; */
- -moz-border-radius: 5px 5px 0 0;
- -webkit-border-radius: 5px 5px 0 0;
- border-radius: 5px 5px 0 0;
-}
-
-nav .nav-notify {
- background-color: #0080FF;
- color: #fff;
- -moz-border-radius: 5px 5px 5px 5px;
- -webkit-border-radius: 5px 5px 5px 5px;
- border-radius: 5px 5px 5px 5px;
- opacity: 0.6;
- filter:alpha(opacity=60);
-
-}
-.nav-notify:hover, nav .nav-notify.selected span {
- color: #ffffff;
-}
-
-ul.menu-popup {
-
- position: absolute;
- display: none;
- width: 10em;
- background: #000;
- color: #fff;
- padding: 0px;
- list-style: none;
- border-radius: 0px 0px 20px 20px;
- z-index: 100000;
- -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
- -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
- box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-}
-ul.menu-popup a {
- display: block;
- color: #FFFFFF;
- padding: 5px 10px;
- text-decoration: none;
-}
-
-
-ul.menu-popup a:hover {
- background-color: #888888;
- color: #FFFFFF;
-}
-ul.menu-popup .menu-sep {
- border-top: 1px solid #9eabb0;
-}
-
-.wall-item-photo,
-.photo,
-.contact-block-img,
-.my-comment-photo {
- border-radius: 5px;
- box-shadow: 4px 4px 3px #000;
-}
-
-
-div#pagelist-content-wrapper {
-width: 80%;
-background: #111;
-margin-left: auto;
-margin-right: auto;
-}
-
-div.page-list-item {
-margin: 20px;
-}
diff --git a/view/theme/redbasic/css/fancy.css b/view/theme/redbasic/css/fancy.css
deleted file mode 100644
index 9b8899d2f..000000000
--- a/view/theme/redbasic/css/fancy.css
+++ /dev/null
@@ -1,107 +0,0 @@
-/*This file is deprecated. We'll keep it for reference until we provide window decorations */
-
-
-aside {
-border-radius: $radiuspx;}
-
-
-.tab {
- height: auto;
- background-color: #f00;
- color: #fff !important;
- font-weight: bold;
- -webkit-border-radius: $radiuspx;
- -moz-border-radius: $radiuspx;
- border-radius: $radiuspx;
- margin: 0;
- width: auto;
- margin-left: 8px;
- padding: 4px;
- text-align: center;
-}
-.tab:hover, .tab.active:hover {
- background: #d00;
- color: #fff;
- ;
-}
-.tab:active {
- background: #fff;
- color: #f00;
-}
-.tab.active {
- background: #f00;
- color: #fff;
- box-shadow: 3px 3px 3px #333 inset;
- padding: 5px; /* strageness of the human mind - has to be larger than inactive tabs, or it looks smaller than them */
-}
-
-
-
-.wall-item-content-wrapper {
- position: relative;
- border-radius: $radiuspx;
- box-shadow: 8px 8px 8px #000;
- border: 1px solid #eec;
-}
-
-.wall-item-content-wrapper.comment {
- margin-top: 15px;
-}
-
-.wall-item-like:hover, .wall-item-dislike:hover{
-opacity: 1;
-}
-
-.wall-item-author {
- margin-top: 10px;
-}
-
-.comment-edit-wrapper {
- margin-top: 15px;
- background: #ffffff;
- margin-left: 50px;
-}
-
-#profile-jot-submit {
- background-color: #dd0000;
-}
-
-ul.menu-popup {
- background: #dd0000;
- color: #eec;
- border-radius: $radiuspx;
- z-index: 100000;
- -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
- -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
- box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-}
-ul.menu-popup a {
- color: #eec;
-}
-ul.menu-popup a:hover {
- background-color: #eec;
- color: #f00;
-}
-
-section {
-left: 0px;
-width: 800px;
-margin-left: auto;
-margin-right: auto;
-}
-body {background-color: #d00 !important;}
-
-.page-content-wrapper {background: #fff;
- color: #000;
- border-radius: 20px;
- box-shadow: 5px 5px 5px #111;
-}
-
-h3.page-title {
-padding-top: 30px;
- color: #033}
-.page-body {padding: 40px;}
-
-.page-body strong {color: #033;}
-
-.nav-links {margin-top: 5px;}
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index e13bc1edb..02832b5f0 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -91,6 +91,7 @@ blockquote {
border-left: 4px solid #dae4ee;
padding: 0.4em;
color: #000;
+ margin-left: 20px;
}
.ccollapse-wrapper {
@@ -234,7 +235,7 @@ header #banner #logo-text {
background-color: #aec0d3;
color: #565854;
-moz-border-radius: $radiuspx;
- border-radius: $radiuspx;;
+ border-radius: $radiuspx;
}
nav .nav-link {
@@ -327,11 +328,8 @@ footer {
margin-bottom: 15px;
}
-#group-sidebar {
- margin-bottom: 10px;
-}
-
-.group-selected, .nets-selected, .fileas-selected, .categories-selected, .search-selected, .active {
+/*TODO: we should use one class for all this. */
+.group-selected, .fileas-selected, .categories-selected, .search-selected, .active {
color: #444444 !important;
}
@@ -585,15 +583,6 @@ footer {
.thread-end-wrapper {
margin-left: 50px;
}
-
-#profile-listing-desc {
- margin-left: 30px;
-}
-
-#profile-listing-new-link-wrapper {
- margin-left: 30px;
- margin-bottom: 30px;
-}
.profile-listing-photo-wrapper {
float: left;
}
@@ -671,36 +660,6 @@ footer {
box-shadow: $shadowpx $shadowpx $shadowpx 0 #444444;
}
-
-#datebrowse-sidebar select {
- margin-left: 25px;
- border-radius: $radiuspx;
- -moz-border-radius: $radiuspx;
- opacity: 0.3;
- filter:alpha(opacity=30);
-}
-
-#datebrowse-sidebar select:hover {
- opacity: 1.0;
- filter:alpha(opacity=100);
-}
-
-#posted-date-selector {
- margin-left: 30px !important;
- margin-top: 5px !important;
- margin-right: 0px !important;
- margin-bottom: 0px !important;
-}
-
-#posted-date-selector:hover {
- box-shadow: 4px 4px 3px 0 #444444;
- margin-left: 25px !important;
- margin-top: 0px !important;
- margin-right: 5px !important;
- margin-bottom: 5px !important;
-
-}
-
#side-bar-photos-albums {
margin-top: 15px;
}
@@ -709,7 +668,7 @@ footer {
list-style: none;
}
-.contact-entry-photo img, .profile-match-photo img, #photo-photo img, .directory-photo-img, .photo-album-photo, .photo-top-photo {
+.profile-match-photo img, #photo-photo img, .directory-photo-img, .photo-album-photo, .photo-top-photo {
border-radius: $radiuspx;
-moz-border-radius: $radiuspx;
box-shadow: $shadowpx $shadowpx $shadowpx 0 #444444;
@@ -767,75 +726,15 @@ footer {
#netsearch-box { margin-bottom: 5px; }
-#sidebar-group-list ul {
- list-style-type: none;
-}
-
-#sidebar-group-list .icon, #sidebar-group-list .iconspacer {
- display: inline-block;
- height: 12px;
- width: 12px;
-}
-
-#sidebar-group-list li,
-.saved-search-li {
- margin-top: 3px;
-}
-
-
-.nets-ul, .fileas-ul, .categories-ul {
- list-style-type: none;
-}
-
-.nets-ul li, .fileas-ul li, .categories-ul li {
- margin-top: 10px;
-}
-
-.nets-link {
- margin-left: 24px;
-}
-.nets-all {
- margin-left: 42px;
-}
-
-.fileas-link, .categories-link {
- margin-left: 24px;
-}
-
-.fileas-all, .categories-all {
- margin-left: 0px;
-}
-
#search-save {
margin-left: 5px;
}
-.groupsideedit {
- margin-right: 10px;
-}
-
-#saved-search-ul {
- list-style-type: none;
-}
-
-.saved-search-li i {
- opacity: 0;
-}
-
-.saved-search-li:hover i {
- opacity: 1;
-}
-
-
-
-.savedsearchterm {
- margin-left: 10px;
-}
-
#side-follow-wrapper {
margin-top: 20px;
}
-#side-follow-url, #side-peoplefind-url {
+
+#side-peoplefind-url {
margin-top: 5px;
}
@@ -851,7 +750,7 @@ footer {
font-family: FontAwesome;
}
-#side-follow-submit, #side-peoplefind-submit {
+#side-peoplefind-submit {
margin-top: 15px;
}
@@ -860,7 +759,7 @@ footer {
}
-.widget, .pmenu {
+.pmenu {
border-bottom: 1px solid #eec;
padding: 8px;
margin-top: 5px;
@@ -1679,12 +1578,6 @@ div.jGrowl div.info {
text-overflow: ellipsis;
}
-#datebrowse-sidebar select {
- margin-left: 25px;
-}
-
-
-
.jslider .jslider-scale ins {
color: #333;
font-size: $body_font_size;
@@ -1692,21 +1585,6 @@ div.jGrowl div.info {
text-align: center;
}
-
-.slider {
- margin-top: 10px;
- margin-bottom: 45px;
-}
-
-
-#main-slider {
- position: relative;
- left: 5px;
- width: 90%;
-
-}
-
-
#contact-slider {
position: relative;
left: 5%;
@@ -2099,13 +1977,6 @@ ul.menu-popup {
.reshared-content { margin-left: 30px; }
.shared_header img { margin-right: 10px; }
-/* might be obsolete
-span.mail-delete {
-float: left;
-width: 30px;
-}
-*/
-
.tag1 {
font-size : 1.0em !important;
}
@@ -2208,12 +2079,12 @@ margin-right: 50px;
}
a .drop-icons {
- color: #777;
+ color: $toolicon_colour;;
font-size: 1.2em;
text-decoration: none;
}
-.drop-icons:hover {
+a .drop-icons:hover {
color: #FF0000;
}
@@ -2243,6 +2114,10 @@ a .drop-icons {
margin-right: 10px;
}
+.design-tools ul {
+ list-style-type: none;
+}
+
.design-icons {
margin-right: 10px;
}
@@ -2255,11 +2130,6 @@ text-decoration: none;
list-style-type: none;
}
-.group-edit-icon,
-.savedsearchdrop {
- opacity: 0;
-}
-
.admin-icons {
color: $toolicon_colour;
margin-right: 10px;
@@ -2391,12 +2261,10 @@ img.mail-list-sender-photo {
border-left: 2px solid #eee;
}
-.thread-wrapper .toplevel_item {
+.thread-wrapper.toplevel_item {
max-width: $converse_width;
}
-/* conv_item */
-
.wall-item-content-wrapper {
border-radius: $radiuspx;
background-color: $item_colour;
@@ -2492,16 +2360,10 @@ img.mail-list-sender-photo {
color: $toolicon_activecolour;
}
-.drop-icons.item-tool {
- color: $toolicon_colour;
-}
-
.like-rotator {
color: $toolicon_colour;
}
-/* comment_item */
-
.my-comment-photo {
border-radius: $radiuspx;
-moz-border-radius: $radiuspx;
@@ -2538,14 +2400,53 @@ img.mail-list-sender-photo {
.comment-edit-text-full {
color: black;
}
-.suggest-widget-more { margin-top: 10px; }
+/* widgets */
+
+.widget {
+ border-bottom: 1px solid #eec;
+ -moz-border-radius: $radiuspx;
+ -webkit-border-radius: $radiuspx;
+ border-radius: $radiuspx;
+}
#note-text {
- width: 190px;
- max-width: 190px;
- height: 150px;
+ border: 1px solid #ccc;
+ border-radius: $radiuspx;
+ -moz-border-radius: $radiuspx;
}
-#note-save { margin-top: 10px; }
+#saved-search-ul {
+ list-style-type: none;
+}
+
+.fileas-ul {
+ list-style-type: none;
+}
+#datebrowse-sidebar select {
+ border: 1px solid #ccc;
+ border-radius: $radiuspx;
+ -moz-border-radius: $radiuspx;
+}
+
+.categories-ul {
+ list-style-type: none;
+}
+
+#sidebar-group-list ul {
+ list-style-type: none;
+}
+
+.profile-thing-list img, .thing-show img, .thing-edit-links a {
+ margin-top: 8px;
+ margin-right: 15px;
+}
+
+.abook-self {
+ background-color: #ffdddd;
+}
+.online-now {
+ color: red;
+ cursor: pointer;
+} \ No newline at end of file
diff --git a/view/theme/redbasic/js/redbasic.js b/view/theme/redbasic/js/redbasic.js
index e89c51119..e41fde2b8 100644
--- a/view/theme/redbasic/js/redbasic.js
+++ b/view/theme/redbasic/js/redbasic.js
@@ -47,16 +47,6 @@ $('.savedsearchdrop').hover(
$(this).css('opacity','0');}
);
-$('.savedsearchterm').hover(
- function() {
- id = $(this).attr('id');
- $('#dropicon-' + id).css('opacity','1.0');},
-
- function() {
- id = $(this).attr('id');
- $('#dropicon-' + id).css('opacity','0');
- });
-
});
@@ -72,4 +62,4 @@ $(document).ready(function(){
}
};
setInterval(function () {checkNotify();}, 10 * 1000);
-}); \ No newline at end of file
+});
diff --git a/view/tpl/abook_edit.tpl b/view/tpl/abook_edit.tpl
index 30abcc6b3..590213fd3 100755
--- a/view/tpl/abook_edit.tpl
+++ b/view/tpl/abook_edit.tpl
@@ -16,6 +16,10 @@
<div id="contact-edit-wrapper">
+{{if $last_update}}
+{{$lastupdtext}} {{$last_update}}
+{{/if}}
+
{{if $notself}}
{{if $slide}}
<h3>{{$lbl_slider}}</h3>
@@ -30,7 +34,7 @@
<h3>{{$permlbl}}</h3>
<div id="perm-desc" class="descriptive-text">{{$permnote}}</div>
-<form id="abook-edit-form" action="connections/{{$contact_id}}" method="post" >
+<form id="abook-edit-form" action="connedit/{{$contact_id}}" method="post" >
<input type="hidden" name="contact_id" value="{{$contact_id}}">
<input id="contact-closeness-mirror" type="hidden" name="closeness" value="{{$close}}" />
diff --git a/view/tpl/admin_hubloc.tpl b/view/tpl/admin_hubloc.tpl
index a9f250652..ea840e1b3 100755
--- a/view/tpl/admin_hubloc.tpl
+++ b/view/tpl/admin_hubloc.tpl
@@ -1,9 +1,6 @@
<div class="generic-content-wrapper" id='adminpage'>
<h1>{{$title}} - {{$page}}</h1>
- <form action="{{$baseurl}}/admin/hubloc" method="post">
- <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
<table id='server'>
<thead>
<tr>
@@ -14,6 +11,13 @@
{{foreach $hubloc as $hub}}<tr>
<td>{{$hub.hubloc_id}}</td><td>{{$hub.hubloc_addr}}</td><td>{{$hub.hubloc_host}}</td><td>{{$hub.hubloc_status}}</td>
+ <td>
+ <form action="{{$baseurl}}/admin/hubloc" method="post">
+ <input type="hidden" name="hublocid" value="{{$hub.hubloc_id}}">
+ <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
+ <input type="submit" name="check" value="check" >
+ <input type="submit" name="repair" value="repair" ></td>
+ </form>
</tr>{{/foreach}}
</tbody>
</table>
diff --git a/view/tpl/admin_site.tpl b/view/tpl/admin_site.tpl
index b0f9d4a74..9b90fb4b0 100755
--- a/view/tpl/admin_site.tpl
+++ b/view/tpl/admin_site.tpl
@@ -42,6 +42,7 @@
{{include file="field_input.tpl" field=$sitename}}
{{include file="field_textarea.tpl" field=$banner}}
+ {{include file="field_textarea.tpl" field=$admininfo}}
{{include file="field_select.tpl" field=$language}}
{{include file="field_select.tpl" field=$theme}}
{{include file="field_select.tpl" field=$theme_mobile}}
diff --git a/view/tpl/admin_users.tpl b/view/tpl/admin_users.tpl
index 3549dc5c2..65fffd17c 100755
--- a/view/tpl/admin_users.tpl
+++ b/view/tpl/admin_users.tpl
@@ -29,9 +29,8 @@
<tbody>
{{foreach $pending as $u}}
<tr>
- <td class="created">{{$u.created}}</td>
- <td class="name">{{$u.name}}</td>
- <td class="email">{{$u.email}}</td>
+ <td class="created">{{$u.account_created}}</td>
+ <td class="email">{{$u.account_email}}</td>
<td class="checkbox"><input type="checkbox" class="pending_ckbx" id="id_pending_{{$u.hash}}" name="pending[]" value="{{$u.hash}}" /></td>
<td class="tools">
<a href="{{$baseurl}}/regmod/allow/{{$u.hash}}" title='{{$approve}}'><i class='icon-thumbs-up-alt admin-icons'></i></a>
diff --git a/view/tpl/attach_edit.tpl b/view/tpl/attach_edit.tpl
new file mode 100644
index 000000000..77f32b5bc
--- /dev/null
+++ b/view/tpl/attach_edit.tpl
@@ -0,0 +1,39 @@
+
+<h1>{{$header}}</h1>
+
+<h2>{{$file.filename}}</h2>
+
+
+<div id="attach-edit-backlink"><a href="filestorage/{{$channelnick}}">{{$backlink}}</a></div>
+
+
+<form action="filestorage/{{$channelnick}}/{{$file.id}}/edit" method="post" >
+
+<input type="hidden" name="channelnick" value="{{$channelnick}}" />
+<input type="hidden" name="filehash" value="{{$file.hash}}" />
+<input type="hidden" name="uid" value="{{$uid}}" />
+<input type="hidden" name="fileid" value="{{$file.id}}" />
+
+
+{{if $isadir}}
+<div id="attach-edit-recurse" >
+ <label id="attach-edit-recurse-text" for="attach-recurse-input" >{{$recurse}}</label>
+ <input id="attach-recurse-input" type="checkbox" name="recurse" value="1" />
+</div>
+{{else}}
+<div class="cut-paste-desc">{{$cpdesc}}</div>
+<input type="text" id="cutpasteinput" name="cutpastelink" value="[attachment]{{$file.hash}},{{$file.revision}}[/attachment]" onclick="this.select();" /><br />
+{{/if}}
+
+<div class="cut-paste-desc">{{$cpldesc}}</div>
+<input type="text" id="linkpasteinput" name="cutpasteextlink" value="{{$cloudpath}}" onclick="this.select();"/><br />
+
+<div id="attach-edit-perms" >
+{{$aclselect}}
+</div>
+
+<div class="clear"></div>
+<input id="attach-edit-submit" type="submit" name="submit" value="{{$submit}}" />
+</form>
+
+
diff --git a/view/tpl/build_query.tpl b/view/tpl/build_query.tpl
index 53a8c0f6b..98a1c7846 100755
--- a/view/tpl/build_query.tpl
+++ b/view/tpl/build_query.tpl
@@ -15,6 +15,7 @@
var bParam_new = {{$nouveau}};
var bParam_page = {{$page}};
var bParam_wall = {{$wall}};
+ var bParam_list = {{$list}};
var bParam_search = "{{$search}}";
var bParam_order = "{{$order}}";
@@ -38,6 +39,7 @@
if(bParam_spam != 0) bCmd = bCmd + "&spam=" + bParam_spam;
if(bParam_new != 0) bCmd = bCmd + "&new=" + bParam_new;
if(bParam_wall != 0) bCmd = bCmd + "&wall=" + bParam_wall;
+ if(bParam_list != 0) bCmd = bCmd + "&list=" + bParam_list;
if(bParam_search != "") bCmd = bCmd + "&search=" + bParam_search;
if(bParam_order != "") bCmd = bCmd + "&order=" + bParam_order;
if(bParam_file != "") bCmd = bCmd + "&file=" + bParam_file;
diff --git a/view/tpl/chatroomlist.tpl b/view/tpl/chatroomlist.tpl
new file mode 100644
index 000000000..d2cf4d7b0
--- /dev/null
+++ b/view/tpl/chatroomlist.tpl
@@ -0,0 +1,11 @@
+<div class="widget">
+<h3>{{$header}}</h3>
+{{if $items}}
+<table>
+{{foreach $items as $item}}
+<tr><td>{{$item.cr_name}}</td><td>{{$item.cr_inroom}}</td></tr>
+{{/foreach}}
+</table>
+{{/if}}
+</div>
+
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index fb36f5dca..50a243ff4 100755
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -39,7 +39,7 @@
<div class="wall-item-author">
<a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}} {{$item.via}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}}<br />
- <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}">{{if $item.verified}}<i class="icon-ok" title="{{$item.verified}}"></i>&nbsp;{{/if}}<span class="autotime" title="{{$item.isotime}}">{{$item.localtime}}{{if $item.editedtime}} {{$item.editedtime}}{{/if}}</span>{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}</div>
+ <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}">{{if $item.verified}}<i class="icon-ok" title="{{$item.verified}}"></i>&nbsp;{{/if}}<span class="autotime" title="{{$item.isotime}}">{{$item.localtime}}{{if $item.editedtime}} {{$item.editedtime}}{{/if}}{{if $item.expiretime}} {{$item.expiretime}}{{/if}}</span>{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}</div>
</div>
<div class="wall-item-content" id="wall-item-content-{{$item.id}}" >
<div class="wall-item-title" id="wall-item-title-{{$item.id}}">{{$item.title}}</div>
@@ -72,10 +72,10 @@
<i class="icon-retweet item-tool" title="{{$item.share.0}}" onclick="jotShare({{$item.id}}); return false"></i>
{{/if}}
{{if $item.plink}}
- <i class="icon-external-link item-tool" onclick="window.location.href='{{$item.plink.href}}'; return false;" title="{{$item.plink.title}}"></i>
+ <a href="{{$item.plink.href}}" title="{{$item.plink.title}}" ><i class="icon-external-link item-tool"></i></a>
{{/if}}
{{if $item.edpost}}
- <i class="editpost icon-pencil item-tool" onclick="window.location.href='{{$item.edpost.0}}'; return false;" title="{{$item.edpost.1}}"></i>
+ <a href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"><i class="editpost icon-pencil item-tool"></i></a>
{{/if}}
{{if $item.star}}
<i id="starred-{{$item.id}}" onclick="dostar({{$item.id}}); return false;" class="star-item item-tool {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></i>
diff --git a/view/tpl/design_tools.tpl b/view/tpl/design_tools.tpl
index eb082dc37..80a538231 100644
--- a/view/tpl/design_tools.tpl
+++ b/view/tpl/design_tools.tpl
@@ -1,7 +1,9 @@
<div id="design-tools" class="widget design-tools">
<h3>{{$title}}</h3>
+<ul>
<li><a href="blocks/{{$who}}">{{$blocks}}</a></li>
<li><a href="menu">{{$menus}}</a></li>
<li><a href="layouts/{{$who}}">{{$layout}}</a></li>
<li><a href="webpages/{{$who}}">{{$pages}}</a></li>
+</ul>
</div>
diff --git a/view/tpl/direntry.tpl b/view/tpl/direntry.tpl
index 35bbbe0fd..e40504c8f 100755
--- a/view/tpl/direntry.tpl
+++ b/view/tpl/direntry.tpl
@@ -7,7 +7,7 @@
</div>
</div>
-<div class="contact-name" id="directory-name-{{$entry.id}}">{{$entry.name}}</div>
+<div class="contact-name" id="directory-name-{{$entry.id}}" ><span onclick="dirdetails('{{$entry.hash}}');" class="fakelink" >{{$entry.name}}</span></div>
{{if $entry.connect}}
<div class="directory-connect"><a href="{{$entry.connect}}">{{$entry.conn_label}}</a></div>
{{/if}}
diff --git a/view/tpl/direntry_large.tpl b/view/tpl/direntry_large.tpl
new file mode 100755
index 000000000..f00448175
--- /dev/null
+++ b/view/tpl/direntry_large.tpl
@@ -0,0 +1,43 @@
+<div class="directory-popup-item lframe" id="directory-item-{{$id}}" >
+<div class="generic-content-wrapper">
+
+<div class="contact-photo-wrapper" id="directory-photo-wrapper-{{$id}}" >
+ <div class="contact-photo dirpopup" id="directory-photo-{{$id}}" >
+ <a href="{{$profile_link}}" class="directory-profile-link" id="directory-profile-link-{{$id}}" ><img class="directory-photo-img" style="height:175px; width:175px;" src="{{$photo}}" alt="{{$alttext}}" title="{{$alttext}}" /></a>
+ </div>
+ <div class="contact-photo dirpopup" id="directory-qr-{{$id}}" >
+ <img class="directory-photo-img" style="height:175px; width:175px;" src="photo/qr?f=&qr={{$qrlink}}" alt="QR" title="{{$qrlink}}" />
+ </div>
+</div>
+
+<div class="clear"></div>
+
+
+<div class="contact-name" id="directory-name-{{$id}}" >{{$name}}{{if $online}} <i class="icon-asterisk online-now" title="{{$online}}"></i>{{/if}}</div>
+{{if $connect}}
+<div class="directory-connect"><a href="{{$connect}}">{{$conn_label}}</a></div>
+{{/if}}
+
+<div class="contact-webbie">{{$address}}</div>
+
+<div class="contact-details">{{$details}}</div>
+{{if $marital}}
+<div class="directory-marital">{{$marital}} </div>
+{{/if}}
+{{if $sexual}}
+<div class="directory-sexual">{{$sexual}} </div>
+{{/if}}
+{{if $homepage}}
+<div class="directory-homepage">{{$homepage}} </div>
+{{/if}}
+{{if $hometown}}
+<div class="directory-hometown">{{$hometown}} </div>
+{{/if}}
+{{if $about}}
+<div class="directory-about">{{$about}} </div>
+{{/if}}
+{{if $kw}}
+<div class="directory-keywords">{{$kw}} {{$keywords}}</div>
+{{/if}}
+</div>
+</div>
diff --git a/view/tpl/field_combobox.tpl b/view/tpl/field_combobox.tpl
index c4356e1cd..1f9218954 100755
--- a/view/tpl/field_combobox.tpl
+++ b/view/tpl/field_combobox.tpl
@@ -1,6 +1,6 @@
<div class='field combobox'>
<label for='id_{{$field.0}}' id='id_{{$field.0}}_label'>{{$field.1}}</label>
- {{* html5 don't work on Chrome, Safari and IE9
+ {{* html5 don't work on Chrome, Safari and IE9 see https://github.com/thgreasi/datalist-polyfill
<input id="id_{{$field.0}}" type="text" list="data_{{$field.0}}" >
<datalist id="data_{{$field.0}}" >
{{foreach $field.4 as $opt=>$val}}<option value="{{$val}}">{{/foreach}}
diff --git a/view/tpl/filestorage.tpl b/view/tpl/filestorage.tpl
index 995b52cc8..7b88c6440 100644
--- a/view/tpl/filestorage.tpl
+++ b/view/tpl/filestorage.tpl
@@ -7,10 +7,10 @@
{{foreach $files as $key => $items}}
{{foreach $items as $item}}
<div class="files-list-item">
- <a href="attach/{{$item.download}}">{{$download}}</a> |
- <a href="{{$baseurl}}/{{$item.id}}/delete">{{$delete}}
- <a href="page/{{$channel}}/{{$item.title}}">{{$title}}</a> {{$item.title}} |
- {{$item.size}} bytes
+ <a href="{{$baseurl}}/{{$item.id}}/edit">{{$edit}}</a>&nbsp;&nbsp;&nbsp;|
+ <a href="{{$baseurl}}/{{$item.id}}/delete">{{$delete}}</a> |&nbsp;&nbsp;&nbsp;
+ {{if ! $item.dir}}<a href="attach/{{$item.download}}">{{/if}}{{$item.title}}{{if ! $item.dir}}</a>{{/if}}
+ {{if ! $item.dir}} | {{$item.size}} bytes{{else}}{{$directory}}{{/if}}
</div>
{{/foreach}}
diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl
index 1ceca04c6..878e1e7da 100755
--- a/view/tpl/jot-header.tpl
+++ b/view/tpl/jot-header.tpl
@@ -103,7 +103,7 @@ function enableOnUser(){
}
</script>
-<script type="text/javascript" src="{{$baseurl}}/js/ajaxupload.js" ></script>
+<script type="text/javascript" src="{{$baseurl}}/view/js/ajaxupload.js" ></script>
<script>
var ispublic = '{{$ispublic}}';
@@ -194,10 +194,17 @@ function enableOnUser(){
}
function jotGetExpiry() {
- reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
- if(reply && reply.length) {
+ //reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
+ $('#expiryModal').modal();
+ $('#expiry-modal-OKButton').on('click', function() {
+ reply=$('#expiration-date').val();
+ if(reply && reply.length) {
$('#jot-expire').val(reply);
+ $('#expiryModal').modal('hide');
}
+})
+
+
}
function jotShare(id) {
@@ -299,3 +306,20 @@ function enableOnUser(){
</script>
+<script>
+$( document ).on( "click", ".wall-item-delete-link,.page-delete-link,.layout-delete-link,.block-delete-link", function(e) {
+ var link = $(this).attr("href"); // "get" the intended link in a var
+
+ if (typeof(eval($.fn.modal)) === 'function'){
+ e.preventDefault();
+ bootbox.confirm("<h4>{{$confirmdelete}}</h4>",function(result) {
+ if (result) {
+ document.location.href = link;}
+ });}
+ else {
+ return confirm("{{$confirmdelete}}");
+ }
+ });
+</script>
+
+
diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl
index 666fae9cd..e1e1e3080 100755
--- a/view/tpl/jot.tpl
+++ b/view/tpl/jot.tpl
@@ -12,7 +12,6 @@
<input type="hidden" name="post_id" value="{{$post_id}}" />
<input type="hidden" name="webpage" value="{{$webpage}}" />
<input type="hidden" name="preview" id="jot-preview" value="0" />
-
{{$mimeselect}}
{{$layoutselect}}
@@ -71,7 +70,7 @@
</div>
{{/if}}
- {{if $preview}}<span onclick="preview_post();" id="jot-preview-link" class="fakelink"><i class="icon-eye-open jot-icons" title="{{$preview}}"></i></span>{{/if}}
+ {{if $preview}}<span onclick="preview_post();" id="jot-preview-link"><i class="icon-eye-open jot-icons" title="{{$preview}}"></i></span>{{/if}}
<div id="profile-jot-perms-end"></div>
@@ -90,9 +89,49 @@
{{$jotnets}}
</div>
</div>
+<!-- Modal for item expiry-->
+<div class="modal fade" id="expiryModal" tabindex="-1" role="dialog" aria-labelledby="expiryModalLabel" aria-hidden="true">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+ <h4 class="modal-title" id="expiryModalLabel">{{$expires}}</h4>
+ </div>
+ <!-- <div class="modal-body"> -->
+ <div class="modal-body form-group" style="width:90%">
+ <div class="input-group input-group-sm date" id="datetimepicker1">
+ <span class="input-group-addon"><!-- <span class="glyphicon glyphicon-calendar"></span> -->
+ <span class="icon-calendar"></span>
+ </span>
+ <input id="expiration-date" type='text' class="form-control" data-format="YYYY-MM-DD HH:mm" size="20"/>
+ </div>
+ </div>
+ <!-- </div> -->
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default" data-dismiss="modal">{{$expiryModalCANCEL}}</button>
+ <button id="expiry-modal-OKButton" type="button" class="btn btn-primary">{{$expiryModalOK}}</button>
+ </div>
+ </div><!-- /.modal-content -->
+ </div><!-- /.modal-dialog -->
+</div><!-- /.modal -->
+<script type="text/javascript">
+ $(function() {
+ $('#datetimepicker1').datetimepicker({
+ language: 'us',
+ icons: {
+ time: "icon-time",
+ date: "icon-calendar",
+ up: "icon-arrow-up",
+ down: "icon-arrow-down"
+ }
+ });
+ });
+</script>
+</div>
+
+
-</div>
<div id="profile-jot-end"></div>
</form>
diff --git a/view/tpl/list_things.tpl b/view/tpl/list_things.tpl
new file mode 100644
index 000000000..fb8935d82
--- /dev/null
+++ b/view/tpl/list_things.tpl
@@ -0,0 +1,13 @@
+{{if $things}}
+{{foreach $things as $key => $items}}
+<b>{{$items.profile}} {{$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}}
+<a href="{{$item.url}}" >{{$item.term}}</a>
+</li>
+{{/foreach}}
+</ul>
+<div class="clear"></div>
+{{/foreach}}
+{{/if}}
diff --git a/view/tpl/mail_conv.tpl b/view/tpl/mail_conv.tpl
index 84bdb451a..f794ffc78 100755
--- a/view/tpl/mail_conv.tpl
+++ b/view/tpl/mail_conv.tpl
@@ -8,9 +8,9 @@
<div class="mail-conv-date">{{$mail.date}}</div>
<div class="mail-conv-subject">{{$mail.subject}}</div>
<div class="mail-conv-body">{{$mail.body}}</div>
- <div class="mail-conv-delete-wrapper" id="mail-conv-delete-wrapper-{{$mail.id}}" ><a href="message/drop/{{$mail.id}}" onclick="return confirmDelete();" title="{{$mail.delete}}" id="mail-conv-delete-icon-{{$mail.id}}" class="mail-conv-delete-icon" ><i class="icon-remove mail-icons drop-icons"></i></a></div><div class="mail-conv-delete-end"></div>
+ <div class="mail-conv-delete-wrapper" id="mail-conv-delete-wrapper-{{$mail.id}}" ><a href="mail/drop/{{$mail.id}}" onclick="return confirmDelete();" title="{{$mail.delete}}" id="mail-conv-delete-icon-{{$mail.id}}" class="mail-conv-delete-icon" ><i class="icon-remove mail-icons drop-icons"></i></a></div><div class="mail-conv-delete-end"></div>
{{if $mail.can_recall}}
- <div class="mail-conv-recall-wrapper" id="mail-conv-recall-wrapper-{{$mail.id}}" ><a href="message/recall/{{$mail.id}}" title="{{$mail.recall}}" id="mail-conv-recall-icon-{{$mail.id}}" class="mail-conv-recall-icon" ><i class="icon-undo mail-icons drop-icons"></i></a></div><div class="mail-conv-recall-end"></div>
+ <div class="mail-conv-recall-wrapper" id="mail-conv-recall-wrapper-{{$mail.id}}" ><a href="mail/recall/{{$mail.id}}" title="{{$mail.recall}}" id="mail-conv-recall-icon-{{$mail.id}}" class="mail-conv-recall-icon" ><i class="icon-undo mail-icons drop-icons"></i></a></div><div class="mail-conv-recall-end"></div>
{{/if}}
<div class="mail-conv-outside-wrapper-end"></div>
</div>
diff --git a/view/tpl/mail_list.tpl b/view/tpl/mail_list.tpl
index c96827996..e17a206a0 100755
--- a/view/tpl/mail_list.tpl
+++ b/view/tpl/mail_list.tpl
@@ -1,7 +1,7 @@
<div class="generic-content-wrapper" id="mail-list-wrapper">
<a href="{{$from_url}}" class ="mail-list" ><img class="mail-list-sender-photo" src="{{$from_photo}}" alt="{{$from_name}}" /></a>
<span class="mail-list">{{$from_name}}</span>
- <span class="mail-list {{if $seen}}seen{{else}}unseen{{/if}}"><a href="message/{{$id}}" class="mail-link">{{$subject}}</a></span>
+ <span class="mail-list {{if $seen}}seen{{else}}unseen{{/if}}"><a href="mail/{{$id}}" class="mail-link">{{$subject}}</a></span>
<span class="mail-list" title="{{$date}}">{{$date}}</span>
<span class="mail-list mail-list-remove"><a href="message/dropconv/{{$id}}" onclick="return confirmDelete();" title="{{$delete}}" ><i class="icon-remove mail-icons drop-icons"></i></a></span>
<div class="clear">&nbsp;</div>
diff --git a/view/tpl/msg-header.tpl b/view/tpl/msg-header.tpl
index 79f9e23c1..b6cff7c74 100755
--- a/view/tpl/msg-header.tpl
+++ b/view/tpl/msg-header.tpl
@@ -45,7 +45,7 @@ else
</script>
-<script type="text/javascript" src="js/ajaxupload.js" ></script>
+<script type="text/javascript" src="view/js/ajaxupload.js" ></script>
<script>
$(document).ready(function() {
var uploader = new window.AjaxUpload(
diff --git a/view/tpl/notes.tpl b/view/tpl/notes.tpl
index 7300779f4..09932e545 100644
--- a/view/tpl/notes.tpl
+++ b/view/tpl/notes.tpl
@@ -1,13 +1,10 @@
<div class="widget">
<script>
-function notePost() {
- $('#note-rotator').spin('tiny');
- $.post('notes', { 'note_text' : $('#note-text').val() },function(data) { $('#note-rotator').spin(false); });
-}
+$("#note-text").live('input paste',function(e){
+ $.post('notes', { 'note_text' : $('#note-text').val() });
+});
</script>
<h3>{{$banner}}</h3>
<textarea name="note_text" id="note-text">{{$text}}</textarea>
-<input type="submit" name="submit" id="note-save" value="{{$save}}" onclick="notePost(); return true;">
-<div id="note-rotator"></div>
</div>
diff --git a/view/tpl/oembed_video.tpl b/view/tpl/oembed_video.tpl
index 4ad75a82e..b0cfed2e5 100755
--- a/view/tpl/oembed_video.tpl
+++ b/view/tpl/oembed_video.tpl
@@ -1,4 +1,4 @@
-<a href='{{$embedurl}}' onclick='this.innerHTML=Base64.decode("{{$escapedhtml}}"); return false;' style='float:left; margin: 1em; position: relative;'>
- <img width='{{$tw}}' height='{{$th}}' src='{{$turl}}' >
- <div style='position: absolute; top: 0px; left: 0px; width: {{$twpx}}; height: {{$thpx}}; background: url({{$baseurl}}/images/icons/48/play.png) no-repeat center center;'></div>
+<a href="{{$embedurl}}" onclick="this.innerHTML=Base64.decode('{{$escapedhtml}}'); return false;" style="float:left; margin: 1em; position: relative;">
+ <img width="{{$tw}}" height="{{$th}}" src="{{$turl}}" />
+ <div style="position: absolute; top: 0px; left: 0px; width: {{$twpx}}; height: {{$thpx}}; background: url({{$baseurl}}/images/icons/48/play.png) no-repeat center center;"></div>
</a>
diff --git a/view/tpl/page_display.tpl b/view/tpl/page_display.tpl
index d8175bdd2..9b6b182c8 100755
--- a/view/tpl/page_display.tpl
+++ b/view/tpl/page_display.tpl
@@ -2,7 +2,7 @@
<div class="generic-content-wrapper" id="page-content-wrapper" >
<h3 class="page-title">{{$title}}</h3>
- <div class="page-author"><a class=="page-author-link" href="{{$auth_url}}">{{$author}}</a></div>
+ <div class="page-author"><a class=="page-author-link" href="{{$auth_url}}{{if $zid}}?zid={{$zid}}{{/if}}">{{$author}}</a></div>
<div class="page-date">{{$date}}</div>
<div class="page-body">{{$body}}</div>
</div>
diff --git a/view/tpl/peoplefind.tpl b/view/tpl/peoplefind.tpl
index aef341d41..45b3d7d4b 100755
--- a/view/tpl/peoplefind.tpl
+++ b/view/tpl/peoplefind.tpl
@@ -7,8 +7,8 @@
</form>
<br />
{{if $similar}}<a href="match" >{{$similar}}</a><br />{{/if}}
- <a href="suggest" >{{$suggest}}</a><br />
+ {{if $loggedin}}<a href="suggest" >{{$suggest}}</a><br />{{/if}}
<a href="randprof" >{{$random}}</a><br />
- {{if $inv}}<a href="invite" >{{$inv}}</a>{{/if}}
+ {{if $loggedin}}{{if $inv}}<a href="invite" >{{$inv}}</a>{{/if}}{{/if}}
</div>
diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl
index c170d47a3..a63bff78c 100755
--- a/view/tpl/photo_album.tpl
+++ b/view/tpl/photo_album.tpl
@@ -1,4 +1,3 @@
-{{include file="prettyphoto.tpl"}}
<div class="photo-album-image-wrapper{{$twist}}" id="photo-album-image-wrapper-{{$id}}">
<a href="{{$photolink}}" class="photo-album-photo-link" id="photo-album-photo-link-{{$id}}" title="{{$phototitle}}" rel="{{$rel}}">
<img src="{{$imgsrc}}" alt="{{$imgalt}}" title="{{$phototitle}}" class="photo-album-photo lframe resize" id="photo-album-photo-{{$id}}" />
diff --git a/view/tpl/photo_view.tpl b/view/tpl/photo_view.tpl
index cdaae67e4..93e9abfa5 100755
--- a/view/tpl/photo_view.tpl
+++ b/view/tpl/photo_view.tpl
@@ -1,5 +1,3 @@
-{{include file="prettyphoto.tpl"}}
-
<div id="live-display"></div>
<h3><a href="{{$album.0}}">{{$album.1}}</a></h3>
@@ -11,7 +9,7 @@
</div>
{{if $prevlink}}<div id="photo-prev-link"><a href="{{$prevlink.0}}"><i class="icon-backward photo-icons"></i></div>{{/if}}
-<div id="photo-photo"><a href="{{$photo.href}}" title="{{$photo.title}}" rel="prettyPhoto"><img src="{{$photo.src}}" /></a></div>
+<div id="photo-photo"><a href="{{$photo.href}}" title="{{$photo.title}}" onclick="$.colorbox({href: '{{$photo.href}}'}); return false;" ><img src="{{$photo.src}}" /></a></div>
{{if $nextlink}}<div id="photo-next-link"><a href="{{$nextlink.0}}"><i class="icon-forward photo-icons"></i></a></div>{{/if}}
<div id="photo-photo-end"></div>
<div id="photo-caption">{{$desc}}</div>
@@ -26,7 +24,7 @@
<div id="photo-edit-edit" style="display: none;">
<form action="photos/{{$edit.nickname}}/{{$edit.resource_id}}" method="post" id="photo_edit_form" >
- <input type="hidden" name="item_id" value="{{$item_id}}" />
+ <input type="hidden" name="item_id" value="{{$edit.item_id}}" />
<label id="photo-edit-albumname-label" for="photo-edit-albumname">{{$edit.newalbum}}</label>
<input id="photo-edit-albumname" type="text" size="32" name="albname" value="{{$edit.album}}" />
diff --git a/view/tpl/prettyphoto.tpl b/view/tpl/prettyphoto.tpl
deleted file mode 100644
index 6d047e620..000000000
--- a/view/tpl/prettyphoto.tpl
+++ /dev/null
@@ -1,6 +0,0 @@
-<script type="text/javascript" charset="utf-8">
- $(document).ready(function(){
- $("a[rel^='prettyPhoto']").prettyPhoto();
- });
-</script>
-
diff --git a/view/tpl/profile_advanced.tpl b/view/tpl/profile_advanced.tpl
index 9f17a0ffa..f25608430 100755
--- a/view/tpl/profile_advanced.tpl
+++ b/view/tpl/profile_advanced.tpl
@@ -111,6 +111,13 @@
</dl>
{{/if}}
+{{if $profile.channels}}
+<dl id="aprofile-channels" class="aprofile">
+ <dt>{{$profile.channels.0}}</dt>
+ <dd>{{$profile.channels.1}}</dd>
+</dl>
+{{/if}}
+
{{if $profile.music}}
<dl id="aprofile-music" class="aprofile">
diff --git a/view/tpl/profile_edit.tpl b/view/tpl/profile_edit.tpl
index 183389b9b..196b3ac6d 100755
--- a/view/tpl/profile_edit.tpl
+++ b/view/tpl/profile_edit.tpl
@@ -108,8 +108,10 @@
<label id="profile-edit-marital-label" for="profile-edit-marital" >{{$lbl_marital}} </label>
{{$marital}}
</div>
+<div class="clear"></div>
<label id="profile-edit-with-label" for="profile-edit-with" > {{$lbl_with}} </label>
<input type="text" size="32" name="with" id="profile-edit-with" title="{{$lbl_ex1}}" value="{{$with}}" />
+<div class="clear"></div>
<label id="profile-edit-howlong-label" for="profile-edit-howlong" > {{$lbl_howlong}} </label>
<input type="text" size="32" name="howlong" id="profile-edit-howlong" title="{{$lbl_howlong}}" value="{{$howlong}}" />
diff --git a/view/tpl/profile_listing_header.tpl b/view/tpl/profile_listing_header.tpl
index b771a1ea2..856d689f1 100755
--- a/view/tpl/profile_listing_header.tpl
+++ b/view/tpl/profile_listing_header.tpl
@@ -2,7 +2,10 @@
<p id="profile-listing-desc" class="button" >
<a href="profile_photo" >{{$chg_photo}}</a>
</p>
-<div id="profile-listing-new-link-wrapper" class="button" >
+<p id="profile-stuff-link" class="button">
+<a href="thing" title="{{$stuff_desc}}">{{$addstuff}}</a>
+</p>
+<p id="profile-listing-new-link-wrapper" class="button" >
<a href="{{$cr_new_link}}" id="profile-listing-new-link" title="{{$cr_new}}" >{{$cr_new}}</a>
</div>
diff --git a/view/tpl/profile_vcard.tpl b/view/tpl/profile_vcard.tpl
index aaee02ab5..7a857fd67 100755
--- a/view/tpl/profile_vcard.tpl
+++ b/view/tpl/profile_vcard.tpl
@@ -16,7 +16,7 @@
</div>
{{/if}}
- <div class="fn label">{{$profile.name}}</div>
+ <div class="fn label">{{$profile.name}}{{if $profile.online}} <i class="icon-asterisk online-now" title="{{$profile.online}}"></i>{{/if}}</div>
{{if $pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
<div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.name}}"></div>
diff --git a/view/tpl/prv_message.tpl b/view/tpl/prv_message.tpl
index b7654dc2d..3330a338f 100755
--- a/view/tpl/prv_message.tpl
+++ b/view/tpl/prv_message.tpl
@@ -1,7 +1,7 @@
<h3>{{$header}}</h3>
<div id="prvmail-wrapper" >
-<form id="prvmail-form" action="message" method="post" >
+<form id="prvmail-form" action="mail" method="post" >
{{$parent}}
diff --git a/view/tpl/pwdreset.tpl b/view/tpl/pwdreset.tpl
index 3993dec64..a9106343f 100755
--- a/view/tpl/pwdreset.tpl
+++ b/view/tpl/pwdreset.tpl
@@ -6,9 +6,7 @@
<p>
{{$lbl3}}
</p>
-<p>
-{{$newpass}}
-</p>
+<p>{{$newpass}}</p>
<p>
{{$lbl4}} {{$lbl5}}
</p>
diff --git a/view/tpl/register.tpl b/view/tpl/register.tpl
index 48c1ba525..916a946d3 100755
--- a/view/tpl/register.tpl
+++ b/view/tpl/register.tpl
@@ -2,8 +2,14 @@
<form action="register" method="post" id="register-form">
-{{if $registertext}}
-<div id="register-desc" class="descriptive-paragraph">{{$registertext}}</div>
+
+
+{{if $reg_is}}
+<div id="register-desc" class="descriptive-paragraph">{{$reg_is}}</div>
+{{/if}}
+{{if $registertext}}<div id="register-text" class="descriptive-paragraph">{{$registertext}}</div>
+{{/if}}
+{{if $other_sites}}<div id="register-sites" class="descriptive-paragraph">{{$other_sites}}</div>
{{/if}}
{{if $invitations}}
diff --git a/view/tpl/saved_searches.tpl b/view/tpl/saved_searches.tpl
index bdff72ba1..d0f9e2b0e 100644
--- a/view/tpl/saved_searches.tpl
+++ b/view/tpl/saved_searches.tpl
@@ -5,7 +5,7 @@
<ul id="saved-search-ul">
{{foreach $saved as $search}}
<li id="search-term-{{$search.id}}" class="saved-search-li clear">
- <a title="{{$search.delete}}" onclick="return confirmDelete();" id="drop-saved-search-term-{{$search.id}}" href="{{$search.dellink}}"><i id="dropicon-saved-search-term-{{$search.id}}" class="icon-remove drop-icons iconspacer savedsearchdrop" ></i></a>
+ <a title="{{$search.delete}}" onclick="return confirmDelete();" id="drop-saved-search-term-{{$search.id}}" href="{{$search.dellink}}"><i id="dropicon-saved-search-term-{{$search.id}}" class="icon-remove drop-icons iconspacer" ></i></a>
<a id="saved-search-term-{{$search.id}}" class="savedsearchterm{{if $search.selected}} search-selected{{/if}}" href="{{$search.srchlink}}">{{$search.displayterm}}</a>
</li>
{{/foreach}}
diff --git a/view/tpl/search_item.tpl b/view/tpl/search_item.tpl
index 3018fc747..c5acfa4a4 100755
--- a/view/tpl/search_item.tpl
+++ b/view/tpl/search_item.tpl
@@ -29,13 +29,7 @@
<div class="wall-item-content" id="wall-item-content-{{$item.id}}" >
<div class="wall-item-title" id="wall-item-title-{{$item.id}}">{{$item.title}}</div>
<div class="wall-item-title-end"></div>
- <div class="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body}}
- <div class="body-tag">
- {{foreach $item.tags as $tag}}
- <span class='tag'>{{$tag}}</span>
- {{/foreach}}
- </div>
- </div>
+ <div class="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body}}</div>
</div>
<div class="wall-item-tools" id="wall-item-tools-{{$item.id}}">
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" >
diff --git a/view/tpl/settings.tpl b/view/tpl/settings.tpl
index 7b6add231..b1a4f956d 100755
--- a/view/tpl/settings.tpl
+++ b/view/tpl/settings.tpl
@@ -22,6 +22,9 @@
<h3 class="settings-heading">{{$h_prv}}</h3>
+{{include file="field_checkbox.tpl" field=$hide_presence}}
+
+
<div id="settings-privacy-macros">{{$lbl_pmacro}}</div>
<ul>
<li><a href="#" onclick="channel_privacy_macro(3); return false" id="settings_pmacro3">{{$pmacro3}}</a></li>
diff --git a/view/tpl/show_thing.tpl b/view/tpl/show_thing.tpl
new file mode 100644
index 000000000..2a8c06076
--- /dev/null
+++ b/view/tpl/show_thing.tpl
@@ -0,0 +1,16 @@
+<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>
+</div>
+{{if $canedit}}
+<div class="thing-edit-links">
+<a href="thing/edit/{{$thing.term_hash}}" title="{{$edit}}"><i class="icon-pencil thing-edit-icon"></i></a>
+<a href="thing/drop/{{$thing.term_hash}}" onclick="return confirmDelete();" title="{{$delete}}" ><i class="icon-remove drop-icons"></i></a>
+</div>
+<div class="thing-edit-links-end"></div>
+{{/if}}
+
+{{/if}}
+
diff --git a/view/tpl/siteinfo.tpl b/view/tpl/siteinfo.tpl
index f6647110c..4baa1969b 100755
--- a/view/tpl/siteinfo.tpl
+++ b/view/tpl/siteinfo.tpl
@@ -2,11 +2,13 @@
<p></p>
<p>{{$description}}</p>
{{if $version}}
-<p>{{$version}}</p>
+<p>{{$version}}{{if $commit}}+{{$commit}}{{/if}}</p>
{{/if}}
<p>{{$web_location}}</p>
<p>{{$visit}}</p>
<p>{{$bug_text}} <a href="{{$bug_link_url}}">{{$bug_link_text}}</a></p>
+<p>{{$adminlabel}}</p>
+<p>{{$admininfo}}</p>
<p>{{$contact}}</p>
<p>{{$plugins_text}}</p>
{{if $plugins_list}}
diff --git a/view/tpl/sources_edit.tpl b/view/tpl/sources_edit.tpl
index 6e9cee32b..34023e03f 100644
--- a/view/tpl/sources_edit.tpl
+++ b/view/tpl/sources_edit.tpl
@@ -4,7 +4,7 @@
<form action="sources" method="post">
<input type="hidden" name="source" value="{{$id}}" />
-<input type="hidden" id="id_xchan" name="xchan" value="{{$xchan}}" />
+<input type="hidden" id="id_abook" name="abook" value="{{$abook}}" />
{{include file="field_input.tpl" field=$name}}
{{include file="field_textarea.tpl" field=$words}}
diff --git a/view/tpl/sources_new.tpl b/view/tpl/sources_new.tpl
index 267245ae4..3c6a4be30 100644
--- a/view/tpl/sources_new.tpl
+++ b/view/tpl/sources_new.tpl
@@ -3,7 +3,7 @@
<div class="descriptive-text">{{$desc}}</div>
<form action="sources" method="post">
-<input type="hidden" id="id_xchan" name="xchan" value="{{$xchan}}" />
+<input type="hidden" id="id_abook" name="abook" value="{{$abook}}" />
{{include file="field_input.tpl" field=$name}}
{{include file="field_textarea.tpl" field=$words}}
diff --git a/view/tpl/thing_edit.tpl b/view/tpl/thing_edit.tpl
new file mode 100644
index 000000000..8379c15ae
--- /dev/null
+++ b/view/tpl/thing_edit.tpl
@@ -0,0 +1,29 @@
+<h2>{{$thing_hdr}}</h2>
+<form action="thing" method="post" >
+<input type="hidden" name="term_hash" value="{{$thing_hash}}" />
+
+{{if $multiprof }}
+<div class="thing-profile-label">{{$profile_lbl}}</div>
+
+<div class="thing-profile">{{$profile_select}}</div>
+{{/if}}
+
+<div class="thing-verb-label">{{$verb_lbl}}</div>
+
+<div class="thing-verb">{{$verb_select}}</div>
+
+
+<label class="thing-label" for="thing-term">{{$thing_lbl}}</label>
+<input type="text" class="thing-input" id="thing-term" name="term" value="{{$thething}}" />
+<div class="thing-field-end"></div>
+<label class="thing-label" for="thing-url">{{$url_lbl}}</label>
+<input type="text" class="thing-input" id="thing-url" name="url" value="{{$theurl}}" />
+<div class="thing-field-end"></div>
+<label class="thing-label" for="thing-img">{{$img_lbl}}</label>
+<input type="text" class="thing-input" id="thing-img" name="img" value="{{$imgurl}}" />
+<div class="thing-field-end"></div>
+
+<div class="thing-end"></div>
+
+<input type="submit" class="thing-submit" name="submit" value="{{$submit}}" />
+</form>
diff --git a/view/tpl/webpagelist.tpl b/view/tpl/webpagelist.tpl
index 437e93348..c19836a28 100644
--- a/view/tpl/webpagelist.tpl
+++ b/view/tpl/webpagelist.tpl
@@ -1,5 +1,3 @@
-{{include file="prettyphoto.tpl"}}
-
{{if $pages}}
<div id="pagelist-content-wrapper" class="generic-content-wrapper">
@@ -8,7 +6,7 @@
<div class="page-list-item">
{{if $edit}}<a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="icon-pencil design-icons design-edit-icon"></i></a> {{/if}}
{{if $view}}<a href="page/{{$channel}}/{{$item.title}}" title="{{$view}}"><i class="icon-external-link design-icons design-view-icon"></i></a> {{/if}}
- {{if $preview}}<a href="page/{{$channel}}/{{$item.title}}?iframe=true&width=80%&height=80%" rel="xprettyPhoto[iframesx]" title="{{$preview}}"><i class="icon-eye-open design-icons design-preview-icon"></i></a> {{/if}}
+ {{if $preview}}<a href="page/{{$channel}}/{{$item.title}}?iframe=true&width=80%&height=80%" title="{{$preview}}" class="webpage-preview" ><i class="icon-eye-open design-icons design-preview-icon"></i></a> {{/if}}
{{$item.title}}
</div>
{{/foreach}}